Page MenuHomePhabricator

mgrang (Mandeep Singh Grang)
http://livgently.com

Projects

User does not belong to any projects.

User Details

User Since
Jan 28 2015, 2:26 PM (215 w, 5 d)

Recent Activity

Thu, Mar 14

mgrang added a comment to D59279: [Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers.

I was trying to write another checker for hashing of pointers. Basically, I wanted to match all instances where the keys of std::map are pointers. Writing an AST matcher for std::map is straightforward. However, I am not sure how to check for pointer keys after matching std::map.

Thu, Mar 14, 12:37 PM · Restricted Project

Wed, Mar 13

mgrang updated the diff for D59279: [Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers.
Wed, Mar 13, 12:29 PM · Restricted Project
mgrang committed rG6952b82c6750: [Analyzer] Clean up test/Analysis/ptr-sort.cpp (authored by mgrang).
[Analyzer] Clean up test/Analysis/ptr-sort.cpp
Wed, Mar 13, 12:22 PM
mgrang committed rL356088: [Analyzer] Clean up test/Analysis/ptr-sort.cpp.
[Analyzer] Clean up test/Analysis/ptr-sort.cpp
Wed, Mar 13, 12:22 PM
mgrang committed rC356088: [Analyzer] Clean up test/Analysis/ptr-sort.cpp.
[Analyzer] Clean up test/Analysis/ptr-sort.cpp
Wed, Mar 13, 12:22 PM
mgrang committed rGcf7d9f909022: [Analyzer] Update the LLVM license in PointerSortingChecker.cpp (authored by mgrang).
[Analyzer] Update the LLVM license in PointerSortingChecker.cpp
Wed, Mar 13, 12:12 PM
mgrang added a comment to D59279: [Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers.

Could you please add a commit that changes the top of the file on your previous commit? Feel free to do that without review (I can't commit it myself atm).

Wed, Mar 13, 12:12 PM · Restricted Project
mgrang committed rL356086: [Analyzer] Update the LLVM license in PointerSortingChecker.cpp.
[Analyzer] Update the LLVM license in PointerSortingChecker.cpp
Wed, Mar 13, 12:09 PM
mgrang committed rC356086: [Analyzer] Update the LLVM license in PointerSortingChecker.cpp.
[Analyzer] Update the LLVM license in PointerSortingChecker.cpp
Wed, Mar 13, 12:08 PM
mgrang added a comment to D59279: [Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers.

Also, what is the difference between these two: https://clang.llvm.org/docs/analyzer/checkers.html, https://clang-analyzer.llvm.org/available_checks.html. It seems they document similar stuff. Should we add the doc for each new checker in both of these?

Wed, Mar 13, 11:05 AM · Restricted Project
mgrang added a comment to D59279: [Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers.

The obvious question, why not implement this in clang-tidy?

Wed, Mar 13, 11:05 AM · Restricted Project
mgrang updated the diff for D59279: [Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers.
Wed, Mar 13, 10:53 AM · Restricted Project

Tue, Mar 12

mgrang added a comment to D59279: [Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers.

Following are the assumptions/limitations of this patch:

Tue, Mar 12, 5:29 PM · Restricted Project
mgrang created D59279: [Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers.
Tue, Mar 12, 5:23 PM · Restricted Project

Fri, Mar 8

mgrang committed rGd4c4f7440e00: [docs] Fix checkers.rst doc for PointerSorting checker (authored by mgrang).
[docs] Fix checkers.rst doc for PointerSorting checker
Fri, Mar 8, 12:36 PM
mgrang committed rL355726: [docs] Fix checkers.rst doc for PointerSorting checker.
[docs] Fix checkers.rst doc for PointerSorting checker
Fri, Mar 8, 12:34 PM
mgrang committed rC355726: [docs] Fix checkers.rst doc for PointerSorting checker.
[docs] Fix checkers.rst doc for PointerSorting checker
Fri, Mar 8, 12:34 PM
mgrang committed rGc0773ab6a164: [Analyzer] Checker for non-determinism caused by sorting of pointer-like… (authored by mgrang).
[Analyzer] Checker for non-determinism caused by sorting of pointer-like…
Fri, Mar 8, 12:15 PM
mgrang committed rC355720: [Analyzer] Checker for non-determinism caused by sorting of pointer-like….
[Analyzer] Checker for non-determinism caused by sorting of pointer-like…
Fri, Mar 8, 12:15 PM
mgrang committed rL355720: [Analyzer] Checker for non-determinism caused by sorting of pointer-like….
[Analyzer] Checker for non-determinism caused by sorting of pointer-like…
Fri, Mar 8, 12:15 PM
mgrang closed D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Fri, Mar 8, 12:14 PM · Restricted Project, Restricted Project
mgrang updated the diff for D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Fri, Mar 8, 12:14 PM · Restricted Project, Restricted Project

Wed, Mar 6

mgrang added inline comments to D39050: Add index-while-building support to Clang.
Wed, Mar 6, 10:18 AM

Mon, Mar 4

mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

@NoQ Ping 2 for reviews please.

Mon, Mar 4, 3:42 PM · Restricted Project, Restricted Project

Fri, Mar 1

mgrang committed rGa14f20c5b3be: [ProfileData] Sort FuncData before iteration to remove non-determinism (authored by mgrang).
[ProfileData] Sort FuncData before iteration to remove non-determinism
Fri, Mar 1, 4:49 PM
mgrang committed rL355252: [ProfileData] Sort FuncData before iteration to remove non-determinism.
[ProfileData] Sort FuncData before iteration to remove non-determinism
Fri, Mar 1, 4:47 PM
mgrang closed D57986: [ProfileData] Sort FuncData before iteration to remove non-determinism.
Fri, Mar 1, 4:47 PM · Restricted Project, Restricted Project
mgrang updated the diff for D57986: [ProfileData] Sort FuncData before iteration to remove non-determinism.

Addressed comments.

Fri, Mar 1, 4:29 PM · Restricted Project, Restricted Project
mgrang committed rGba4538708a52: [llvm] Fix typo: 's/analsyis/analysis/' [NFC] (authored by mgrang).
[llvm] Fix typo: 's/analsyis/analysis/' [NFC]
Fri, Mar 1, 4:16 PM
mgrang committed rL355246: [llvm] Fix typo: 's/analsyis/analysis/' [NFC].
[llvm] Fix typo: 's/analsyis/analysis/' [NFC]
Fri, Mar 1, 4:16 PM
mgrang edited reviewers for D58835: [Support] Treat truncation of fullpath as error, added: efriedma; removed: eli.friedman.
Fri, Mar 1, 11:46 AM · Restricted Project
mgrang updated the diff for D57986: [ProfileData] Sort FuncData before iteration to remove non-determinism.
Fri, Mar 1, 11:35 AM · Restricted Project, Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

But, as a work-in-progress alpha checker, the direction is set and looks great. Please let @NoQ have the final say.

Thanks a lot @Szelethus! I will wait for @NoQ 's comments.

Fri, Mar 1, 11:12 AM · Restricted Project, Restricted Project

Thu, Feb 28

mgrang updated the diff for D57986: [ProfileData] Sort FuncData before iteration to remove non-determinism.
Thu, Feb 28, 8:39 PM · Restricted Project, Restricted Project
mgrang added a comment to D58787: [ProfileData] Sort ProfilingData by hash.

How about we keep the discussion on the original patch (D57986)? I think we explored the problem space a fair bit there & I'll advocate for the same thing here as I did there: Sorting before emission is likely more efficient than keeping a continuously sorted container, if there's a separate "build" and "iterate" phase you can sort between. At least that's my understanding. std::map and MapVector would both grow memory usage, probably not prohibitively, but a fair bit.

Especially if these are just small clusters of collisions - they can be put in a small container, sorted, emitted, then thrown away - better than changing the whole long-lived/larger data structure.

Thu, Feb 28, 5:40 PM · Restricted Project
mgrang updated the diff for D57986: [ProfileData] Sort FuncData before iteration to remove non-determinism.
Thu, Feb 28, 5:38 PM · Restricted Project, Restricted Project
mgrang added inline comments to D58787: [ProfileData] Sort ProfilingData by hash.
Thu, Feb 28, 10:38 AM · Restricted Project
mgrang added a comment to D58787: [ProfileData] Sort ProfilingData by hash.

Sorry, I just saw this now. I had a patch to fix this issue (but I didn't get time to follow-up on it). See D57986.

Thu, Feb 28, 10:35 AM · Restricted Project

Tue, Feb 26

mgrang added inline comments to D53379: GSYM symbolication format.
Tue, Feb 26, 9:51 AM

Mon, Feb 25

mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

But, as a work-in-progress alpha checker, the direction is set and looks great. Please let @NoQ have the final say.

Mon, Feb 25, 12:10 PM · Restricted Project, Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

So I was able compile a couple of C++ code bases through csa-testbench. I built cppcheck and tinyxml2 without any problems. cppcheck has one invocation std::sort but the keys are not pointers whereas tinyxml2 does not use std::sort. I tried bitcoin, rtags, xerces but run into a lot of configure/build errors.

Thats great. How about LLVM+Clang? That'll be a pain in the butt to analyze, but is pretty great for testing. Also, did you clone rtags with the git option --recursive?

Mon, Feb 25, 12:09 PM · Restricted Project, Restricted Project
mgrang added inline comments to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Mon, Feb 25, 12:02 PM · Restricted Project, Restricted Project
mgrang updated the diff for D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Mon, Feb 25, 11:57 AM · Restricted Project, Restricted Project

Fri, Feb 22

mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

bitcoin:

sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-all-dev software-properties-common libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin

./autogen.sh
./configure
CodeChecker log -b "make -j13" -o compile_commands.json

xerces:

wget http://www-eu.apache.org/dist//xerces/c/3/sources/xerces-c-3.2.2.tar.gz
tar xf xerces-c-3.2.2.tar.gz
mv xerces-c-3.2.2 xerces
rm xerces-c-3.2.2.tar.gz
cd xerces

./configure
CodeChecker log -b "make -j13" -o compile_commands.json

where -j13 means 13 threads.

Fri, Feb 22, 4:51 PM · Restricted Project, Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

So I was able compile a couple of C++ code bases through csa-testbench. I built cppcheck and tinyxml2 without any problems. cppcheck has one invocation std::sort but the keys are not pointers whereas tinyxml2 does not use std::sort. I tried bitcoin, rtags, xerces but run into a lot of configure/build errors.

Fri, Feb 22, 10:42 AM · Restricted Project, Restricted Project

Thu, Feb 21

mgrang committed rG096fae32b369: [llvm] Fix typo: 's/ ot / to /' [NFC] (authored by mgrang).
[llvm] Fix typo: 's/ ot / to /' [NFC]
Thu, Feb 21, 12:04 PM
mgrang committed rL354614: [llvm] Fix typo: 's/ ot / to /' [NFC].
[llvm] Fix typo: 's/ ot / to /' [NFC]
Thu, Feb 21, 12:04 PM
mgrang committed rG3b75622fd2e7: [test] Fix typo: 's/ ot / to /' [NFC] (authored by mgrang).
[test] Fix typo: 's/ ot / to /' [NFC]
Thu, Feb 21, 11:11 AM
mgrang committed rL354608: [test] Fix typo: 's/ ot / to /' [NFC].
[test] Fix typo: 's/ ot / to /' [NFC]
Thu, Feb 21, 11:11 AM
mgrang committed rC354608: [test] Fix typo: 's/ ot / to /' [NFC].
[test] Fix typo: 's/ ot / to /' [NFC]
Thu, Feb 21, 11:11 AM

Wed, Feb 20

mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

So I was able compile a couple of C++ code bases through csa-testbench. I built cppcheck and tinyxml2 without any problems. cppcheck has one invocation std::sort but the keys are not pointers whereas tinyxml2 does not use std::sort. I tried bitcoin, rtags, xerces but run into a lot of configure/build errors.

Wed, Feb 20, 5:29 PM · Restricted Project, Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

It's because it invokes CodeChecker, which by default enables valist.Uninitialized, but not ValistBase. Do you have assert failures after my hotfix?

@Szelethus Thanks. I run into this assert when run through CodeChecker:

Assertion `CheckerTags.count(tag) != 0 && "Requested checker is not registered! Maybe you should add it as a " "dependency in Checkers.td?"'

Is there a workaround?

Uhh, I'm afraid the only way out is to actually fix the problem :) couple questions:

  1. Are you *sure* that you rebased to rC354235 (which is the hotfix I mentioned), CodeChecker runs *that* clang when the assert failure happens?
Wed, Feb 20, 4:53 PM · Restricted Project, Restricted Project
mgrang updated the diff for D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Wed, Feb 20, 4:41 PM · Restricted Project, Restricted Project

Tue, Feb 19

mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

There is a revision to solve this problem here: D58065. I guess your input, as someone who didn't participate in the checker dependency related patch reviews would be invaluable, in terms of whether my description is understandable enough.

Tue, Feb 19, 4:27 PM · Restricted Project, Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Also I don't see the helptext for PointerSorting when I run:

Tue, Feb 19, 4:23 PM · Restricted Project, Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

It's because it invokes CodeChecker, which by default enables valist.Uninitialized, but not ValistBase. Do you have assert failures after my hotfix?

Tue, Feb 19, 4:23 PM · Restricted Project, Restricted Project
mgrang updated the diff for D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Tue, Feb 19, 4:20 PM · Restricted Project, Restricted Project
mgrang added inline comments to D58065: [analyzer] Document the frontend library.
Tue, Feb 19, 4:15 PM · Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Yeah, it seems upstream has moved away due to @Szelethus' implementation of a much more manageable "checker dependency" system. You most likely will have to rebase your patch first, then check what you missed which got added to other merged, existing checkers.

Tue, Feb 19, 11:23 AM · Restricted Project, Restricted Project
mgrang updated the diff for D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Tue, Feb 19, 11:18 AM · Restricted Project, Restricted Project

Feb 15 2019

mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

I hacked around the run_experiments.py to set CMAKE_C_FLAGS and now I see the following error in stats.html. Note: I see the same error with an existing checker like PointerArithmChecker. And I do not hit this assert when I run the checker outside of csa-testbench.

Feb 15 2019, 3:58 PM · Restricted Project, Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

The error I now get is:

clang is not able to compile a simple test program.
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
  Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux
  elf_l1om elf_k1om i386pep i386pe
Feb 15 2019, 12:56 PM · Restricted Project, Restricted Project

Feb 14 2019

mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

I guess I hadn't sourced the CodeChecker venv correctly. Now that I did source it and started the CodeChecker server I seem to be progressing. The error I get now is compiler related (which I will dig into).

Feb 14 2019, 12:56 PM · Restricted Project, Restricted Project
mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Reviving this now that I have some cycles to work on this.

So I tried running this on csa-testbench projects but I didn't have much success. I always run into a bunch of build/env related errors:

python run_experiments.py --config myconfig.json

15:05:20 [libcxx] Checking out project... 
[ERROR] Unknown option: json

15:05:22 [libcxx] LOC: ?.
15:05:22 [libcxx] Generating build log... 
15:05:22 [libcxx_master] Analyzing project... 
[ERROR] Traceback (most recent call last):
  File "/local/mnt/workspace/mgrang/comm_analyzer/CodeChecker/cc_bin/CodeChecker.py", line 20, in <module>
    from shared.ttypes import RequestFailed
ImportError: No module named shared.ttypes

Hi!

Sorry for the late response. Does CodeChecker work for you (when not using the testbench)?
I think one of the most common reason for such errors is when we do not source the virtualenv of CodeChecker so the dependencies are not available.

Feb 14 2019, 12:47 PM · Restricted Project, Restricted Project
mgrang added a comment to D57986: [ProfileData] Sort FuncData before iteration to remove non-determinism.

Ping for reviews please.

Feb 14 2019, 9:18 AM · Restricted Project, Restricted Project

Feb 12 2019

mgrang added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Reviving this now that I have some cycles to work on this.

Feb 12 2019, 3:06 PM · Restricted Project, Restricted Project
mgrang updated the diff for D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Feb 12 2019, 3:01 PM · Restricted Project, Restricted Project

Feb 10 2019

mgrang committed rGea246114bbed: [GlobalISel] Regex the opcodes in unit test to fix non-deterministic ordering (authored by mgrang).
[GlobalISel] Regex the opcodes in unit test to fix non-deterministic ordering
Feb 10 2019, 11:56 AM
mgrang committed rL353652: [GlobalISel] Regex the opcodes in unit test to fix non-deterministic ordering.
[GlobalISel] Regex the opcodes in unit test to fix non-deterministic ordering
Feb 10 2019, 11:56 AM
mgrang closed D57988: [GlobalISel] Regex the opcodes in unit test to fix non-deterministic ordering.

Committed in r353652.

Feb 10 2019, 11:56 AM · Restricted Project

Feb 8 2019

mgrang added a comment to D57988: [GlobalISel] Regex the opcodes in unit test to fix non-deterministic ordering.

legalize-ext-csedebug-output.mir fails in a reverse iteration build because the OpcodeHitTable is a DenseMap and is iterated to print CSEInfo. We could have copied OpcodeHitTable to a vector and sorted it before iteration. Maybe that would be an overkill. I saw this comment in the test that we could regex the opcodes. Do we care about the order of the CSEInfo opcodes?

Feb 8 2019, 5:07 PM · Restricted Project
mgrang created D57988: [GlobalISel] Regex the opcodes in unit test to fix non-deterministic ordering.
Feb 8 2019, 5:02 PM · Restricted Project
mgrang added a comment to D57986: [ProfileData] Sort FuncData before iteration to remove non-determinism.

tools/llvm-profdata/instr-remap.test is failing in the reverse iteration bot. See http://lab.llvm.org:8011/builders/reverse-iteration/builds/10546/steps/check_all/logs/stdio.

Feb 8 2019, 4:36 PM · Restricted Project, Restricted Project
mgrang created D57986: [ProfileData] Sort FuncData before iteration to remove non-determinism.
Feb 8 2019, 4:32 PM · Restricted Project, Restricted Project

Feb 1 2019

mgrang committed rL352945: [AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp.
[AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp
Feb 1 2019, 5:32 PM
mgrang closed D57614: [AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp.
Feb 1 2019, 5:32 PM · Restricted Project
mgrang committed rL352940: [AArch64] Fix unused variable [NFC].
[AArch64] Fix unused variable [NFC]
Feb 1 2019, 3:42 PM
mgrang added a comment to D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.

Great to have this. Thanks @mgrang. Curious on what remaining tests fail in xcpt4u.c?

Feb 1 2019, 1:43 PM · Restricted Project
mgrang committed rL352923: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size….
[COFF, ARM64] Fix localaddress to handle stack realignment and variable size…
Feb 1 2019, 1:41 PM
mgrang closed D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.
Feb 1 2019, 1:41 PM · Restricted Project
mgrang updated the diff for D57614: [AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp.

Added unit test.

Feb 1 2019, 1:32 PM · Restricted Project
mgrang updated the diff for D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.
Feb 1 2019, 12:39 PM · Restricted Project
Herald added a project to D56747: [EH] Rename llvm.x86.seh.recoverfp intrinsic to llvm.eh.recoverfp: Restricted Project.
Feb 1 2019, 12:38 PM · Restricted Project
mgrang created D57614: [AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp.
Feb 1 2019, 12:38 PM · Restricted Project

Jan 30 2019

mgrang added a reviewer for D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects: TomTan.
Jan 30 2019, 4:51 PM · Restricted Project
mgrang added a comment to D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.

With this patch, most of the SEH tests in https://github.com/Microsoft/windows_seh_tests/blob/master/src/xcpt4/xcpt4u.c pass.

Jan 30 2019, 4:47 PM · Restricted Project
mgrang retitled D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects from [COFF, ARM64] Fix localaddress to handle stack realignment to [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.
Jan 30 2019, 4:34 PM · Restricted Project
mgrang added a comment to D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.

Deleted test/CodeGen/AArch64/seh-localescape.ll as localescape testing is better covered under the updated test/CodeGen/AArch64/seh-finally.ll.

Jan 30 2019, 4:32 PM · Restricted Project
mgrang updated the diff for D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.
Jan 30 2019, 4:31 PM · Restricted Project

Jan 25 2019

mgrang added a comment to D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.

In the existing code, there are several conditions on when FP/BP/SP should be used. I have tried to summarize them here:

Jan 25 2019, 2:19 PM · Restricted Project

Jan 24 2019

mgrang added a comment to D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.

If there's a call to localaddress in a function without funclets or VLAs, we should use sp, yes. That should be rare in practice, but I guess the testcase is an example.

Jan 24 2019, 4:18 PM · Restricted Project
mgrang created D57183: [COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects.
Jan 24 2019, 1:22 PM · Restricted Project
mgrang abandoned D57115: [llvm] Remove dependency on <algorithm> [NFC].

I wanted to clean up the inclusions of algorithm due to std::sort. But seems like this change may potentially break some things. So for now we can let it pass? (Meaning I can abandon this patch).

Yep - thanks for trying, but unless you can get something like IWYU working to help ensure this cleanup is a bit more robust - I'd probably suggest just abandoning this change, unfortunately.

Jan 24 2019, 11:19 AM
mgrang added a comment to D57115: [llvm] Remove dependency on <algorithm> [NFC].

I wanted to clean up the inclusions of algorithm due to std::sort. But seems like this change may potentially break some things. So for now we can let it pass?

Jan 24 2019, 11:03 AM
mgrang added a comment to D57115: [llvm] Remove dependency on <algorithm> [NFC].

@mgrang Which compilers/oses have you tested in your ninja build? asserts? EXPENSIVE_CHECKS?

Jan 24 2019, 11:02 AM

Jan 23 2019

mgrang added a comment to D57115: [llvm] Remove dependency on <algorithm> [NFC].

"mainly" used for std::sort might be true, but "only" used might be harder to prove - did you use any tooling to test that these inclusions weren't needed other than "this code still compiles" (which has the problem that the inclusion might be used, but also included indirectly from some other header - so removing it may still compile, but introduces an undesirable indirect dependency on an implementation detail of some other header)

I ran ninja check-all and did not see any failures. I haven't changed the places where algorithm is needed (like for std::fill, etc) and which introduced compile errors. I have also not touched examples, unittests and util/unittest directories.

How did you identify these "I haven't changed the places where algorithm is needed (like for std::fill, etc)" places? By visual inspection of every file that's been touched?

Jan 23 2019, 12:55 PM
mgrang added a comment to D57115: [llvm] Remove dependency on <algorithm> [NFC].

"mainly" used for std::sort might be true, but "only" used might be harder to prove - did you use any tooling to test that these inclusions weren't needed other than "this code still compiles" (which has the problem that the inclusion might be used, but also included indirectly from some other header - so removing it may still compile, but introduces an undesirable indirect dependency on an implementation detail of some other header)

Jan 23 2019, 12:45 PM
mgrang created D57115: [llvm] Remove dependency on <algorithm> [NFC].
Jan 23 2019, 12:39 PM

Jan 18 2019

mgrang committed rLLD351612: [lld] Use range-based llvm::sort.
[lld] Use range-based llvm::sort
Jan 18 2019, 3:45 PM
mgrang committed rL351612: [lld] Use range-based llvm::sort.
[lld] Use range-based llvm::sort
Jan 18 2019, 3:45 PM