Page MenuHomePhabricator
Feed Advanced Search

Fri, Sep 13

reames added a comment to D67178: [SCEV] Use loop guard info when computing the max BE taken count in howFarToZero..

SCEV already has support for isLoopEntryGuardedByCond which should be a super set of the added code. Have you explored why the distance expression isn't be canonicalized at construction?

Fri, Sep 13, 9:25 PM · Restricted Project
reames added inline comments to D67552: [LangRef] Clarify absence of rounding guarantees for fmuladd..
Fri, Sep 13, 6:28 PM · Restricted Project
reames added inline comments to D67553: [InstSimplify] Match 1.0 and 0.0 for both operands in SimplifyFMAMul.
Fri, Sep 13, 9:19 AM · Restricted Project
reames accepted D67553: [InstSimplify] Match 1.0 and 0.0 for both operands in SimplifyFMAMul.
Fri, Sep 13, 9:16 AM · Restricted Project
reames added inline comments to D67552: [LangRef] Clarify absence of rounding guarantees for fmuladd..
Fri, Sep 13, 9:15 AM · Restricted Project
reames added inline comments to D67408: [IndVars] An implementation of loop predication without a need for speculation.
Fri, Sep 13, 9:07 AM · Restricted Project

Thu, Sep 12

reames committed rG4a8916cf1a45: [Test] Restructure check lines to show differences between modes more clearly (authored by reames).
[Test] Restructure check lines to show differences between modes more clearly
Thu, Sep 12, 4:22 PM
reames committed rL371790: [Test] Restructure check lines to show differences between modes more clearly.
[Test] Restructure check lines to show differences between modes more clearly
Thu, Sep 12, 4:21 PM
reames committed rG0b4d67ca35b2: Rename nonvolatile_load/store to simple_load/store [NFC] (authored by reames).
Rename nonvolatile_load/store to simple_load/store [NFC]
Thu, Sep 12, 4:06 PM
reames committed rL371789: Rename nonvolatile_load/store to simple_load/store [NFC].
Rename nonvolatile_load/store to simple_load/store [NFC]
Thu, Sep 12, 4:05 PM
reames committed rG079e21046334: [SDAG] Update generic code to conservatively check for isAtomic in addition to… (authored by reames).
[SDAG] Update generic code to conservatively check for isAtomic in addition to…
Thu, Sep 12, 3:50 PM
reames committed rL371786: [SDAG] Update generic code to conservatively check for isAtomic in addition to….
[SDAG] Update generic code to conservatively check for isAtomic in addition to…
Thu, Sep 12, 3:50 PM
reames closed D66318: [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile.
Thu, Sep 12, 3:50 PM · Restricted Project
reames committed rG0e8d5085ac81: Remove a duplicate test (authored by reames).
Remove a duplicate test
Thu, Sep 12, 2:44 PM
reames committed rL371777: Remove a duplicate test.
Remove a duplicate test
Thu, Sep 12, 2:44 PM
reames updated the diff for D67510: [LV] Support gaps, overlaps, and inexact sizes in speculation logic.

Address review comments.

Thu, Sep 12, 2:44 PM · Restricted Project
reames added a comment to D66318: [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile.

ping

Thu, Sep 12, 2:44 PM · Restricted Project
reames added inline comments to D67510: [LV] Support gaps, overlaps, and inexact sizes in speculation logic.
Thu, Sep 12, 2:44 PM · Restricted Project
reames committed rGbdf608477e9a: [SCEV] Add smin support to getRangeRef (authored by reames).
[SCEV] Add smin support to getRangeRef
Thu, Sep 12, 2:33 PM
reames committed rL371776: [SCEV] Add smin support to getRangeRef.
[SCEV] Add smin support to getRangeRef
Thu, Sep 12, 2:32 PM
reames closed D67514: [SCEV] Add smin/umin support to getRangeRef.
Thu, Sep 12, 2:32 PM · Restricted Project
reames added a comment to D67514: [SCEV] Add smin/umin support to getRangeRef.

I've put up a patch for SCEVUmin D67177. I plan to land it tomorrow.

Ok, could you review this one then? The umin portion looks identical, so assume I remove that after rebasing on your change.

Thu, Sep 12, 12:38 PM · Restricted Project
reames updated the diff for D67514: [SCEV] Add smin/umin support to getRangeRef.

Rebase over precommited tests.

Thu, Sep 12, 12:36 PM · Restricted Project
reames committed rGa3d27375205a: Precommit tests for D67514 (authored by reames).
Precommit tests for D67514
Thu, Sep 12, 12:34 PM
reames committed rL371762: Precommit tests for D67514.
Precommit tests for D67514
Thu, Sep 12, 12:32 PM
reames added inline comments to D67510: [LV] Support gaps, overlaps, and inexact sizes in speculation logic.
Thu, Sep 12, 12:30 PM · Restricted Project
reames created D67514: [SCEV] Add smin/umin support to getRangeRef.
Thu, Sep 12, 12:29 PM · Restricted Project
reames added inline comments to D67408: [IndVars] An implementation of loop predication without a need for speculation.
Thu, Sep 12, 11:35 AM · Restricted Project
reames created D67510: [LV] Support gaps, overlaps, and inexact sizes in speculation logic.
Thu, Sep 12, 11:28 AM · Restricted Project
reames committed rGe0cab7071811: Precommit tests for generalization of load dereferenceability in loop (authored by reames).
Precommit tests for generalization of load dereferenceability in loop
Thu, Sep 12, 10:11 AM
reames committed rL371747: Precommit tests for generalization of load dereferenceability in loop.
Precommit tests for generalization of load dereferenceability in loop
Thu, Sep 12, 10:11 AM
reames committed rGb90f94f42e32: [LV] Support invariant addresses in speculation logic (authored by reames).
[LV] Support invariant addresses in speculation logic
Thu, Sep 12, 9:50 AM
reames committed rL371745: [LV] Support invariant addresses in speculation logic.
[LV] Support invariant addresses in speculation logic
Thu, Sep 12, 9:49 AM
reames closed D67372: [LV] Support invariant addresses in speculation logic.
Thu, Sep 12, 9:49 AM · Restricted Project

Wed, Sep 11

reames accepted D67434: [InstCombine] Limit FMul constant folding for fma simplifications..

LGTM, subject to incorporate all comments below before landing.

Wed, Sep 11, 10:18 AM · Restricted Project
reames added inline comments to D67434: [InstCombine] Limit FMul constant folding for fma simplifications..
Wed, Sep 11, 9:43 AM · Restricted Project
reames added inline comments to D67434: [InstCombine] Limit FMul constant folding for fma simplifications..
Wed, Sep 11, 9:15 AM · Restricted Project
reames added inline comments to D67434: [InstCombine] Limit FMul constant folding for fma simplifications..
Wed, Sep 11, 9:13 AM · Restricted Project
reames added inline comments to D67446: [ConstProp] allow folding for fma that produces NaN.
Wed, Sep 11, 9:10 AM · Restricted Project
reames requested changes to D67434: [InstCombine] Limit FMul constant folding for fma simplifications..

First, please revert the previous patch until this review concludes. We have an active miscompile in tree, and that should be addressed first.

Wed, Sep 11, 9:03 AM · Restricted Project
reames updated the diff for D67408: [IndVars] An implementation of loop predication without a need for speculation.

Correct patch this time...

Wed, Sep 11, 8:50 AM · Restricted Project
reames planned changes to D67408: [IndVars] An implementation of loop predication without a need for speculation.

I somehow uploaded the wrong patch. Ignored until I can fix.

Wed, Sep 11, 8:50 AM · Restricted Project

Tue, Sep 10

reames updated the diff for D67372: [LV] Support invariant addresses in speculation logic.

Rebase after moving code to Loads.cpp

Tue, Sep 10, 2:38 PM · Restricted Project
reames committed rGcffa630c809f: [Loads] Move generic code out of vectorizer into a location it might be reused… (authored by reames).
[Loads] Move generic code out of vectorizer into a location it might be reused…
Tue, Sep 10, 2:34 PM
reames committed rL371558: [Loads] Move generic code out of vectorizer into a location it might be reused….
[Loads] Move generic code out of vectorizer into a location it might be reused…
Tue, Sep 10, 2:32 PM
reames committed rG1e1db800487c: [ValueTracking] Factor our common speculation suppression logic [NFC] (authored by reames).
[ValueTracking] Factor our common speculation suppression logic [NFC]
Tue, Sep 10, 2:12 PM
reames committed rL371556: [ValueTracking] Factor our common speculation suppression logic [NFC].
[ValueTracking] Factor our common speculation suppression logic [NFC]
Tue, Sep 10, 2:11 PM
reames updated the diff for D66318: [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile.

Add the nonvolatile_load/store cases. I'll rename them in a separate commit so as not to clutter the diff on this one.

Tue, Sep 10, 12:37 PM · Restricted Project
reames updated the diff for D66318: [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile.

Rebase to include isSimple usage, and test updates.

Tue, Sep 10, 12:24 PM · Restricted Project
reames committed rGa9beacbac8d2: [X86] Updated target specific selection dag code to conservatively check for… (authored by reames).
[X86] Updated target specific selection dag code to conservatively check for…
Tue, Sep 10, 11:43 AM
reames committed rL371547: [X86] Updated target specific selection dag code to conservatively check for….
[X86] Updated target specific selection dag code to conservatively check for…
Tue, Sep 10, 11:42 AM
reames closed D66322: [X86] Updated target specific selection dag code to conservatively check for isAtomic in addition to isVolatile.
Tue, Sep 10, 11:41 AM · Restricted Project
reames added a comment to D66318: [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile.

Porting a comment from craig.topper over on D66322:
"Will you also be updating nonvolatile_load/nonvolatile_store in include/llvm/Target/TargetSelectionDAG.td. We use those in several places where we change the size of a load."

Tue, Sep 10, 11:36 AM · Restricted Project
reames added a comment to D66322: [X86] Updated target specific selection dag code to conservatively check for isAtomic in addition to isVolatile.

LGTM. Will you also be updating nonvolatile_load/nonvolatile_store in include/llvm/Target/TargetSelectionDAG.td. We use those in several places where we change the size of a load.

This'll be under a separate review, but yes. See D66318. (I'll move your comment there.)

Tue, Sep 10, 11:31 AM · Restricted Project
reames created D67408: [IndVars] An implementation of loop predication without a need for speculation.
Tue, Sep 10, 10:44 AM · Restricted Project

Mon, Sep 9

reames committed rGb8cddb761140: [Tests] Fix a typo in a test (authored by reames).
[Tests] Fix a typo in a test
Mon, Sep 9, 2:33 PM
reames committed rG847fbf7013de: [Tests] Precommit test case for D67372 (authored by reames).
[Tests] Precommit test case for D67372
Mon, Sep 9, 2:33 PM
reames committed rL371456: [Tests] Fix a typo in a test.
[Tests] Fix a typo in a test
Mon, Sep 9, 2:33 PM
reames committed rL371455: [Tests] Precommit test case for D67372.
[Tests] Precommit test case for D67372
Mon, Sep 9, 2:33 PM
reames created D67372: [LV] Support invariant addresses in speculation logic.
Mon, Sep 9, 2:16 PM · Restricted Project
reames committed rG7403569be751: [LoopVectorize] Leverage speculation safety to avoid masked.loads (authored by reames).
[LoopVectorize] Leverage speculation safety to avoid masked.loads
Mon, Sep 9, 1:56 PM
reames committed rL371452: [LoopVectorize] Leverage speculation safety to avoid masked.loads.
[LoopVectorize] Leverage speculation safety to avoid masked.loads
Mon, Sep 9, 1:56 PM
reames closed D66688: [LoopVectorize] Leverage speculation safety to avoid masked.loads.
Mon, Sep 9, 1:56 PM · Restricted Project
reames committed rG48453bb8eda3: [Tests] Add anyextend tests for unordered atomics (authored by reames).
[Tests] Add anyextend tests for unordered atomics
Mon, Sep 9, 1:29 PM
reames planned changes to D66318: [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile.

Waiting behind D66322 since that's where discussion has happened. Once that's in, will rebase with the same changes here.

Mon, Sep 9, 1:29 PM · Restricted Project
reames updated the summary of D66322: [X86] Updated target specific selection dag code to conservatively check for isAtomic in addition to isVolatile.
Mon, Sep 9, 1:29 PM · Restricted Project
reames committed rL371449: [Tests] Add anyextend tests for unordered atomics.
[Tests] Add anyextend tests for unordered atomics
Mon, Sep 9, 1:26 PM
reames committed rGeae609e306e8: [SDAG] Add a isSimple cover functon to MemSDNode, just as we have in IR/MI [NFC] (authored by reames).
[SDAG] Add a isSimple cover functon to MemSDNode, just as we have in IR/MI [NFC]
Mon, Sep 9, 1:09 PM
reames committed rL371445: [SDAG] Add a isSimple cover functon to MemSDNode, just as we have in IR/MI [NFC].
[SDAG] Add a isSimple cover functon to MemSDNode, just as we have in IR/MI [NFC]
Mon, Sep 9, 1:05 PM
reames updated the diff for D66322: [X86] Updated target specific selection dag code to conservatively check for isAtomic in addition to isVolatile.

Rebase, address review comment, and correct patch description

Mon, Sep 9, 1:00 PM · Restricted Project
reames committed rG20aafa31569b: Introduce infrastructure for an incremental port of SelectionDAG atomic… (authored by reames).
Introduce infrastructure for an incremental port of SelectionDAG atomic…
Mon, Sep 9, 12:23 PM
reames committed rL371441: Introduce infrastructure for an incremental port of SelectionDAG atomic….
Introduce infrastructure for an incremental port of SelectionDAG atomic…
Mon, Sep 9, 12:22 PM
reames closed D66309: Introduce infrastructure for an incremental port of SelectionDAG atomic load/store handling.
Mon, Sep 9, 12:21 PM · Restricted Project

Fri, Sep 6

reames added inline comments to D66688: [LoopVectorize] Leverage speculation safety to avoid masked.loads.
Fri, Sep 6, 3:51 PM · Restricted Project
reames added inline comments to D66309: Introduce infrastructure for an incremental port of SelectionDAG atomic load/store handling.
Fri, Sep 6, 9:30 AM · Restricted Project
reames added a comment to D66688: [LoopVectorize] Leverage speculation safety to avoid masked.loads.

ping

Fri, Sep 6, 9:28 AM · Restricted Project

Wed, Sep 4

reames updated the diff for D66309: Introduce infrastructure for an incremental port of SelectionDAG atomic load/store handling.

Rebase tests...

Wed, Sep 4, 2:10 PM · Restricted Project
reames committed rG4228245e4119: [NFC] Switch last couple of invariant_load checks to use hasMetadata (authored by reames).
[NFC] Switch last couple of invariant_load checks to use hasMetadata
Wed, Sep 4, 11:28 AM
reames committed rL370948: [NFC] Switch last couple of invariant_load checks to use hasMetadata.
[NFC] Switch last couple of invariant_load checks to use hasMetadata
Wed, Sep 4, 11:26 AM
reames committed rG3a49ca331fa2: Update CodeGen to use hasMetadata as appropriate [NFC] (authored by reames).
Update CodeGen to use hasMetadata as appropriate [NFC]
Wed, Sep 4, 10:47 AM
reames committed rL370942: Update CodeGen to use hasMetadata as appropriate [NFC].
Update CodeGen to use hasMetadata as appropriate [NFC]
Wed, Sep 4, 10:46 AM
reames committed rG27820f99091d: [Instruction] Add hasMetadata(Kind) helper [NFC] (authored by reames).
[Instruction] Add hasMetadata(Kind) helper [NFC]
Wed, Sep 4, 10:29 AM
reames committed rL370933: [Instruction] Add hasMetadata(Kind) helper [NFC].
[Instruction] Add hasMetadata(Kind) helper [NFC]
Wed, Sep 4, 10:27 AM

Tue, Sep 3

reames committed rG30dc2da8273f: [GVN] Remove a todo introduced w/rL370791 (authored by reames).
[GVN] Remove a todo introduced w/rL370791
Tue, Sep 3, 2:56 PM
reames committed rL370824: [GVN] Remove a todo introduced w/rL370791.
[GVN] Remove a todo introduced w/rL370791
Tue, Sep 3, 2:54 PM
reames added inline comments to D67126: [GVN/FP] Considate logic for reasoning about equality vs equivalance for floats.
Tue, Sep 3, 2:02 PM · Restricted Project
reames added a comment to D66309: Introduce infrastructure for an incremental port of SelectionDAG atomic load/store handling.

Ping. I'd like to get this landed if possible.

Tue, Sep 3, 2:02 PM · Restricted Project
reames created D67126: [GVN/FP] Considate logic for reasoning about equality vs equivalance for floats.
Tue, Sep 3, 1:40 PM · Restricted Project
reames added a comment to D66322: [X86] Updated target specific selection dag code to conservatively check for isAtomic in addition to isVolatile.

We have the isSimple() wrapper for in LoadInst and StoreInst, could we add that to MemSDNode as well?

bool isSimple() const { return !isAtomic() && !isVolatile(); }

I thought about it, but it seemed very likely to be confused the isSimple predicate on value types. I'm happy to add it if you want though.

Tue, Sep 3, 1:40 PM · Restricted Project
reames committed rG37e2f5f125e1: [GVN] Propagate simple equalities from assumes within the tail of the block (authored by reames).
[GVN] Propagate simple equalities from assumes within the tail of the block
Tue, Sep 3, 10:34 AM
reames added a comment to D66977: [GVN] Propagate simple equalities from assumes within the tail of the block.

LGTM, with a few nits/suggestions for comments. Also, it would be great if you could also add a test case with floats.

Landed w/comments applied and one additional fix noticed when writing your requested floating point test case.

Tue, Sep 3, 10:34 AM · Restricted Project
reames committed rL370791: [GVN] Propagate simple equalities from assumes within the tail of the block.
[GVN] Propagate simple equalities from assumes within the tail of the block
Tue, Sep 3, 10:30 AM
reames closed D66977: [GVN] Propagate simple equalities from assumes within the tail of the block.
Tue, Sep 3, 10:29 AM · Restricted Project
reames committed rG154a944a80f1: [Tests/GVN] Precommit requested test additions from D66977 (authored by reames).
[Tests/GVN] Precommit requested test additions from D66977
Tue, Sep 3, 10:02 AM
reames committed rL370784: [Tests/GVN] Precommit requested test additions from D66977.
[Tests/GVN] Precommit requested test additions from D66977
Tue, Sep 3, 10:01 AM

Fri, Aug 30

reames updated the diff for D66688: [LoopVectorize] Leverage speculation safety to avoid masked.loads.

Actually ready for review now. I think I've covered all the cornercases and the structure of the code should be more reasonable.

Fri, Aug 30, 4:51 PM · Restricted Project
reames committed rL370532: Adding self to github migration list.
Adding self to github migration list
Fri, Aug 30, 2:20 PM
reames requested changes to D66890: [IndVarSimplify] Do not use SCEV expander for IVCount in LFTR when possible..

See inline review comment

Fri, Aug 30, 9:40 AM · Restricted Project
reames added a comment to D65464: [LoopFusion] Add ability to fuse guarded loops.

Are there any other comments on this?
If not, I'd like to get this committed and start working on the next patch.

I did a sweep through and didn't spot anything, but can't claim to be deeply familiar with this code.

Fri, Aug 30, 9:23 AM · Restricted Project
reames updated the diff for D66977: [GVN] Propagate simple equalities from assumes within the tail of the block.

Remove copied comment which doesn't make sense in new context

Fri, Aug 30, 9:05 AM · Restricted Project