Page MenuHomePhabricator

eeckstein (Erik Eckstein)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 25 2014, 7:40 AM (256 w, 20 h)

Recent Activity

Nov 11 2016

eeckstein committed rL286648: FunctionComparator: don't rely on argument evaluation order..
FunctionComparator: don't rely on argument evaluation order.
Nov 11 2016, 2:31 PM
eeckstein added a comment to D25385: Make the FunctionComparator of the MergeFunctions pass a stand-alone utility in a separate file.

Committed revision 286632.

Nov 11 2016, 1:25 PM
eeckstein committed rL286632: Make the FunctionComparator of the MergeFunctions pass a stand-alone utility..
Make the FunctionComparator of the MergeFunctions pass a stand-alone utility.
Nov 11 2016, 1:25 PM

Nov 8 2016

eeckstein added inline comments to D25385: Make the FunctionComparator of the MergeFunctions pass a stand-alone utility in a separate file.
Nov 8 2016, 7:37 AM

Nov 7 2016

eeckstein added a comment to D25385: Make the FunctionComparator of the MergeFunctions pass a stand-alone utility in a separate file.

ping?

Nov 7 2016, 10:15 AM

Oct 12 2016

eeckstein updated the diff for D25385: Make the FunctionComparator of the MergeFunctions pass a stand-alone utility in a separate file.

