Page MenuHomePhabricator

reames (Philip Reames)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 23 2013, 6:32 PM (278 w, 2 d)

Recent Activity

Thu, Feb 21

reames added inline comments to D58251: Extend "idempotent" atomicrmw optimizations to floating point.
Thu, Feb 21, 9:41 AM
reames added inline comments to D58490: Be super conservative about atomics in various backends.
Thu, Feb 21, 9:41 AM · Restricted Project

Wed, Feb 20

reames added a comment to D57601: Seperate volatility and atomicity/ordering in SelectionDAG.

Question for Reviewers: Going through uses of isVolatile in backend code, I see suspicious bits in Lania, ARM, and Hexagon. What's the best way to handle this? I can easily apply the workaround I mention for out of tree backends, or I could make them equally conservative for isAtomic. The other in tree backends appear to be fine, though I'd welcome review from folks knowledgeable of non-x86 backends.

I think adding the isAtomic check to the appropriate locations that are checking isVolatile makes the most sense, since it's easier to see and undo in the future, if that's desired.

D58490 is posted for review.

Wed, Feb 20, 8:11 PM
reames created D58490: Be super conservative about atomics in various backends.
Wed, Feb 20, 8:10 PM · Restricted Project
reames added a comment to D58113: [SCEV] Teach computeSCEVAtScope benefit from one-input Phi. PR39673.

I'm fine with this landing, since the patch is an obvious improvement. However, I have to admit I don't understand the interaction between LCSSA and SCEV here. Why does SCEV need to care that a phi might be a LCSSA phi? They seem orthogonal. Maybe *some particular caller* might need to care, but that seems like a different issue?

Wed, Feb 20, 8:58 AM
reames added a comment to D57601: Seperate volatility and atomicity/ordering in SelectionDAG.
In D57601#1401075, @asb wrote:

It seems there's a clear plan on the path forwards - is it worth writing it up as a short RFC on the mailing list, particular given the potential for subtle issues for out-of-tree backends?

I was planning on sending a note after it lands. Happy to do so now if folks things it's warranted.

Wed, Feb 20, 8:55 AM
reames requested changes to D58231: [LICM] Support of widenable condition guards in LICM.
Wed, Feb 20, 8:54 AM · Restricted Project
reames added a comment to D58231: [LICM] Support of widenable condition guards in LICM.

Does the existing code successfully hoist the widenable_condition call itself out of the loop? If not, splitting out specifically that part of the transform would be well called for and necessary for unswitch to make progress. If it does, then the patch as written includes redundant handling which should be removed.

Wed, Feb 20, 8:54 AM · Restricted Project
reames added a comment to D58359: [Analysis] fold load of untouched alloca to undef.

JFYI, I disagree w/the sentiment expressed that we shouldn't do obvious memory optimizations in InstCombine. InstCombine does local peephole optimizations *including memory optimizations*. Even if I accept the stated goal that it *shouldn't*, today it *does* and there's no reason to reject this patch.

Wed, Feb 20, 8:51 AM · Restricted Project

Tue, Feb 19

