#
51aaf028 |
| 26-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Fix the the ceiling-division used in computing the MaxBECount so that it doesn't have trouble with an intermediate add overflowing. Also, be more conservative about the case where the induction varia
Fix the the ceiling-division used in computing the MaxBECount so that it doesn't have trouble with an intermediate add overflowing. Also, be more conservative about the case where the induction variable in an SLT loop exit can step past the RHS of the SLT and overflow in a single step.
Make getSignedRange more aggressive, to recover for some common cases which the above fixes pessimized.
This addresses rdar://7561161.
llvm-svn: 94512
show more ...
|
#
51ad99d2 |
| 21-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Re-implement the main strength-reduction portion of LoopStrengthReduction. This new version is much more aggressive about doing "full" reduction in cases where it reduces register pressure, and also
Re-implement the main strength-reduction portion of LoopStrengthReduction. This new version is much more aggressive about doing "full" reduction in cases where it reduces register pressure, and also more aggressive about rewriting induction variables to count down (or up) to zero when doing so reduces register pressure.
It currently uses fairly simplistic algorithms for finding reuse opportunities, but it introduces a new framework allows it to combine multiple strategies at once to form hybrid solutions, instead of doing all full-reduction or all base+index.
llvm-svn: 94061
show more ...
|
#
8d67d2f5 |
| 19-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Add a comment and tidy up some whitespace.
llvm-svn: 93932
|
#
f86d904b |
| 19-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Give ScalarEvolution access to the DominatorTree. It'll need this to make more intellegent AddRec folding decisions.
llvm-svn: 93930
|
#
bc694918 |
| 09-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Use WriteAsOperand instead of getName() to print loop header names, so that unnamed blocks are handled.
llvm-svn: 93059
|
#
2330f780 |
| 23-Dec-2009 |
David Greene <greened@obbligato.org> |
Remove dump routine and the associated Debug.h from a header. Patch up other files to compensate.
llvm-svn: 92075
|
#
df1c497c |
| 23-Dec-2009 |
David Greene <greened@obbligato.org> |
Convert debug messages to use dbgs(). Generally this means s/errs/dbgs/g except for certain special cases.
llvm-svn: 92067
|
#
876f45d7 |
| 19-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Fix a spello in a comment that Nick spotted.
llvm-svn: 91742
|
#
7db230f5 |
| 18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Make this comment more precise.
llvm-svn: 91722
|
#
51f13056 |
| 18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Revert this use of NUW/NSW also. Overflow-undefined multiplication isn't associative either.
llvm-svn: 91701
|
#
7a2dab88 |
| 18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Revert this use of NSW; this one isn't actually safe. NSW addition is not reassociative.
llvm-svn: 91667
|
#
916fec41 |
| 18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Delete an unused variable.
llvm-svn: 91659
|
#
b256ccfb |
| 18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Preserve NSW information in more places.
llvm-svn: 91656
|
#
18fa5686 |
| 18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Add Loop contains utility methods for testing whether a loop contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces.
Add Loop contains utility methods for testing whether a loop contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces.
llvm-svn: 91654
show more ...
|
#
cb0efecd |
| 18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Whitespace cleanups.
llvm-svn: 91651
|
#
4e3b3f3d |
| 23-Nov-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove dead LLVMContext argument.
llvm-svn: 89641
|
#
2ac50472 |
| 09-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Pass the (optional) TargetData object to ConstantFoldInstOperands and ConstantFoldCompareInstOperands.
llvm-svn: 86626
|
#
cdfb80de |
| 09-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
fix ConstantFoldCompareInstOperands to take the LHS/RHS as individual operands instead of taking a temporary array
llvm-svn: 86619
|
#
46b5c642 |
| 06-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove a bunch of extraneous LLVMContext arguments from various APIs, addressing PR5325.
llvm-svn: 86231
|
#
291f6145 |
| 01-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Reverting 85714, 85715, 85716, which are breaking the build
llvm-svn: 85717
|
#
2b12b95d |
| 01-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Add a function to Passes.h to allow clients to create instances of the ScalarEvolution pass without needing to #include ScalarEvolution.h.
llvm-svn: 85716
|
#
880c92ac |
| 31-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Rename forgetLoopBackedgeTakenCount to forgetLoop, because it clears out more information than just the stored backedge taken count.
llvm-svn: 85664
|
#
974e12b2 |
| 25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove includes of Support/Compiler.h that are no longer needed after the VISIBILITY_HIDDEN removal.
llvm-svn: 85043
|
#
02d5f77d |
| 25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit.
llvm-svn: 85042
show more ...
|
Revision tags: llvmorg-2.6.0 |
|
#
dc4893ab |
| 09-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Revert r83606 and add comments explaining why it isn't safe.
llvm-svn: 83649
|