Page MenuHomePhabricator

dlrobertson (Dan Robertson)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 19 2018, 9:58 AM (78 w, 4 d)

Recent Activity

May 12 2019

dlrobertson added a comment to D60846: [ValueTracking] Improve isKnowNonZero for Ints.

Here's a slightly cleaned up version of the reproducer

May 12 2019, 3:27 PM · Restricted Project

May 8 2019

dlrobertson added a comment to D60846: [ValueTracking] Improve isKnowNonZero for Ints.

@uabelho great job coming up with a reproducer and thanks @nikic for reverting! I'll start working on a better solution.

May 8 2019, 2:09 PM · Restricted Project

May 7 2019

dlrobertson committed rG3b137a495686: [ValueTracking] Improve isKnowNonZero for Ints (authored by dlrobertson).
[ValueTracking] Improve isKnowNonZero for Ints
May 7 2019, 7:23 PM
dlrobertson committed rL360222: [ValueTracking] Improve isKnowNonZero for Ints.
[ValueTracking] Improve isKnowNonZero for Ints
May 7 2019, 7:23 PM
dlrobertson closed D60846: [ValueTracking] Improve isKnowNonZero for Ints.
May 7 2019, 7:23 PM · Restricted Project

May 3 2019

dlrobertson added a comment to D60846: [ValueTracking] Improve isKnowNonZero for Ints.

Updated the LICM test.

May 3 2019, 8:04 PM · Restricted Project
dlrobertson updated the diff for D60846: [ValueTracking] Improve isKnowNonZero for Ints.
May 3 2019, 8:04 PM · Restricted Project

May 2 2019

dlrobertson updated the diff for D60846: [ValueTracking] Improve isKnowNonZero for Ints.

Update LICM tests

May 2 2019, 8:21 PM · Restricted Project

Apr 29 2019

dlrobertson added a comment to D60846: [ValueTracking] Improve isKnowNonZero for Ints.

test/Transforms/LICM/hoist-mustexec.ll still needs to be updated. (Should probably generate full checks as a preliminary NFC commit first.)

Oops - I forgot that even though I mentioned it in the earlier comment. Yes, that must be included in this patch (and any other existing tests that are known to be affected).

Sorry, I forgot all about this as well. I did run the update_test_checks script on this file after applying the patch and there was not improvement to the generated code.

Are you sure? I didn't check what exactly changed, but this test was failing for me locally after applying the patch.

Apr 29 2019, 6:29 AM · Restricted Project

Apr 28 2019

dlrobertson added a comment to D60846: [ValueTracking] Improve isKnowNonZero for Ints.

test/Transforms/LICM/hoist-mustexec.ll still needs to be updated. (Should probably generate full checks as a preliminary NFC commit first.)

Oops - I forgot that even though I mentioned it in the earlier comment. Yes, that must be included in this patch (and any other existing tests that are known to be affected).

Apr 28 2019, 5:41 PM · Restricted Project

Apr 27 2019

dlrobertson updated the diff for D60846: [ValueTracking] Improve isKnowNonZero for Ints.
Apr 27 2019, 6:19 PM · Restricted Project

Apr 25 2019

dlrobertson added a comment to D60932: [NFC] Add baseline tests for int isKnownNonZero.

I followed the https://llvm.org/docs/Phabricator.html#committing-a-change section for the commit. If I made a mistake, please let me know.

Apr 25 2019, 8:02 PM · Restricted Project
dlrobertson committed rG9e441aee509f: [NFC] Add baseline tests for int isKnownNonZero (authored by dlrobertson).
[NFC] Add baseline tests for int isKnownNonZero
Apr 25 2019, 7:55 PM
dlrobertson committed rL359267: [NFC] Add baseline tests for int isKnownNonZero.
[NFC] Add baseline tests for int isKnownNonZero
Apr 25 2019, 7:55 PM
dlrobertson closed D60932: [NFC] Add baseline tests for int isKnownNonZero.
Apr 25 2019, 7:55 PM · Restricted Project
dlrobertson added inline comments to D60932: [NFC] Add baseline tests for int isKnownNonZero.
Apr 25 2019, 4:39 AM · Restricted Project