reames committed rG79d5e16f519a: [GVN] Small tweaks to comments, style, and missed vector handling (authored by reames).
[GVN] Small tweaks to comments, style, and missed vector handling
Tue, Feb 19, 4:32 PM
reames committed rL354412: [GVN] Small tweaks to comments, style, and missed vector handling.
[GVN] Small tweaks to comments, style, and missed vector handling
Tue, Feb 19, 4:30 PM
reames committed rGa259dc326305: [GVN] Fix last crasher w/non-integral pointers (authored by reames).
[GVN] Fix last crasher w/non-integral pointers
Tue, Feb 19, 4:16 PM
reames committed rL354407: [GVN] Fix last crasher w/non-integral pointers.
[GVN] Fix last crasher w/non-integral pointers
Tue, Feb 19, 4:15 PM
reames committed rG952d234d00b1: [GVN] Fix a crash bug w/non-integral pointers and memtransfers (authored by reames).
[GVN] Fix a crash bug w/non-integral pointers and memtransfers
Tue, Feb 19, 3:50 PM
reames committed rL354403: [GVN] Fix a crash bug w/non-integral pointers and memtransfers.
[GVN] Fix a crash bug w/non-integral pointers and memtransfers
Tue, Feb 19, 3:49 PM
reames committed rG322eb7660ed5: [GVN] Fix a non-integral pointer bug w/vector types (authored by reames).
[GVN] Fix a non-integral pointer bug w/vector types
Tue, Feb 19, 3:20 PM
reames committed rL354401: [GVN] Fix a non-integral pointer bug w/vector types.
[GVN] Fix a non-integral pointer bug w/vector types
Tue, Feb 19, 3:19 PM
reames committed rG92756a80e7ae: [GVN] Fix a crash bug around non-integral pointers (authored by reames).
[GVN] Fix a crash bug around non-integral pointers
Tue, Feb 19, 3:07 PM
reames committed rL354399: [GVN] Fix a crash bug around non-integral pointers.
[GVN] Fix a crash bug around non-integral pointers
Tue, Feb 19, 3:07 PM
reames committed rG979587d91dbe: [Test] Autogenerate existing tests before adding more (authored by reames).
[Test] Autogenerate existing tests before adding more
Tue, Feb 19, 2:57 PM
reames committed rL354398: [Test] Autogenerate existing tests before adding more.
[Test] Autogenerate existing tests before adding more
Tue, Feb 19, 2:57 PM

Fri, Feb 15

reames added a comment to D58231: [LICM] Support of widenable condition guards in LICM.

This looks to be a form of unswitching. Can you explain why this needs to be done in LICM rather than in unswitching?

Fri, Feb 15, 1:41 PM · Restricted Project
reames committed rG8220ecbce1a4: [InstCombine] Address a couple stylistic issues pointed out by reviewer [NFC] (authored by reames).
[InstCombine] Address a couple stylistic issues pointed out by reviewer [NFC]
Fri, Feb 15, 1:32 PM
reames committed rL354171: [InstCombine] Address a couple stylistic issues pointed out by reviewer [NFC].
[InstCombine] Address a couple stylistic issues pointed out by reviewer [NFC]
Fri, Feb 15, 1:32 PM
reames added a comment to D57601: Seperate volatility and atomicity/ordering in SelectionDAG.

ping

Fri, Feb 15, 1:32 PM
reames committed rGcae6c767e886: [InstCombine] Convert atomicrmws to xchg or store where legal (authored by reames).
[InstCombine] Convert atomicrmws to xchg or store where legal
Fri, Feb 15, 1:30 PM
reames committed rL354170: [InstCombine] Convert atomicrmws to xchg or store where legal.
[InstCombine] Convert atomicrmws to xchg or store where legal
Fri, Feb 15, 1:30 PM
reames closed D58290: Convert atomicrmws to xchg or store where legal.
Fri, Feb 15, 1:30 PM · Restricted Project
reames added inline comments to D58290: Convert atomicrmws to xchg or store where legal.
Fri, Feb 15, 1:17 PM · Restricted Project
reames created D58290: Convert atomicrmws to xchg or store where legal.
Fri, Feb 15, 9:41 AM · Restricted Project
reames committed rGd9c4646d051a: [Tests] Demonstrate more missing atomicrmw transforms (authored by reames).
[Tests] Demonstrate more missing atomicrmw transforms
Fri, Feb 15, 9:15 AM
reames committed rL354146: [Tests] Demonstrate more missing atomicrmw transforms.
[Tests] Demonstrate more missing atomicrmw transforms
Fri, Feb 15, 9:15 AM

Thu, Feb 14

