Page MenuHomePhabricator
Feed Advanced Search

Fri, Jul 12

asbirlea committed rGdb101864bdc9: [MemorySSA] Use SetVector to avoid nondeterminism. (authored by asbirlea).
[MemorySSA] Use SetVector to avoid nondeterminism.
Fri, Jul 12, 3:31 PM
asbirlea committed rL365970: [MemorySSA] Use SetVector to avoid nondeterminism..
[MemorySSA] Use SetVector to avoid nondeterminism.
Fri, Jul 12, 3:30 PM
asbirlea closed D64601: [MemorySSA] Use SetVector to avoid nondeterminism..
Fri, Jul 12, 3:30 PM · Restricted Project
asbirlea added a comment to D64601: [MemorySSA] Use SetVector to avoid nondeterminism..

I'm planning to go ahead with the patch as is, and if the test tickles any bots, we can disable/remove/update it.

Fri, Jul 12, 3:13 PM · Restricted Project
asbirlea updated the diff for D64601: [MemorySSA] Use SetVector to avoid nondeterminism..

Add comment in test.

Fri, Jul 12, 3:13 PM · Restricted Project
asbirlea updated the diff for D64601: [MemorySSA] Use SetVector to avoid nondeterminism..

Add test.
Tested with LLVM_ENABLE_REVERSE_ITERATION enabled and without.

Fri, Jul 12, 3:06 PM · Restricted Project
asbirlea added a comment to D64601: [MemorySSA] Use SetVector to avoid nondeterminism..

I don't know if a bot exists with LLVM_ENABLE_REVERSE_ITERATION set to true, but if it does, then the check I proposed for the uselist order would likely fail, no?

; CHECK: uselistorder i16 0, { 3, 2, 4, 1, 5, 0, 6 }
Fri, Jul 12, 1:42 PM · Restricted Project
asbirlea added a comment to D64601: [MemorySSA] Use SetVector to avoid nondeterminism..

Hmm, AFAICT, there is no opt flag equivalent for LLVM_ENABLE_REVERSE_ITERATION. Did I miss it?

Fri, Jul 12, 11:27 AM · Restricted Project

Thu, Jul 11

asbirlea added a comment to D64601: [MemorySSA] Use SetVector to avoid nondeterminism..

You can use SetVector's "getArrayRef" and pass it as "void removeBlocks(ArrayRef<BasicBlock *> DeadBlocks);"

Thu, Jul 11, 3:36 PM · Restricted Project
asbirlea added a comment to D64601: [MemorySSA] Use SetVector to avoid nondeterminism..

I'd be interested if there's a better way to use a SmallSetVector, without needing the "8". I don't see an Impl version.
The only alternative I came up with was something like:

template <class OrderedSetT>
void removeBlocks(const OrderedSetT &DeadBlocks);
Thu, Jul 11, 3:17 PM · Restricted Project
asbirlea created D64601: [MemorySSA] Use SetVector to avoid nondeterminism..
Thu, Jul 11, 3:12 PM · Restricted Project

Wed, Jul 10

