#
d3a32ae4 |
| 17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Verify SCEVAddRecExpr's invariant in ScalarEvolution::getAddRecExpr instead of in SCEVAddRecExpr's constructor, in preparation for an upcoming change.
llvm-svn: 119554
|
#
ed756317 |
| 17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Fix ScalarEvolution's range memoization to avoid using a default ctor with ConstantRange.
llvm-svn: 119550
|
#
d06f50e2 |
| 17-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Have ScalarEvolution use SimplifyInstruction rather than hasConstantValue. While there, add a note about an inefficiency I noticed.
llvm-svn: 119458
|
#
761065e3 |
| 17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Memoize results from ScalarEvolution's getUnsignedRange and getSignedRange. This fixes some extreme compile times on unrolled sha512 code.
llvm-svn: 119455
|
#
dcb354b2 |
| 29-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Make ScalarEvolution::forgetLoop forget all contained loops too, because they may have ValuesAtScopes map entries referencing their outer loops. This fixes a user-after-free reported in PR8471.
llvm
Make ScalarEvolution::forgetLoop forget all contained loops too, because they may have ValuesAtScopes map entries referencing their outer loops. This fixes a user-after-free reported in PR8471.
llvm-svn: 117698
show more ...
|
#
6c18d1aa |
| 19-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly.
llvm-svn: 116820
show more ...
|
#
8ac477ff |
| 12-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Begin adding static dependence information to passes, which will allow us to perform initialization without static constructors AND without explicit initialization by the client. For the moment, pas
Begin adding static dependence information to passes, which will allow us to perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future.
llvm-svn: 116334
show more ...
|
#
df7a4f25 |
| 07-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Now with fewer extraneous semicolons!
llvm-svn: 115996
|
Revision tags: llvmorg-2.8.0 |
|
#
8e4c19ac |
| 04-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Don't add the operand count to SCEV uniquing data; FoldingSetNodeID already knows its own length, so this is redundant.
llvm-svn: 115521
|
Revision tags: llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
47308d5d |
| 31-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r112432, now that the real problem is addressed.
llvm-svn: 112667
|
#
f01a5eed |
| 31-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r112433, now that the real problem is addressed.
llvm-svn: 112666
|
#
aabfc527 |
| 31-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Revert r110916. This patch is buggy because the code inside the inner loop doesn't update all the variables in the outer loop.
llvm-svn: 112665
|
#
90f29bcd |
| 31-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Revert r112432. It appears to be exposing a problem in the emacs build.
llvm-svn: 112638
|
#
444c24a9 |
| 31-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Speculatively revert r112433.
llvm-svn: 112608
|
#
d1da5cdf |
| 29-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Restructure the {A,+,B}<L> * {C,+,D}<L> folding so that it folds all applicable addrecs before recursing on getMulExpr, instead of recursing on getMulExpr for each one.
llvm-svn: 112433
|
#
3e6fc189 |
| 29-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Batch up subtracts along with adds, when analyzing long chains of operations.
llvm-svn: 112432
|
#
7712d290 |
| 29-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Micro-optimize GroupByComplexity.
llvm-svn: 112431
|
#
0f2de013 |
| 29-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Hold AddRec->getLoop() in a variable, to make the Mul code more consistent with the Add code.
llvm-svn: 112430
|
#
028c1815 |
| 29-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Rename a variable, for consistency.
llvm-svn: 112429
|
#
28a84d4b |
| 29-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Use iterators instead of indices.
llvm-svn: 112428
|
#
fe22f1d3 |
| 28-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Fix an index calculation thinko.
llvm-svn: 112337
|
#
15871f23 |
| 27-Aug-2010 |
Dan Gohman <gohman@apple.com> |
When merging adjacent operands, scan ahead and merge all equal adjacent operands at once, instead of just two at a time.
llvm-svn: 112299
|
#
c866bf4f |
| 27-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Make the {A,+,B}<L> + {C,+,D}<L> --> Other + {A+C,+,B+D}<L> transformation collect all the addrecs with the same loop add combine them at once rather than starting everything over at the first chan
Make the {A,+,B}<L> + {C,+,D}<L> --> Other + {A+C,+,B+D}<L> transformation collect all the addrecs with the same loop add combine them at once rather than starting everything over at the first chance.
llvm-svn: 112290
show more ...
|
#
9bad2fb3 |
| 27-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Switch ScalarEvolution's main Value*->SCEV* map from std::map to DenseMap.
llvm-svn: 112281
|
#
2706567c |
| 27-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Optimize SCEVComplexityCompare. Use a 3-way return instead of a 2-way return to avoid needing two calls to test for equivalence, and sort addrecs by their degree before examining their operands.
llv
Optimize SCEVComplexityCompare. Use a 3-way return instead of a 2-way return to avoid needing two calls to test for equivalence, and sort addrecs by their degree before examining their operands.
llvm-svn: 112267
show more ...
|