reames created D58251: Extend "idempotent" atomicrmw optimizations to floating point.
Thu, Feb 14, 1:19 PM
reames added inline comments to D58242: Teach instcombine about remaining idemptotent atomicrmw types.
Thu, Feb 14, 12:58 PM · Restricted Project
reames committed rGdb57ef62382c: [InstCombine] Add todos for possible atomicrmw transforms (authored by reames).
[InstCombine] Add todos for possible atomicrmw transforms
Thu, Feb 14, 12:48 PM
reames committed rL354059: [InstCombine] Add todos for possible atomicrmw transforms.
[InstCombine] Add todos for possible atomicrmw transforms
Thu, Feb 14, 12:48 PM
reames committed rG485474208e11: Canonicalize all integer "idempotent" atomicrmw ops (authored by reames).
Canonicalize all integer "idempotent" atomicrmw ops
Thu, Feb 14, 12:41 PM
reames committed rL354058: Canonicalize all integer "idempotent" atomicrmw ops.
Canonicalize all integer "idempotent" atomicrmw ops
Thu, Feb 14, 12:40 PM
reames closed D58244: Canonicalize all "idempotent" atomicrmw ops.
Thu, Feb 14, 12:40 PM · Restricted Project
reames added inline comments to D58244: Canonicalize all "idempotent" atomicrmw ops.
Thu, Feb 14, 11:35 AM · Restricted Project
reames updated the diff for D58244: Canonicalize all "idempotent" atomicrmw ops.

Address review comments

Thu, Feb 14, 11:34 AM · Restricted Project
reames created D58244: Canonicalize all "idempotent" atomicrmw ops.
Thu, Feb 14, 11:01 AM · Restricted Project
reames committed rG97067d3c7321: Teach instcombine about remaining "idempotent" atomicrmw types (authored by reames).
Teach instcombine about remaining "idempotent" atomicrmw types
Thu, Feb 14, 10:40 AM
reames added inline comments to D58242: Teach instcombine about remaining idemptotent atomicrmw types.
Thu, Feb 14, 10:40 AM · Restricted Project
reames committed rL354046: Teach instcombine about remaining "idempotent" atomicrmw types.
Teach instcombine about remaining "idempotent" atomicrmw types
Thu, Feb 14, 10:40 AM
reames closed D58242: Teach instcombine about remaining idemptotent atomicrmw types.
Thu, Feb 14, 10:40 AM · Restricted Project
reames created D58242: Teach instcombine about remaining idemptotent atomicrmw types.
Thu, Feb 14, 9:26 AM · Restricted Project
reames committed rG617cd10bf73e: [Tests] Add tests for all idemptotent atomicrmws (authored by reames).
[Tests] Add tests for all idemptotent atomicrmws
Thu, Feb 14, 9:01 AM
reames committed rL354036: [Tests] Add tests for all idemptotent atomicrmws.
[Tests] Add tests for all idemptotent atomicrmws
Thu, Feb 14, 9:01 AM

Wed, Feb 13

reames added a comment to D57601: Seperate volatility and atomicity/ordering in SelectionDAG.

Question for Reviewers: Going through uses of isVolatile in backend code, I see suspicious bits in Lania, ARM, and Hexagon. What's the best way to handle this? I can easily apply the workaround I mention for out of tree backends, or I could make them equally conservative for isAtomic. The other in tree backends appear to be fine, though I'd welcome review from folks knowledgeable of non-x86 backends.

Wed, Feb 13, 3:25 PM
reames updated the diff for D57601: Seperate volatility and atomicity/ordering in SelectionDAG.

No longer WIP, ready for real review.