asbirlea committed rG58a37754bb10: [LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map. (authored by asbirlea).
[LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map.
Wed, Jul 10, 10:38 AM
asbirlea committed rL365672: [LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map..
[LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map.
Wed, Jul 10, 10:38 AM
asbirlea closed D63680: [LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map..
Wed, Jul 10, 10:38 AM · Restricted Project

Tue, Jul 9

asbirlea added inline comments to D63680: [LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map..
Tue, Jul 9, 4:02 PM · Restricted Project

Mon, Jul 8

asbirlea added inline comments to D63934: [MIR] Improve PRE condition of MachineCSE optimization.
Mon, Jul 8, 3:03 PM · Restricted Project
asbirlea added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Mon, Jul 8, 12:12 PM · Restricted Project, Restricted Project

Fri, Jun 21

asbirlea created D63680: [LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map..
Fri, Jun 21, 4:18 PM · Restricted Project

Thu, Jun 20

asbirlea committed rGd0b11698cdf8: [LICM & MSSA] Limit unsafe sinking and hoisting. (authored by asbirlea).
[LICM & MSSA] Limit unsafe sinking and hoisting.
Thu, Jun 20, 2:07 PM
asbirlea committed rL363982: [LICM & MSSA] Limit unsafe sinking and hoisting..
[LICM & MSSA] Limit unsafe sinking and hoisting.
Thu, Jun 20, 2:06 PM
asbirlea closed D63582: [LICM & MSSA] Limit unsafe sinking and hoisting..
Thu, Jun 20, 2:06 PM · Restricted Project
asbirlea updated the diff for D63582: [LICM & MSSA] Limit unsafe sinking and hoisting..

Address comments and add testcase.

Thu, Jun 20, 1:41 PM · Restricted Project
asbirlea added a comment to rL362901: [MIR] Add simple PRE pass to MachineCSE.

@anton-afanasyev: FYI, we're still seeing this and it presents itself as a miscompile.
We're still working on getting a test case but it's proving to be very difficult.

Thu, Jun 20, 10:16 AM

Wed, Jun 19

asbirlea created D63582: [LICM & MSSA] Limit unsafe sinking and hoisting..
Wed, Jun 19, 5:18 PM · Restricted Project
asbirlea committed rG109d2ea1532c: [MemorySSA] Cleanup trivial phis. (authored by asbirlea).
[MemorySSA] Cleanup trivial phis.
Wed, Jun 19, 2:34 PM
asbirlea committed rL363880: [MemorySSA] Cleanup trivial phis..
[MemorySSA] Cleanup trivial phis.
Wed, Jun 19, 2:30 PM
asbirlea closed D63354: [MemorySSA] Cleanup trivial phis..
Wed, Jun 19, 2:30 PM · Restricted Project
asbirlea committed rG238b8e62b62d: [MemorySSA] Use GraphDiff info when computing IDF. (authored by asbirlea).
[MemorySSA] Use GraphDiff info when computing IDF.
Wed, Jun 19, 2:18 PM
asbirlea committed rL363879: [MemorySSA] Use GraphDiff info when computing IDF..
[MemorySSA] Use GraphDiff info when computing IDF.
Wed, Jun 19, 2:17 PM
asbirlea closed D63443: [MemorySSA] Use GraphDiff info when computing IDF..
Wed, Jun 19, 2:17 PM · Restricted Project

Mon, Jun 17

asbirlea updated the diff for D63147: [MemorySSA] Add additional verification for phis..

Update per the comment suggestion.

Mon, Jun 17, 2:37 PM · Restricted Project
asbirlea added inline comments to D63147: [MemorySSA] Add additional verification for phis..
Mon, Jun 17, 2:28 PM · Restricted Project
asbirlea committed rG7a0098aa6e36: [MemorySSA] Don't use template when the clone is a simplified instruction. (authored by asbirlea).
[MemorySSA] Don't use template when the clone is a simplified instruction.
Mon, Jun 17, 11:57 AM
asbirlea committed rL363597: [MemorySSA] Don't use template when the clone is a simplified instruction..
[MemorySSA] Don't use template when the clone is a simplified instruction.
Mon, Jun 17, 11:57 AM
asbirlea closed D63355: [MemorySSA] Don't use template when the clone is a simplified instruction..
Mon, Jun 17, 11:57 AM · Restricted Project
asbirlea updated the diff for D63355: [MemorySSA] Don't use template when the clone is a simplified instruction..

Address comments.

Mon, Jun 17, 11:40 AM · Restricted Project
asbirlea committed rG05f77803f45a: [MemorySSA] Add all MemoryPhis before filling their values. (authored by asbirlea).
[MemorySSA] Add all MemoryPhis before filling their values.
Mon, Jun 17, 11:14 AM
asbirlea committed rL363590: [MemorySSA] Add all MemoryPhis before filling their values..
[MemorySSA] Add all MemoryPhis before filling their values.
Mon, Jun 17, 11:14 AM
asbirlea closed D63353: [MemorySSA] Add all MemoryPhis before filling their values..
Mon, Jun 17, 11:14 AM · Restricted Project
asbirlea created D63443: [MemorySSA] Use GraphDiff info when computing IDF..
Mon, Jun 17, 10:07 AM · Restricted Project
asbirlea added a comment to D63389: [IDF] Generalize IDFCalculator to be used with Clang's CFG.

We do very much need GraphDiff in the IDFCalculator when doing updates in MemorySSA. I don't know how I missed this, since it was the very reason it was added, but thanks a lot for catching it.
I'll send a patch with the fix shortly.

Mon, Jun 17, 10:02 AM · Restricted Project

Jun 14 2019

asbirlea created D63355: [MemorySSA] Don't use template when the clone is a simplified instruction..
Jun 14 2019, 12:14 PM · Restricted Project
asbirlea created D63354: [MemorySSA] Cleanup trivial phis..
Jun 14 2019, 12:11 PM · Restricted Project
asbirlea created D63353: [MemorySSA] Add all MemoryPhis before filling their values..
Jun 14 2019, 12:08 PM · Restricted Project

Jun 12 2019

asbirlea added a comment to rL362901: [MIR] Add simple PRE pass to MachineCSE.

@anton-afanasyev:
The test failures occur in Halide generated code, with the HVX backend. They are not public.
r363164 does not fix the tests; it does change an erroneous output to another erroneous one.

Jun 12 2019, 2:11 PM
asbirlea added a comment to rL362901: [MIR] Add simple PRE pass to MachineCSE.

FYI, we're seeing test failures due to this revision. Currently trying to isolate a testcase, but it may be challenging to minimize if the failures are due to a miscompile.

Jun 12 2019, 12:06 PM

Jun 11 2019

asbirlea updated the diff for D63147: [MemorySSA] Add additional verification for phis..

Add NDEBUG.

Jun 11 2019, 12:11 PM · Restricted Project
asbirlea committed rGcb4ed8a7bc9c: [MemorySSA] When applying updates, clean unnecessary Phis. (authored by asbirlea).
[MemorySSA] When applying updates, clean unnecessary Phis.
Jun 11 2019, 12:08 PM
asbirlea committed rL363094: [MemorySSA] When applying updates, clean unnecessary Phis..
[MemorySSA] When applying updates, clean unnecessary Phis.
Jun 11 2019, 12:06 PM
asbirlea closed D63033: [MemorySSA] When applying updates, clean unnecessary Phis..
Jun 11 2019, 12:06 PM · Restricted Project
asbirlea added a comment to D62536: Only passes that preserve MemorySSA must mark it as preserved..

I wasn't yet able to reproduce this with opt -aa-pipeline=default -passes="default<O3>", only with clang -cc1 -O3 -fexperimental-new-pass-manager.
I'll keep working on getting a test, but I checked this in for now, since it's necessary to fix crashes for the combination of MemorySSA + NewPassManager.

Jun 11 2019, 11:43 AM · Restricted Project
asbirlea committed rG3cef1f7d64f2: Only passes that preserve MemorySSA must mark it as preserved. (authored by asbirlea).
Only passes that preserve MemorySSA must mark it as preserved.
Jun 11 2019, 11:25 AM
asbirlea committed rL363091: Only passes that preserve MemorySSA must mark it as preserved..
Only passes that preserve MemorySSA must mark it as preserved.
Jun 11 2019, 11:25 AM
asbirlea closed D62536: Only passes that preserve MemorySSA must mark it as preserved..
Jun 11 2019, 11:25 AM · Restricted Project
asbirlea updated the diff for D63033: [MemorySSA] When applying updates, clean unnecessary Phis..

Add test.

Jun 11 2019, 11:23 AM · Restricted Project
asbirlea created D63147: [MemorySSA] Add additional verification for phis..
Jun 11 2019, 9:57 AM · Restricted Project

Jun 7 2019

asbirlea created D63033: [MemorySSA] When applying updates, clean unnecessary Phis..
Jun 7 2019, 4:08 PM · Restricted Project
asbirlea committed rGeaea538d18c1: [DomTreeUpdater] Add all insert before all delete updates to reduce compile… (authored by asbirlea).
[DomTreeUpdater] Add all insert before all delete updates to reduce compile…
Jun 7 2019, 1:43 PM
asbirlea committed rL362839: [DomTreeUpdater] Add all insert before all delete updates to reduce compile….
[DomTreeUpdater] Add all insert before all delete updates to reduce compile…
Jun 7 2019, 1:43 PM
asbirlea closed D62981: [DomTreeUpdater] Add all insert before all delete updates to reduce compile time..
Jun 7 2019, 1:43 PM · Restricted Project
asbirlea updated the diff for D62981: [DomTreeUpdater] Add all insert before all delete updates to reduce compile time..

Add detalied comment.

Jun 7 2019, 11:24 AM · Restricted Project
Herald added a project to D54730: [DomTree] Fix order of domtree updates in MergeBlockIntoPredecessor.: Restricted Project.

Since I sent out D62981 with identical changes and the same motivation (thank you for pointing this out @NutshellySima), please let me add a small comment here.

Jun 7 2019, 9:33 AM · Restricted Project

Jun 6 2019

asbirlea created D62981: [DomTreeUpdater] Add all insert before all delete updates to reduce compile time..
Jun 6 2019, 1:53 PM · Restricted Project
asbirlea added a comment to D62751: [Utils] Clean another duplicated util method..

Following up: I can match the previous performance if all update inserts are done first. I'll send a patch for this. But perhaps this should be done inside DTU (i.e. sort updates)?

Jun 6 2019, 12:33 PM · Restricted Project
asbirlea added a comment to D62751: [Utils] Clean another duplicated util method..

It appears the difference is in the way the DT updates are done.
+@kuhar, @NutshellySima: Could you please take a look at the way the updates are done in MergeBlockIntoPredecessor vs (the removed) foldBlockIntoPredecessor? I tried to use a Lazy strategy and flush after doing all the potential merges, but the regression is still there. Can we get the same performance with the DomTreeUpdater here?

Jun 6 2019, 12:21 PM · Restricted Project
asbirlea updated subscribers of D62751: [Utils] Clean another duplicated util method..
Jun 6 2019, 12:20 PM · Restricted Project

Jun 4 2019

asbirlea committed rGbfceed49cec1: [Utils] Clean another duplicated util method. (authored by asbirlea).
[Utils] Clean another duplicated util method.
Jun 4 2019, 11:45 AM
asbirlea committed rL362538: [Utils] Clean another duplicated util method..
[Utils] Clean another duplicated util method.
Jun 4 2019, 11:42 AM
asbirlea closed D62751: [Utils] Clean another duplicated util method..
Jun 4 2019, 11:42 AM · Restricted Project

Jun 3 2019

asbirlea updated the summary of D62751: [Utils] Clean another duplicated util method..
Jun 3 2019, 2:03 PM · Restricted Project
asbirlea updated the diff for D62751: [Utils] Clean another duplicated util method..

No reason for not removing the unused method.
Squashed a local NFC commit I had into this one.

Jun 3 2019, 2:03 PM · Restricted Project

May 31 2019

asbirlea created D62751: [Utils] Clean another duplicated util method..
May 31 2019, 2:22 PM · Restricted Project
asbirlea accepted D58700: [JumpThreading] Replace MergeBasicBlockIntoOnlyPred() with MergeBlockIntoPredecessor().

LGTM.

May 31 2019, 1:50 PM · Restricted Project
asbirlea added inline comments to D62656: Make SwitchInstProfUpdateWrapper safer.
May 31 2019, 1:22 PM · Restricted Project

May 30 2019

asbirlea added a comment to D48202: Generalize MergeBlockIntoPredecessor. Replace uses of MergeBasicBlockIntoOnlyPred..

Am I right that there is yet another method doing the same thing?
lib/Transforms/Utils/LoopUnroll.cpp:foldBlockIntoPredecessor

May 30 2019, 1:40 PM · Restricted Project

May 28 2019

asbirlea added a comment to D62126: [CorrelatedValuePropagation] Fix prof branch_weights metadata handling for SwitchInst.

Thank you for the quick action!

May 28 2019, 2:34 PM · Restricted Project
asbirlea added a comment to D62126: [CorrelatedValuePropagation] Fix prof branch_weights metadata handling for SwitchInst.

FYI, we're seeing a crash in llvm::SwitchInstProfUpdateWrapper::getProfBranchWeights() following this patch.
I'm trying to get a testcase available.

May 28 2019, 2:06 PM · Restricted Project
asbirlea added a comment to D60606: [SimpleLoopUnswitch] Implement handling of prof branch_weights metadata for SwitchInst.

I'd prefer to have Chandler approve this, since I'm not familiar with what you're trying to do here.
Some minor comments inline.

May 28 2019, 11:26 AM · Restricted Project
asbirlea created D62536: Only passes that preserve MemorySSA must mark it as preserved..
May 28 2019, 11:04 AM · Restricted Project

May 24 2019

asbirlea committed rGb4c756dc1cde: Mark tests as x86. (authored by asbirlea).
Mark tests as x86.
May 24 2019, 2:51 PM
asbirlea committed rL361674: Mark tests as x86..
Mark tests as x86.
May 24 2019, 2:51 PM
asbirlea committed rC361674: Mark tests as x86..
Mark tests as x86.
May 24 2019, 2:46 PM
asbirlea committed rG21efe2afed7b: [NewPassManager] Add tuning option: LoopUnrolling [clang-change] (authored by asbirlea).
[NewPassManager] Add tuning option: LoopUnrolling [clang-change]
May 24 2019, 10:39 AM
asbirlea committed rC361653: [NewPassManager] Add tuning option: LoopUnrolling [clang-change].
[NewPassManager] Add tuning option: LoopUnrolling [clang-change]
May 24 2019, 10:39 AM
asbirlea committed rL361653: [NewPassManager] Add tuning option: LoopUnrolling [clang-change].
[NewPassManager] Add tuning option: LoopUnrolling [clang-change]
May 24 2019, 10:39 AM
asbirlea closed D61620: [NewPassManager] Add tuning option: LoopUnrolling [clang-change].
May 24 2019, 10:39 AM · Restricted Project, Restricted Project

May 23 2019

asbirlea committed rGf2e41dd6ed1a: Use clang_cc1 instead of clang in CodeGen test. (authored by asbirlea).
Use clang_cc1 instead of clang in CodeGen test.
May 23 2019, 3:08 PM
asbirlea committed rL361562: Use clang_cc1 instead of clang in CodeGen test..
Use clang_cc1 instead of clang in CodeGen test.
May 23 2019, 3:08 PM
asbirlea committed rC361562: Use clang_cc1 instead of clang in CodeGen test..
Use clang_cc1 instead of clang in CodeGen test.
May 23 2019, 3:08 PM
asbirlea committed rGd82ddfa7c37d: [NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC]. (authored by asbirlea).
[NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC].
May 23 2019, 2:52 PM
asbirlea committed rL361560: [NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC]..
[NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC].
May 23 2019, 2:52 PM
asbirlea closed D61612: [NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC]..
May 23 2019, 2:52 PM · Restricted Project
asbirlea committed rG9925ef78ce2c: Update breaking test. (authored by asbirlea).
Update breaking test.
May 23 2019, 12:49 PM
asbirlea committed rC361542: Update breaking test..
Update breaking test.
May 23 2019, 12:48 PM
asbirlea committed rL361542: Update breaking test..
Update breaking test.
May 23 2019, 12:48 PM
asbirlea committed rGe4b27869c60c: [NewPassManager] Add tuning option: LoopUnrolling [NFC]. (authored by asbirlea).
[NewPassManager] Add tuning option: LoopUnrolling [NFC].
May 23 2019, 12:37 PM
asbirlea committed rL361540: [NewPassManager] Add tuning option: LoopUnrolling [NFC]..
[NewPassManager] Add tuning option: LoopUnrolling [NFC].
May 23 2019, 12:37 PM
asbirlea closed D61618: [NewPassManager] Add tuning option: LoopUnrolling [NFC]..
May 23 2019, 12:37 PM · Restricted Project
asbirlea added a comment to D61618: [NewPassManager] Add tuning option: LoopUnrolling [NFC]..

Ack, will do!

May 23 2019, 12:25 PM · Restricted Project
asbirlea committed rG63729b0c49d2: [SLPVectorizer] Set flag to previous default. (authored by asbirlea).
[SLPVectorizer] Set flag to previous default.
May 23 2019, 12:05 PM