- User Since
- Apr 2 2014, 3:28 PM (267 w, 5 d)
Oct 11 2018
Oct 10 2018
Sep 25 2018
Sep 24 2018
Moved collecting dependent rebased and checking size of ToBeRebased prior to emitting bitcast of base constants
Added bb labels to check in the test case.
Sep 21 2018
Cleaned up test case.
Added opt tests.
Opt tests was put in the same test file to avoid duplication and maintenance burden.
Cleaned up test case.
Sep 19 2018
Sep 18 2018
Sep 4 2018
Use std::stable_sort() as Eli suggested.
Aug 31 2018
Addressed Eli's comments.
Updated version reflects discussion with Eli.
Aug 29 2018
Unfortunately bitcast + gep + bitcast will only change the constant GEP expr from multi-dimension to single dimension, and it's still a constant pool entry after lowering.
Aug 28 2018
Aug 27 2018
Moved 'break;' under proper if statement.
Previous version mistakenly checks MinValItr->ConstInst rather than CC->ConstInst against StoreInst User's pointer operand.
Aug 24 2018
Updated as Eli suggested.
Aug 23 2018
Aug 21 2018
Updated test case as Eli suggested.
Aug 20 2018
Aug 17 2018
Apr 9 2018
committed as r329621, spelling errors fixed in r329230
Apr 4 2018
I'll run a bunch of internal test to validate the patch. I'll commit it after testing if no one objects.
Just one nit (inline) and a general question: is this new set meant to persist across multiple updates, should the erase in fixupDefs be taking care of everything added in a given query, or should we be clearing it at some point?
(If the answer is "the middle one," would it be easy to assert that the def is empty somewhere?)
Addressed comments by Eli and George.
Mar 26 2018
Mar 8 2018
Dec 26 2017
Committed as r321465.
Ping... I'd like to commit this soon if there's no further suggestion for revision.
Dec 23 2017
Added comments as Evgeny suggested.
Dec 21 2017
Addressed Evgeny's comments.
Dec 20 2017
Removed redefinition of BODY_LOC in test case runtime-loop1.ll
Nov 17 2017
made a mistake in title, should be r318517..
Mar 23 2017
rebased and commited as r298631
Mar 17 2017
a couple more nitpicks... please check all use of Optional variables
Mar 16 2017
If X is Optional, please use X.has_value() to check if it has value and X.getValue() to check for 0 value.
Can we remove such dead BBs before entering passes that would spin forever on them?
addressed Sanjoy's comments
Mar 15 2017
sorry... this should be fixed by https://reviews.llvm.org/rL297820, I'll abandon this one.
Updated diff with full context
This test case reproduce the problem (infinite compile time)
Mar 14 2017
This patch needs to be reverted or appended. I'll try to send a test case.
Mar 13 2017
Mar 10 2017
Mar 9 2017
Removed ashr (X, C) -> sext(truc(udiv(X, 1<<C))) from previous revision.
This is causing a test failure and needs more work. I'd like to do it in another patch.
Mar 7 2017
Mar 2 2017
Adding tranformation: AShr X, C --> sext(trunc(udiv(X, (1<<C))))
Feb 22 2017
I'm not familiar with SCEV, can you clarify my questions below?
Feb 7 2017
Jan 31 2017
Revised per Eli's comments. Added new test case.
Jan 30 2017
The new threshold looks reasonable to me. Please update title and summary?