Wed, Feb 13, 3:16 PM
reames updated the summary of D57601: Seperate volatility and atomicity/ordering in SelectionDAG.
Wed, Feb 13, 3:15 PM
reames committed rGe4cfb7dae8f1: [SelectionDAG] Inline a single use helper function, and remove last non-MMO… (authored by reames).
[SelectionDAG] Inline a single use helper function, and remove last non-MMO…
Wed, Feb 13, 3:01 PM
reames committed rL353989: [SelectionDAG] Inline a single use helper function, and remove last non-MMO….
[SelectionDAG] Inline a single use helper function, and remove last non-MMO…
Wed, Feb 13, 3:00 PM
reames committed rG41f400c948fe: [SelectionDAG] Kill last uses of getAtomic w/o a MMO operand [NFC] (authored by reames).
[SelectionDAG] Kill last uses of getAtomic w/o a MMO operand [NFC]
Wed, Feb 13, 12:43 PM
reames committed rL353977: [SelectionDAG] Kill last uses of getAtomic w/o a MMO operand [NFC].
[SelectionDAG] Kill last uses of getAtomic w/o a MMO operand [NFC]
Wed, Feb 13, 12:42 PM
reames committed rG9fc51bae7342: [Tests] More unordered atomic lowering tests (authored by reames).
[Tests] More unordered atomic lowering tests
Wed, Feb 13, 11:49 AM
reames committed rL353972: [Tests] More unordered atomic lowering tests.
[Tests] More unordered atomic lowering tests
Wed, Feb 13, 11:49 AM
reames committed rG9239b9a0e25d: [Tests] RMW folding tests w/unordered atomic operations (authored by reames).
[Tests] RMW folding tests w/unordered atomic operations
Wed, Feb 13, 10:45 AM
reames committed rL353966: [Tests] RMW folding tests w/unordered atomic operations.
[Tests] RMW folding tests w/unordered atomic operations
Wed, Feb 13, 10:44 AM
reames committed rG430d294f0b84: [Tests] Add a bunch of tests for load folding w/unordered atomics (authored by reames).
[Tests] Add a bunch of tests for load folding w/unordered atomics
Wed, Feb 13, 10:27 AM
reames committed rL353964: [Tests] Add a bunch of tests for load folding w/unordered atomics.
[Tests] Add a bunch of tests for load folding w/unordered atomics
Wed, Feb 13, 10:27 AM
reames committed rG5dddedee933f: [Tests] First batch of cornercase tests for unordered atomics (authored by reames).
[Tests] First batch of cornercase tests for unordered atomics
Wed, Feb 13, 10:02 AM
reames committed rL353959: [Tests] First batch of cornercase tests for unordered atomics.
[Tests] First batch of cornercase tests for unordered atomics
Wed, Feb 13, 10:01 AM
reames committed rG80e40959a020: [Tests] Auto update a test (authored by reames).
[Tests] Auto update a test
Wed, Feb 13, 9:33 AM
reames committed rL353958: [Tests] Auto update a test.
[Tests] Auto update a test
Wed, Feb 13, 9:33 AM
reames committed rG122e8132b4f8: [Tests] Rename some test files for consistency (authored by reames).
[Tests] Rename some test files for consistency
Wed, Feb 13, 9:23 AM
reames committed rL353956: [Tests] Rename some test files for consistency.
[Tests] Rename some test files for consistency
Wed, Feb 13, 9:23 AM

Tue, Feb 12

reames committed rG3908221356c7: [Tests] A few more live-in deopt lowering tests (authored by reames).
[Tests] A few more live-in deopt lowering tests
Tue, Feb 12, 3:00 PM
reames committed rL353895: [Tests] A few more live-in deopt lowering tests.
[Tests] A few more live-in deopt lowering tests
Tue, Feb 12, 2:59 PM
reames committed rG7403fac3a825: [InlineSpiller] Fix a crash due to lack of forward progress from remat (try 2) (authored by reames).
[InlineSpiller] Fix a crash due to lack of forward progress from remat (try 2)
Tue, Feb 12, 10:35 AM
reames committed rL353871: [InlineSpiller] Fix a crash due to lack of forward progress from remat (try 2).
[InlineSpiller] Fix a crash due to lack of forward progress from remat (try 2)
Tue, Feb 12, 10:33 AM

Mon, Feb 11