Apr 24 2019

dlrobertson added inline comments to D60932: [NFC] Add baseline tests for int isKnownNonZero.
Apr 24 2019, 5:24 PM · Restricted Project

Apr 22 2019

dlrobertson added a comment to D60932: [NFC] Add baseline tests for int isKnownNonZero.

Probably also a good time to request commit access, see https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access for instructions.

Apr 22 2019, 11:23 AM · Restricted Project

Apr 19 2019

dlrobertson updated the diff for D60846: [ValueTracking] Improve isKnowNonZero for Ints.
Apr 19 2019, 7:35 PM · Restricted Project
dlrobertson updated the diff for D60846: [ValueTracking] Improve isKnowNonZero for Ints.

Update after added tests

Apr 19 2019, 7:31 PM · Restricted Project
dlrobertson added a parent revision for D60846: [ValueTracking] Improve isKnowNonZero for Ints: D60932: [NFC] Add baseline tests for int isKnownNonZero.
Apr 19 2019, 7:30 PM · Restricted Project
dlrobertson added a child revision for D60932: [NFC] Add baseline tests for int isKnownNonZero: D60846: [ValueTracking] Improve isKnowNonZero for Ints.
Apr 19 2019, 7:30 PM · Restricted Project
dlrobertson created D60932: [NFC] Add baseline tests for int isKnownNonZero.
Apr 19 2019, 7:29 PM · Restricted Project

Apr 18 2019

dlrobertson added inline comments to D60846: [ValueTracking] Improve isKnowNonZero for Ints.
Apr 18 2019, 6:38 AM · Restricted Project

Apr 17 2019

dlrobertson added a comment to D60846: [ValueTracking] Improve isKnowNonZero for Ints.

s/NFS/NFC

Apr 17 2019, 6:04 PM · Restricted Project
dlrobertson added a comment to D60846: [ValueTracking] Improve isKnowNonZero for Ints.

Would an NFS baseline tests patch be useful here?

Apr 17 2019, 6:04 PM · Restricted Project
dlrobertson created D60846: [ValueTracking] Improve isKnowNonZero for Ints.
Apr 17 2019, 6:04 PM · Restricted Project

Apr 9 2019

dlrobertson added inline comments to D60061: [InstCombine] ssubo X, C -> saddo X, -C.
Apr 9 2019, 4:16 PM · Restricted Project
dlrobertson updated the diff for D60061: [InstCombine] ssubo X, C -> saddo X, -C.

Removed an unneeded assert.

Apr 9 2019, 4:14 PM · Restricted Project
dlrobertson updated the diff for D60061: [InstCombine] ssubo X, C -> saddo X, -C.
Apr 9 2019, 8:42 AM · Restricted Project
dlrobertson added a comment to D60061: [InstCombine] ssubo X, C -> saddo X, -C.

Sorry for the delay. Made the requested changes.

Apr 9 2019, 8:42 AM · Restricted Project

Apr 2 2019

dlrobertson added inline comments to D60020: [DAGCombiner][X86][SystemZ] Canonicalize SSUBO with immediate RHS to SADDO by negating the immediate..
Apr 2 2019, 6:31 PM · Restricted Project
dlrobertson added inline comments to D60061: [InstCombine] ssubo X, C -> saddo X, -C.
Apr 2 2019, 1:46 PM · Restricted Project
dlrobertson added inline comments to D60061: [InstCombine] ssubo X, C -> saddo X, -C.
Apr 2 2019, 1:41 PM · Restricted Project

Apr 1 2019

dlrobertson updated the diff for D60061: [InstCombine] ssubo X, C -> saddo X, -C.

Update comment

Apr 1 2019, 6:57 PM · Restricted Project
dlrobertson added inline comments to D60061: [InstCombine] ssubo X, C -> saddo X, -C.
Apr 1 2019, 6:53 PM · Restricted Project
dlrobertson updated the diff for D60061: [InstCombine] ssubo X, C -> saddo X, -C.