I added a unit test for FunctionComparator. It mainly test the API of the class (I didn't want to replicate the test for functionality, which are covered by the MergeFunction pass tests).

Oct 12 2016, 1:07 PM

Oct 10 2016

eeckstein added a comment to D25385: Make the FunctionComparator of the MergeFunctions pass a stand-alone utility in a separate file.

Might be worth having some unit tests if it's nicely abstracted as a reusable utility.

Oct 10 2016, 3:29 PM
eeckstein added inline comments to D25385: Make the FunctionComparator of the MergeFunctions pass a stand-alone utility in a separate file.
Oct 10 2016, 3:29 PM

Oct 7 2016

eeckstein retitled D25385: Make the FunctionComparator of the MergeFunctions pass a stand-alone utility in a separate file from to Make the FunctionComparator of the MergeFunctions pass a stand-alone utility in a separate file.
Oct 7 2016, 4:57 PM

May 31 2016

eeckstein added a comment to D20247: fix a crash in MergeFunctions related to ordering of weak/strong functions.

Thanks for reviewing!
Committed in r271299

May 31 2016, 10:27 AM
eeckstein committed rL271299: Fix a crash in MergeFunctions related to ordering of weak/strong functions.
Fix a crash in MergeFunctions related to ordering of weak/strong functions
May 31 2016, 10:27 AM

May 27 2016

eeckstein added a comment to D20247: fix a crash in MergeFunctions related to ordering of weak/strong functions.

ping (2)

May 27 2016, 4:26 PM

May 24 2016

eeckstein added a reviewer for D20247: fix a crash in MergeFunctions related to ordering of weak/strong functions: qcolombet.
May 24 2016, 12:45 PM
eeckstein removed a reviewer for D20262: [DSE]Split memset when the memset is small enough to be lowered to stores: qcolombet.
May 24 2016, 12:44 PM
eeckstein added a reviewer for D20262: [DSE]Split memset when the memset is small enough to be lowered to stores: qcolombet.
May 24 2016, 12:43 PM

May 20 2016

eeckstein added a comment to D20247: fix a crash in MergeFunctions related to ordering of weak/strong functions.

ping?

May 20 2016, 9:48 AM

May 13 2016

eeckstein updated the diff for D20247: fix a crash in MergeFunctions related to ordering of weak/strong functions.

forgot to add the test file

May 13 2016, 10:45 AM
eeckstein retitled D20247: fix a crash in MergeFunctions related to ordering of weak/strong functions from to fix a crash in MergeFunctions related to ordering of weak/strong functions.
May 13 2016, 10:42 AM

Mar 31 2016

eeckstein accepted D18586: Allow DeadStoreElimination to track combinations of partial later wrties.

LGTM (but please wait for other reviewers)

Mar 31 2016, 1:04 PM
eeckstein added inline comments to D18586: Allow DeadStoreElimination to track combinations of partial later wrties.
Mar 31 2016, 11:13 AM

Oct 28 2015

eeckstein added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

Mitch, Erik, David, Bruno,
Are you planning to attend the LLVM developers meeting on Thu/Fri? That would be a good opportunity to discuss this patch in person if you would like to.

Oct 28 2015, 2:48 PM

Oct 6 2015

eeckstein added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

Some comments:

Oct 6 2015, 1:00 PM

Sep 30 2015

eeckstein added a comment to D13266: SLPVectorizer: limit the scheduling region size per basic block to avoid long compile times for very large blocks..

BTW, would it make sense to add a test to check that we properly use MinScheduleRegionSize too?

Sep 30 2015, 10:30 AM
eeckstein committed rL248923: SLPVectorizer: add a test to check if the minimum region size works..
SLPVectorizer: add a test to check if the minimum region size works.
Sep 30 2015, 10:30 AM
eeckstein added a comment to D13266: SLPVectorizer: limit the scheduling region size per basic block to avoid long compile times for very large blocks..

Thanks for reviewing!
I committed it in r248917.

Sep 30 2015, 10:14 AM
eeckstein committed rL248917: SLPVectorizer: limit the scheduling region size per basic block..
SLPVectorizer: limit the scheduling region size per basic block.
Sep 30 2015, 10:02 AM

Sep 29 2015

eeckstein updated the diff for D13266: SLPVectorizer: limit the scheduling region size per basic block to avoid long compile times for very large blocks..

Add an option to set the scheduling budget + a test which uses that option.

Sep 29 2015, 5:33 PM
eeckstein retitled D13266: SLPVectorizer: limit the scheduling region size per basic block to avoid long compile times for very large blocks. from to SLPVectorizer: limit the scheduling region size per basic block to avoid long compile times for very large blocks..
Sep 29 2015, 1:12 PM

Aug 13 2015

eeckstein added a comment to D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

committed in r244901

Aug 13 2015, 8:37 AM
eeckstein committed rL244901: [DeadStoreElimination] remove a redundant store even if the load is in a….
[DeadStoreElimination] remove a redundant store even if the load is in a…
Aug 13 2015, 8:37 AM
eeckstein closed D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block. by committing rL244901: [DeadStoreElimination] remove a redundant store even if the load is in a….
Aug 13 2015, 8:36 AM

Aug 12 2015

eeckstein updated the diff for D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

Here is an updated version with a bug fix in MemoryIsNotModifiedBetween.
I also added a few tests.

Aug 12 2015, 4:22 PM
eeckstein added a comment to D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

Thanks for reviewing!

Aug 12 2015, 4:17 PM
eeckstein added a comment to D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

Correction to the static data:

Aug 12 2015, 11:24 AM
eeckstein added a comment to D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

Some data from the lnt test suite:

Aug 12 2015, 10:54 AM

Aug 11 2015

eeckstein added inline comments to D11143: [RFC] Cross Block DSE.
Aug 11 2015, 11:29 AM

Aug 10 2015

eeckstein added a comment to D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

Philip, thanks for your comments on the first version. Please let me know if your questions are still relevant with this updated patch.

Aug 10 2015, 5:51 PM
eeckstein updated the diff for D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

This updated version uses a work-list algorithm to do the safety checking. This has 2 advantages compared to MD->getNonLocalPointerDependency:

  1. It ignores load instructions which should not prevent the optimization
  2. It's faster because it bails out at the first memory alias it finds.
Aug 10 2015, 5:49 PM
eeckstein added a comment to D11143: [RFC] Cross Block DSE.

Hi Karthik,
Daniel pointed me to your patch, because I'm also working on something in DeadStoreElimination: http://reviews.llvm.org/D11854

Aug 10 2015, 5:32 PM
eeckstein added a comment to D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

Thanks for looking at this patch.

Aug 10 2015, 10:37 AM

Aug 7 2015

eeckstein updated the diff for D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block..

renamed variables in test
diff with full context

Aug 7 2015, 5:33 PM
eeckstein added a reviewer for D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block.: reames.
Aug 7 2015, 5:14 PM
eeckstein retitled D11854: DeadStoreElimination: remove a redundant store even if the load is in a different block. from to DeadStoreElimination: remove a redundant store even if the load is in a different block..
Aug 7 2015, 5:02 PM

Mar 5 2015

eeckstein committed rL231385: Revert r231276 (including r231277): Add a lock() function in PassRegistry to….
Revert r231276 (including r231277): Add a lock() function in PassRegistry to…
Mar 5 2015, 9:55 AM

Mar 4 2015

eeckstein added a comment to D7787: Add a lock() function in PassRegistry to speed up multi-thread synchronization..

Committed in r231276.

Mar 4 2015, 11:03 AM
eeckstein committed rL231276: Add a lock() function in PassRegistry to speed up multi-thread synchronization..
Add a lock() function in PassRegistry to speed up multi-thread synchronization.
Mar 4 2015, 10:59 AM

Mar 2 2015

eeckstein added a comment to D7787: Add a lock() function in PassRegistry to speed up multi-thread synchronization..

You are mentioning 5% perf improvement in single-threaded release build, can you tell how to reproduce?

Mar 2 2015, 1:32 AM

Feb 27 2015

eeckstein updated the diff for D7787: Add a lock() function in PassRegistry to speed up multi-thread synchronization..

New version using llvm::Optional

Feb 27 2015, 9:26 AM
eeckstein added a comment to D7787: Add a lock() function in PassRegistry to speed up multi-thread synchronization..

Hi Owen, Chandler,

Feb 27 2015, 7:21 AM

Feb 26 2015

eeckstein updated the diff for D7787: Add a lock() function in PassRegistry to speed up multi-thread synchronization..
Feb 26 2015, 4:34 AM

Feb 20 2015

eeckstein retitled D7787: Add a lock() function in PassRegistry to speed up multi-thread synchronization. from to Add a lock() function in PassRegistry to speed up multi-thread synchronization..
Feb 20 2015, 5:24 AM

Feb 2 2015

eeckstein committed rL227800: Fix: SLPVectorizer crashes with assertion when vectorizing a cmp instruction..
Fix: SLPVectorizer crashes with assertion when vectorizing a cmp instruction.
Feb 2 2015, 4:47 AM

Jan 26 2015

eeckstein committed rL227077: SLPVectorizer: fix wrong scheduling of atomic load/stores..
SLPVectorizer: fix wrong scheduling of atomic load/stores.
Jan 26 2015, 1:08 AM

Jan 22 2015

eeckstein added a comment to D7097: SLPVectorizer: add a second limit for the number of alias checks. .

Committed in r226792 (with a minor change in comment).

Jan 22 2015, 12:22 AM
eeckstein committed rL226792: SLPVectorizer: add a second limit for the number of alias checks..
SLPVectorizer: add a second limit for the number of alias checks.
Jan 22 2015, 12:22 AM

Jan 21 2015

eeckstein retitled D7097: SLPVectorizer: add a second limit for the number of alias checks. from to SLPVectorizer: add a second limit for the number of alias checks. .
Jan 21 2015, 8:31 AM

Jan 19 2015

eeckstein added a comment to D6999: SLPVectorizer: limit the number of alias checks to reduce the runtime..

Committed in r226439

Jan 19 2015, 1:35 AM
eeckstein committed rL226439: SLPVectorizer: limit the number of alias checks to reduce the runtime..
SLPVectorizer: limit the number of alias checks to reduce the runtime.
Jan 19 2015, 1:35 AM

Jan 15 2015

eeckstein updated the diff for D6999: SLPVectorizer: limit the number of alias checks to reduce the runtime..

Arnold, thanks for your comments.
I renamed the const to "AliasedCheckLimit"

Jan 15 2015, 8:32 AM
eeckstein retitled D6999: SLPVectorizer: limit the number of alias checks to reduce the runtime. from to SLPVectorizer: limit the number of alias checks to reduce the runtime..
Jan 15 2015, 7:47 AM

Jan 14 2015

eeckstein added a comment to D6951: SLPVectorizer: Cache results from memory alias checking..

Committed in rL225977 with a few changes/corrections:

Jan 14 2015, 3:35 AM
eeckstein committed rL225977: reapply: SLPVectorizer: Cache results from memory alias checking..
reapply: SLPVectorizer: Cache results from memory alias checking.
Jan 14 2015, 3:26 AM

Jan 13 2015

eeckstein retitled D6951: SLPVectorizer: Cache results from memory alias checking. from to SLPVectorizer: Cache results from memory alias checking..
Jan 13 2015, 8:17 AM
eeckstein committed rL225790: Revert "SLPVectorizer: Cache results from memory alias checking.".
Revert "SLPVectorizer: Cache results from memory alias checking."
Jan 13 2015, 6:38 AM
eeckstein committed rL225786: SLPVectorizer: Cache results from memory alias checking..
SLPVectorizer: Cache results from memory alias checking.
Jan 13 2015, 3:39 AM

Dec 16 2014

eeckstein closed D6477: Strength reduce intrinsics with overflow into regular arithmetic operations if possible..

committed in r224417

Dec 16 2014, 11:30 PM
eeckstein committed rL224417: Strength reduce intrinsics with overflow into regular arithmetic operations if….
Strength reduce intrinsics with overflow into regular arithmetic operations if…
Dec 16 2014, 11:30 PM

Dec 15 2014

eeckstein added a comment to D6477: Strength reduce intrinsics with overflow into regular arithmetic operations if possible..

I updated the comments.

Dec 15 2014, 2:58 AM
eeckstein updated the diff for D6477: Strength reduce intrinsics with overflow into regular arithmetic operations if possible..
Dec 15 2014, 2:55 AM

Dec 11 2014

eeckstein committed rL224006: Refactor creation of overflow result tuples in InstCombineCalls..
Refactor creation of overflow result tuples in InstCombineCalls.
Dec 11 2014, 6:35 AM
eeckstein updated the diff for D6477: Strength reduce intrinsics with overflow into regular arithmetic operations if possible..

I did a split of the change:
I committed the refactoring in r224006.

Dec 11 2014, 12:08 AM

Dec 3 2014

eeckstein closed D6422: InstCombine: simplify signed range checks.

commited in r223224

Dec 3 2014, 2:41 AM

Dec 2 2014

eeckstein retitled D6477: Strength reduce intrinsics with overflow into regular arithmetic operations if possible. from to Strength reduce intrinsics with overflow into regular arithmetic operations if possible..
Dec 2 2014, 5:08 AM

Dec 1 2014

eeckstein closed D6423: peephole optimization in switch table lookup: reuse the guarding table comparison if possible.

commited in r222891. Note that I added a fix which checks that the guarding branch dominates the phi-block.

Dec 1 2014, 3:06 AM

Nov 26 2014

eeckstein added a comment to D6423: peephole optimization in switch table lookup: reuse the guarding table comparison if possible.

This is already the third version of the change. Previous version were discussed per email:

Nov 26 2014, 11:44 AM
eeckstein retitled D6423: peephole optimization in switch table lookup: reuse the guarding table comparison if possible from to peephole optimization in switch table lookup: reuse the guarding table comparison if possible.
Nov 26 2014, 11:31 AM
eeckstein added a comment to D6422: InstCombine: simplify signed range checks.

This is already the second version of the patch. The first version was discussed by email.

Nov 26 2014, 7:34 AM
eeckstein updated subscribers of D6422: InstCombine: simplify signed range checks.
Nov 26 2014, 7:28 AM
eeckstein retitled D6422: InstCombine: simplify signed range checks from to InstCombine: simplify signed range checks.
Nov 26 2014, 7:27 AM

Jul 31 2014

eeckstein added a comment to D4680: PR20234 - [SLP Vectorizer] Canonicalize tree operands of commutitive binary operands..

OK, thanks!

Jul 31 2014, 7:45 AM
eeckstein added a comment to D4680: PR20234 - [SLP Vectorizer] Canonicalize tree operands of commutitive binary operands..

yes, the test passes.
Please let me know if it also gives the same improvement for the benchmark.

Jul 31 2014, 7:36 AM
eeckstein added a comment to D4680: PR20234 - [SLP Vectorizer] Canonicalize tree operands of commutitive binary operands..

Hi Chad,

Jul 31 2014, 5:02 AM