reames committed rGb6dc6eb8bb96: [Statepoint Lowering] Update misleading comments about chains (authored by reames).
[Statepoint Lowering] Update misleading comments about chains
Mon, Feb 11, 10:26 PM
reames committed rL353800: [Statepoint Lowering] Update misleading comments about chains.
[Statepoint Lowering] Update misleading comments about chains
Mon, Feb 11, 10:25 PM
reames committed rG5292a3b6aaed: [Test] Use autogenerated checks for more statepoint tests (authored by reames).
[Test] Use autogenerated checks for more statepoint tests
Mon, Feb 11, 4:13 PM
reames committed rL353776: [Test] Use autogenerated checks for more statepoint tests.
[Test] Use autogenerated checks for more statepoint tests
Mon, Feb 11, 4:12 PM
reames committed rG8663b00ce17f: [Tests] Fill out a few tests around gc relocation uniquing (authored by reames).
[Tests] Fill out a few tests around gc relocation uniquing
Mon, Feb 11, 4:03 PM
reames committed rL353773: [Tests] Fill out a few tests around gc relocation uniquing.
[Tests] Fill out a few tests around gc relocation uniquing
Mon, Feb 11, 4:02 PM
reames committed rG6a3862e3c29e: [Test] Autogenerate a statepoint test and actual show the reload (authored by reames).
[Test] Autogenerate a statepoint test and actual show the reload
Mon, Feb 11, 3:56 PM
reames committed rL353770: [Test] Autogenerate a statepoint test and actual show the reload.
[Test] Autogenerate a statepoint test and actual show the reload
Mon, Feb 11, 3:55 PM
reames committed rG5906a6591cdc: Be conservative about unordered accesses for the moment (authored by reames).
Be conservative about unordered accesses for the moment
Mon, Feb 11, 3:37 PM
reames committed rL353766: Be conservative about unordered accesses for the moment.
Be conservative about unordered accesses for the moment
Mon, Feb 11, 3:37 PM
reames closed D57802: Be conservative about unordered accesses for the moment.
Mon, Feb 11, 3:37 PM · Restricted Project
reames updated the summary of D57601: Seperate volatility and atomicity/ordering in SelectionDAG.
Mon, Feb 11, 3:36 PM
reames added a comment to D57468: Strengthen handling of GEPs and generic calls for all undef lanes.

ping

Mon, Feb 11, 2:27 PM
reames added a comment to D57802: Be conservative about unordered accesses for the moment.

ping

Mon, Feb 11, 2:27 PM · Restricted Project
reames accepted D56075: [GuardWidening] Support widening of explicitly expressed guards.

LGTM w/two required follow ups. Can be before or after landing.

Mon, Feb 11, 8:32 AM · Restricted Project

Fri, Feb 8

reames added inline comments to D57854: [InstCombine] Optimize `atomicrmw <op>, 0` into `load atomic` when possible.
Fri, Feb 8, 10:07 PM · Restricted Project

Wed, Feb 6

reames added inline comments to D56568: [AliasSetTracker] Store AliasResult and pass it on mergeSetIn..
Wed, Feb 6, 11:39 AM · Restricted Project

Tue, Feb 5

reames committed rG00ae46ba5291: [AliasSetTracker] Minor style tweak to avoid a variable w/two distinct live… (authored by reames).
[AliasSetTracker] Minor style tweak to avoid a variable w/two distinct live…
Tue, Feb 5, 7:47 PM
reames committed rL353267: [AliasSetTracker] Minor style tweak to avoid a variable w/two distinct live….
[AliasSetTracker] Minor style tweak to avoid a variable w/two distinct live…
Tue, Feb 5, 7:46 PM
reames updated the summary of D57601: Seperate volatility and atomicity/ordering in SelectionDAG.
Tue, Feb 5, 7:36 PM
reames created D57803: [X86][GlobalISEL] Support lowering aligned unordered atomics.
Tue, Feb 5, 7:34 PM
reames committed rGb5bb4a4ec6f3: [Test] Add codegen tests for unordered and monotonic integer operations (authored by reames).
[Test] Add codegen tests for unordered and monotonic integer operations
Tue, Feb 5, 7:21 PM
reames committed rL353266: [Test] Add codegen tests for unordered and monotonic integer operations.
[Test] Add codegen tests for unordered and monotonic integer operations
Tue, Feb 5, 7:18 PM
reames updated the summary of D57601: Seperate volatility and atomicity/ordering in SelectionDAG.
Tue, Feb 5, 6:54 PM
reames created D57802: Be conservative about unordered accesses for the moment.
Tue, Feb 5, 6:51 PM · Restricted Project

Mon, Feb 4

reames requested changes to D47113: [CVP] Teach CorrelatedValuePropagation to reduce the width of lshr instruction..

Marking just remove from review queue since discussion appears to have stalled.

Mon, Feb 4, 3:56 PM · Restricted Project
reames requested changes to D44252: [CVP] [LVI] Add LVI::getPredicateInBlock and use it in CVP..

Sorry for just getting around to reviewing this now. Should be a bit more response now.

Mon, Feb 4, 3:51 PM
reames added inline comments to D56568: [AliasSetTracker] Store AliasResult and pass it on mergeSetIn..
Mon, Feb 4, 12:40 PM · Restricted Project