Gather some inspiration from ssub.sat

Apr 1 2019, 6:51 PM · Restricted Project
dlrobertson created D60061: [InstCombine] ssubo X, C -> saddo X, -C.
Apr 1 2019, 5:43 AM · Restricted Project

Mar 31 2019

dlrobertson added a comment to D60020: [DAGCombiner][X86][SystemZ] Canonicalize SSUBO with immediate RHS to SADDO by negating the immediate..

cc @lebedev.ri @nikic @dlrobertson - do we have a patch proposal for this transform in IR? (I'm not finding it now.)

Don't think we have a patch open for this yet, but @dlrobertson added some tests for this transform in D59653 already, so probably the instcombine patch will come as well...

Mar 31 2019, 2:31 PM · Restricted Project

Mar 23 2019

dlrobertson updated the diff for D59653: [NFC] Add tests for ssubo X, C -> saddo X, -C.

Added test cases

Mar 23 2019, 8:11 PM · Restricted Project

Mar 22 2019

dlrobertson added a comment to D59653: [NFC] Add tests for ssubo X, C -> saddo X, -C.

It would be good to also have test cases (for the ssubo->saddo canonicalization, not the nsw fold) where the vector constant argument of the ssubo has undef or is non-splat. This is one of those rare cases where we can easily support them, because the necessary machinery is already in place (see https://github.com/llvm-mirror/llvm/blob/master/lib/Transforms/InstCombine/InstCombineCalls.cpp#L2194).

Mar 22 2019, 12:42 PM · Restricted Project

Mar 21 2019

dlrobertson created D59653: [NFC] Add tests for ssubo X, C -> saddo X, -C.
Mar 21 2019, 10:14 AM · Restricted Project

Mar 19 2019

dlrobertson updated the diff for D59471: [InstCombine] Fold add nuw + uadd.with.overflow.

Combine saddo and uaddo branch

Mar 19 2019, 3:52 PM · Restricted Project
dlrobertson added a comment to D59471: [InstCombine] Fold add nuw + uadd.with.overflow.

Logic looks fine, so I won't hold it up, but seems better to not duplicate code for sibling transforms?

Mar 19 2019, 12:19 PM · Restricted Project

Mar 18 2019

dlrobertson updated the diff for D59471: [InstCombine] Fold add nuw + uadd.with.overflow.

Rebased on master

Mar 18 2019, 2:57 PM · Restricted Project
dlrobertson added inline comments to D59472: [InstCombine] Add tests for add nuw + uaddo.
Mar 18 2019, 1:51 PM · Restricted Project
dlrobertson updated the diff for D59472: [InstCombine] Add tests for add nuw + uaddo.

Added non-undef non-splat overflow and non-overflow tests

Mar 18 2019, 1:51 PM · Restricted Project

Mar 17 2019

dlrobertson added inline comments to D59472: [InstCombine] Add tests for add nuw + uaddo.
Mar 17 2019, 12:21 PM · Restricted Project
dlrobertson updated the diff for D59476: [InstCombine] Improve with.overflow intrinsic tests.
  • Add plain add test
Mar 17 2019, 12:07 PM · Restricted Project
dlrobertson created D59476: [InstCombine] Improve with.overflow intrinsic tests.
Mar 17 2019, 12:03 PM · Restricted Project
dlrobertson updated the diff for D59472: [InstCombine] Add tests for add nuw + uaddo.
  • add test for a wrapped add
  • don't use unnamed values in tests
Mar 17 2019, 10:22 AM · Restricted Project
dlrobertson added inline comments to D59471: [InstCombine] Fold add nuw + uadd.with.overflow.
Mar 17 2019, 10:10 AM · Restricted Project
dlrobertson added a comment to D59472: [InstCombine] Add tests for add nuw + uaddo.

@lebedev.ri Both of your comments would also be valid for the tests for D58881. Should I update the tests there too?

Mar 17 2019, 9:35 AM · Restricted Project
dlrobertson created D59472: [InstCombine] Add tests for add nuw + uaddo.
Mar 17 2019, 9:17 AM · Restricted Project
dlrobertson added a comment to D59471: [InstCombine] Fold add nuw + uadd.with.overflow.

D59472 has been created with the baseline tests

Mar 17 2019, 9:17 AM · Restricted Project
dlrobertson updated the summary of D59472: [InstCombine] Add tests for add nuw + uaddo.
Mar 17 2019, 9:17 AM · Restricted Project
dlrobertson created D59471: [InstCombine] Fold add nuw + uadd.with.overflow.
Mar 17 2019, 9:08 AM · Restricted Project

Mar 16 2019

dlrobertson abandoned D59071: [Transform] Improve saddo with mixed signs.

D59386 implements the full optimization for the unsigned case, and D59450 is preparation for the signed add case, though there's a few more followups necessary there (for signed sub, for extension to use computeConstantRange, and for handling AlwaysOverflows).

Mar 16 2019, 9:07 PM · Restricted Project

Mar 7 2019

dlrobertson added a comment to D59071: [Transform] Improve saddo with mixed signs.

I'm thinking that we should generalize that code to take any Instruction, move it as an exported API into ValueTracking and then do a generic ConstantRange based always/never overflow check here.

Mar 7 2019, 5:37 PM · Restricted Project

Mar 6 2019

dlrobertson created D59071: [Transform] Improve saddo with mixed signs.
Mar 6 2019, 7:09 PM · Restricted Project

Mar 5 2019

dlrobertson added inline comments to D58881: [Transform] Improve fold of sadd.with.overflow.
Mar 5 2019, 6:57 PM · Restricted Project
dlrobertson updated the diff for D58881: [Transform] Improve fold of sadd.with.overflow.
  • Fix nits
  • Update tests
Mar 5 2019, 6:57 PM · Restricted Project
dlrobertson added a comment to D58881: [Transform] Improve fold of sadd.with.overflow.

Yes, absolutely.

  1. That makes the diff readable. The changes will be visible, not just the test addition.
  2. That helps with test coverage. You want those tests regardless of whether the change itself will land or be reverted.
Mar 5 2019, 5:50 AM · Restricted Project

Mar 4 2019

dlrobertson added a comment to D58881: [Transform] Improve fold of sadd.with.overflow.

I've committed your tests with the current output in rL355328. Can you please rebase this revision over the committed tests, so that only the changes made by the new transform remain?

Mar 4 2019, 4:39 PM · Restricted Project
dlrobertson updated the diff for D58881: [Transform] Improve fold of sadd.with.overflow.
  • Rebase on master
Mar 4 2019, 4:36 PM · Restricted Project
dlrobertson updated the diff for D58881: [Transform] Improve fold of sadd.with.overflow.
  • Add tests
Mar 4 2019, 10:31 AM · Restricted Project

Mar 3 2019

dlrobertson added inline comments to D58881: [Transform] Improve fold of sadd.with.overflow.
Mar 3 2019, 5:03 PM · Restricted Project
dlrobertson added inline comments to D58881: [Transform] Improve fold of sadd.with.overflow.
Mar 3 2019, 4:49 PM · Restricted Project
dlrobertson updated the diff for D58881: [Transform] Improve fold of sadd.with.overflow.
  • Addressed nits
  • Use m_APInt instead of ConstantInt
  • Updated tests
  • Removed special cases (Will add them in a follow-up)
Mar 3 2019, 4:49 PM · Restricted Project

Mar 2 2019

dlrobertson added a comment to D58881: [Transform] Improve fold of sadd.with.overflow.

Comments and feedback would be very much appreciated. I did my best to follow https://llvm.org/docs/Contributing.html and https://llvm.org/docs/Phabricator.html, but I might have missed something. Please let me know if I did.

Mar 2 2019, 6:24 PM · Restricted Project
dlrobertson created D58881: [Transform] Improve fold of sadd.with.overflow.
Mar 2 2019, 6:20 PM · Restricted Project