User Details
- User Since
- Oct 21 2016, 3:07 PM (361 w, 2 d)
Oct 18 2019
Oct 11 2019
Oct 9 2019
I am not able to run the last step successfully. Initially, I thought it's because I used wrong password. So I sent another new password hash to Chris Lattner to update it. He updated the password hash for me. When I used the new password to run svn commit -m "Request commit access for jtony" still failed. Anyway know why? Thanks!
Jun 3 2019
May 17 2019
I may not understand the implementation completely. So could you explain a little bit how this patch only affect peeling for full unrolling? It seems to me you disable peeling for all the unrolling (full, partial or run-time). i.e, where is the code that you distinguish peeling according to unrolling type? I cannot find that logic. Thanks a lot!
Jan 29 2018
Jan 26 2018
Jan 23 2018
Jan 16 2018
Dec 21 2017
Dec 20 2017
As you mentioned some registers defined by ORIS/ANDIS/XORIS were identified as already sign-extended. But, it is not true for sign extension depending on the immediate (while it is ok for zero extension). Can you provide some details (maybe in a comment) about how they depend on the immediate? This would be helpful for future maintainers.
LGTM.
Dec 19 2017
Dec 11 2017
Dec 6 2017
Dec 4 2017
Dec 2 2017
Address comments from Ecric and Nemanja.
Nov 28 2017
Nov 27 2017
Nov 21 2017
Nov 20 2017
Nov 16 2017
Oct 30 2017
For the Unexpected Failures: 29, do they still fail without your patch?
Oct 26 2017
Address the comments from Nemanja.
Oct 25 2017
Oct 23 2017
Oct 22 2017
Oct 18 2017
This patch now LGTM.
Oct 16 2017
Oct 15 2017
This is my omission in the implementation. All the 1-bit, 2-bit, 4-bit and bytes are swapped, except the high word and low word is not swapped, which is the root cause for the problem. The reason why the test case : projects/test-suite/SingleSource/Benchmarks/Misc/revertBits.c didn't catch it was probably LLVM OPT optimizes ReverseBits64(__builtin_bitreverse64(i)) to just i, so it never tests the code I added (Note I retest it, it generates the same result with gcc at -O2 but generates wrong result without optimization). I also did some other functional testing on my own machine before committing, but I used the number 0x5555555555555555, which was not general enough, so it also didn't catch this subtle bug. I should have used a more general test case. I suggest modifying the test case in the Benchmark (https://reviews.llvm.org/D35188) to be stronger to catch this (like instead of add ReverseBits64(__builtin_bitreverse64) to sum, add ReverseBits64 and __builtin_bitreverse64 separately to the sum so LLVM OPT couldn't recognize it is a reversal of a reversal.
Oct 12 2017
Address comments from Nemanja.
(1) Abstract the common part code for handling D-Form and X-Form LD/ST heuristic into a function.
(2) Fix missing predicate guards (HasP8Vector, AddedComplexity=400) problem.
Oct 2 2017
Sep 21 2017
Sep 20 2017
Sep 19 2017
Sep 18 2017
Address all the comments from Nemanja.
Sep 15 2017
Delete the p9-instrs.txt file, since all the needed instructions in it have been implemented.
Sep 14 2017
Sep 7 2017
Address comments from Hiroshi and rebase on trunk.
Sep 5 2017
Aug 30 2017
Refactor the implementation according to Nemanja's suggestion (get rid of the large lambda function replaceLiWithAddi, and inline replaceAddWithCopy)
Aug 24 2017
Address the comments from Nemanja.
Aug 16 2017
Aug 15 2017
Aug 14 2017
Address one more new comment from Hal (add check for compilers that don't support __has_builtin)
Aug 13 2017
Address comments from Hal Finkel.
Jul 26 2017
Jul 24 2017
Jul 11 2017
Jul 10 2017
(1) Also test builtin_bitreverse32 and builtin_bitreverse64.
(2) Add the missing newline at the end of the second printf.
Jul 9 2017
Address comments from Hiroshi.
Jul 7 2017
Jul 6 2017
(1) Refactor the messy red zone guard conditions to make it more readable.
(2) Differentiate the red zone behavior for DarwinABI and Non-DarwinABI (SVR4ABI).
(3) Address comments from Hal.