#
797a1dbb |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
To create a copy of a SmallVector with an element removed from the middle, copy the elements in two groups, rather than copying all the elements and then doing an erase on the middle of the result. T
To create a copy of a SmallVector with an element removed from the middle, copy the elements in two groups, rather than copying all the elements and then doing an erase on the middle of the result. These are SmallVectors, so we shouldn't expect to hit dynamic allocation in the common case.
llvm-svn: 111151
show more ...
|
#
0d0cc18a |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Tidy whitespace.
llvm-svn: 111147
|
#
c29eeaec |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Add a comment.
llvm-svn: 111145
|
#
7eac4961 |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Use const_iterator in a few places.
llvm-svn: 111144
|
#
74c61503 |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Use iterators instead of indices in a few more places.
llvm-svn: 111143
|
#
f2961823 |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Micro-optimize SCEVConstant comparison.
llvm-svn: 111142
|
#
3688ea5c |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Move SCEVNAryExpr's virtual member functions out of line, and convert them to iterators.
llvm-svn: 111140
|
#
d6925bbe |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Use iterators instead of indices in simple cases.
llvm-svn: 111138
|
#
b6c773ec |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Avoid gratuitous inefficiency in ifndef NDEBUG code.
llvm-svn: 111137
|
#
e5fb1036 |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Make one getAddExpr call when analyzing a+b+c+d+e+... instead of one for each add instruction. Ditto for Mul.
llvm-svn: 111136
|
#
b094b391 |
| 16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Delete an unused function.
llvm-svn: 111135
|
#
0c436ab3 |
| 13-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Various optimizations. Don't compare two loops' depths when they are the same loop. Don't compare two instructions' loop depths when they are in the same block.
llvm-svn: 111045
|
#
63c020a2 |
| 13-Aug-2010 |
Dan Gohman <gohman@apple.com> |
When testing whether one loop contains another, test this directly rather than testing whether the loop contains the other's header.
llvm-svn: 111039
|
#
3324b9ec |
| 13-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Add a const.
llvm-svn: 111038
|
#
cf32f2bd |
| 13-Aug-2010 |
Dan Gohman <gohman@apple.com> |
When creating a symmetric SCEV with a constant operand, put the constant operand on the left, as that's where ScalarEvolution will end up canonicalizing to.
llvm-svn: 111037
|
#
ec0120a1 |
| 13-Aug-2010 |
Dan Gohman <gohman@apple.com> |
An add recurrence is loop-invariant in any loop inside of its associated loop. This avoids potentially expensive traversals of the add recurrence's operands.
llvm-svn: 111034
|
#
2de47777 |
| 12-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Optimize ScalarEvolution::getAddExpr's operand factoring code by having it finish processing all of the muliply operands before starting the whole getAddExpr process over again, instead of immediatel
Optimize ScalarEvolution::getAddExpr's operand factoring code by having it finish processing all of the muliply operands before starting the whole getAddExpr process over again, instead of immediately after the first simplification.
llvm-svn: 110916
show more ...
|
#
157847f5 |
| 12-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Hoist some loop-invariant code out of a hot loop.
llvm-svn: 110915
|
#
e67b2874 |
| 12-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Optimize ScalarEvolution::getAddExpr's duplicate operand detection by having it finish processing the whole operand list before starting the whole getAddExpr process over again, instead of immediatel
Optimize ScalarEvolution::getAddExpr's duplicate operand detection by having it finish processing the whole operand list before starting the whole getAddExpr process over again, instead of immediately after the first duplicate is found.
llvm-svn: 110914
show more ...
|
#
f7495f28 |
| 11-Aug-2010 |
Dan Gohman <gohman@apple.com> |
When analyzing loop exit conditions combined with and and or, don't make any assumptions about when the two conditions will agree on when to permit the loop to exit. This fixes PR7845.
llvm-svn: 110
When analyzing loop exit conditions combined with and and or, don't make any assumptions about when the two conditions will agree on when to permit the loop to exit. This fixes PR7845.
llvm-svn: 110758
show more ...
|
#
e18c2d6f |
| 10-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Rename and reorder the arguments to isImpliedCond, for consistency and clarity.
llvm-svn: 110750
|
#
a7aed186 |
| 06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r110396, with fixes to appease the Linux buildbot gods.
llvm-svn: 110460
|
#
bda59bd2 |
| 06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Revert r110396 to fix buildbots.
llvm-svn: 110410
|
#
755aceb5 |
| 05-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change.
llvm-svn: 110396
|
#
db764c6e |
| 04-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Fix a minor bug which resulted in intermediate calculations using wider types than are necessary.
llvm-svn: 110241
|