diff options
| author | Andrew Trick <atrick@apple.com> | 2011-08-06 07:00:37 +0000 |
|---|---|---|
| committer | Andrew Trick <atrick@apple.com> | 2011-08-06 07:00:37 +0000 |
| commit | 6d45a01b67df7e4e1b88bec8bc724a46caefb1a5 (patch) | |
| tree | 6784eba0d0e3e086f993136bd24712f2e0b41ece /llvm/test/Transforms/IndVarSimplify/preserve-gep-loop-variant.ll | |
| parent | 54d456758e3eba90f28750d8f404c15081a3b723 (diff) | |
| download | bcm5719-llvm-6d45a01b67df7e4e1b88bec8bc724a46caefb1a5.tar.gz bcm5719-llvm-6d45a01b67df7e4e1b88bec8bc724a46caefb1a5.zip | |
Made SCEV's UDiv expressions more canonical. When dividing a
recurrence, the initial values low bits can sometimes be ignored.
To take advantage of this, added FoldIVUser to IndVarSimplify to fold
an IV operand into a udiv/lshr if the operator doesn't affect the
result.
-indvars -disable-iv-rewrite now transforms
i = phi i4
i1 = i0 + 1
idx = i1 >> (2 or more)
i4 = i + 4
into
i = phi i4
idx = i0 >> ...
i4 = i + 4
llvm-svn: 137013
Diffstat (limited to 'llvm/test/Transforms/IndVarSimplify/preserve-gep-loop-variant.ll')
0 files changed, 0 insertions, 0 deletions

