Page MenuHomePhabricator

aarzee (Carlos Liam)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 7 2016, 3:32 PM (183 w, 4 d)

Recent Activity

Sep 5 2016

aarzee updated the diff for D22076: GVN: If X > Y is true, then replace X == Y with false and X != Y with true.

Outline replacement of instruction with constant. If X == Y is true, replace X >= Y with true and X > Y with false.

Sep 5 2016, 2:37 PM

Aug 29 2016

aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

I'd like to know if it's possible for a value to be known to be -1 without being a constant; currently the code would not act correctly if this were the case because I made the assumption that it would be a constant and that the code wouldn't be run.

Aug 29 2016, 1:11 PM

Jul 31 2016

aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Modified most and least significant possibly set bit values to act more like range bounds; modified and added unknown sign tests.

Jul 31 2016, 4:51 PM
aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 31 2016, 4:41 PM
aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 31 2016, 3:35 PM
aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 31 2016, 2:35 PM

Jul 30 2016

aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Additional comments and tests for unknown sign.

Jul 30 2016, 7:06 PM
aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 30 2016, 5:51 PM
aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Attached are a Python test script (best run in PyPy) and C++ testing program that work together to exhaustively verify this code for a given floating point format. See the comments in either file.

Jul 30 2016, 5:32 PM
aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Additional fixes and comments.

Jul 30 2016, 5:17 PM

Jul 29 2016

aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 29 2016, 12:05 PM
aarzee added a comment to D22076: GVN: If X > Y is true, then replace X == Y with false and X != Y with true.

Ping.

Jul 29 2016, 11:27 AM
aarzee abandoned D19177: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 29 2016, 11:25 AM
aarzee abandoned D18874: InstCombine optimization to convert floating-point sign bit XORs to fsubs from -0.0.
Jul 29 2016, 11:25 AM

Jul 27 2016

aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 27 2016, 5:07 PM
aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

I would post the latest diff but the place I'm staying at has no Internet currently.

Jul 27 2016, 5:05 PM

Jul 25 2016

aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 25 2016, 11:29 AM
aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 25 2016, 10:38 AM

Jul 24 2016

aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 24 2016, 5:41 PM
aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 24 2016, 4:39 PM
aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Jul 24 2016, 4:11 PM
aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Indeed I have (although the tests generated are exhaustive, not random), and I attached a script to do so earlier in the thread: https://reviews.llvm.org/F1891038

Jul 24 2016, 2:45 PM

Jul 23 2016

aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Thanks very much for the feedback, @eli.friedman. Hopefully I've addressed most of your concerns. Regarding the tests: could you think of cases that the current tests don't cover?

Jul 23 2016, 5:29 PM
aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Added additional comments, adjustments, and fixes for code clarity. Added exponent-related tests.

Jul 23 2016, 5:28 PM

Jul 14 2016

aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Ping.

Jul 14 2016, 3:02 PM

Jul 7 2016

aarzee added a comment to D22076: GVN: If X > Y is true, then replace X == Y with false and X != Y with true.

Should we create a function for this?

Jul 7 2016, 3:42 PM

Jul 6 2016

aarzee retitled D22076: GVN: If X > Y is true, then replace X == Y with false and X != Y with true from to GVN: If X > Y is true, then replace X == Y with false and X != Y with true.
Jul 6 2016, 5:24 PM

Jun 14 2016

aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Question re: usage of 'mantissa' vs 'significand' - should getFPMantissaWidth be renamed?

Jun 14 2016, 10:11 AM

May 27 2016

aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Updated variable names and improved correctness.

May 27 2016, 8:58 PM

May 22 2016

aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
May 22 2016, 4:18 PM

May 10 2016

aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Same as last diff except that I didn't rush through without actually reading the comment.

May 10 2016, 1:50 PM
aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Added the changes suggested by @mcrosier.

May 10 2016, 1:46 PM
aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Replace for loops with count{Leading,Trailing}{Zeros,Ones}.

May 10 2016, 1:44 PM
aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

I've decided to go ahead and submit the full change (considering exponent as well as mantissa) and I've added a few more tests as @reames suggested.

May 10 2016, 12:29 PM

May 5 2016

aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

I've attached a file containing the latest version of the full proposed patch as well as a Python 3 script to test and verify whether the optimization is applied correctly. It requires a bit of editing, as shown in the top and bottom of the script. It's supposed to write any failed generated IR to exN.ll (where N is some number), but I'm not sure whether it actually does. Python's multiprocessing module is finicky. Note that you must use a floating point type that is supported by the platform you're on (I tried 'half' on x86-64 and got weird results because it was legalized to a float).

May 5 2016, 11:08 AM

May 3 2016

aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

FWIW I still believe that Diff 2 is (at least close to) correct, and I'd still like to pursue implementing it.

May 3 2016, 8:21 AM
aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Made the change suggested by @reames to only consider the mantissa. Scaling and exponent is no longer considered. Should be more easily verifiable.

May 3 2016, 7:04 AM

Apr 21 2016

aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Highest possible trailing zeros was off by one (exponent is either unsigned or biased, with non-negative values ranging from 0 to 2^(x - 1), where x is the bit width of the exponent).

Apr 21 2016, 9:01 AM
aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Made the code shorter and more concise, added some comments, added a new test. For some reason I'm having an issue building LLVM so I wasn't able to personally verify that this works as intended / at all.

Apr 21 2016, 8:55 AM
aarzee added inline comments to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Apr 21 2016, 8:23 AM
aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Any feedback on this?

Apr 21 2016, 6:13 AM

Apr 18 2016

aarzee updated the diff for D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Fix typo in test (CHECK-NEST -> CHECK-NEXT)

Apr 18 2016, 5:23 AM

Apr 15 2016

aarzee added a comment to D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

Wouldn't it make sense to add a test also for case where it is NOT safe to fold ?

Apr 15 2016, 2:01 PM
aarzee added a comment to D19177: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.

See D19178.

Apr 15 2016, 1:54 PM
aarzee removed reviewers for D19177: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type: scanon, escha, majnemer.
Apr 15 2016, 1:53 PM
aarzee retitled D19178: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type from to Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Apr 15 2016, 1:53 PM
aarzee retitled D19177: Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type from to Broaden FoldItoFPtoI to try and establish whether the integer value fits into the float type.
Apr 15 2016, 1:43 PM

Apr 8 2016

aarzee added a reviewer for D18874: InstCombine optimization to convert floating-point sign bit XORs to fsubs from -0.0: majnemer.
Apr 8 2016, 8:17 AM
aarzee updated the diff for D18874: InstCombine optimization to convert floating-point sign bit XORs to fsubs from -0.0.

Added tests.

Apr 8 2016, 8:15 AM

Apr 7 2016

aarzee retitled D18874: InstCombine optimization to convert floating-point sign bit XORs to fsubs from -0.0 from to InstCombine optimization to convert floating-point sign bit XORs to fsubs from -0.0.
Apr 7 2016, 3:42 PM