llvm-6502/lib/Transforms
Andrew Trick 06988bcf6a 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137013 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-06 07:00:37 +00:00
..
Hello Since the Hello pass is built as a loadable dynamic library, don't try to convert it to new-style registration yet. 2010-10-07 00:31:16 +00:00
InstCombine Small cleanups: 2011-08-03 01:11:40 +00:00
Instrumentation Rewrite the CMake build to use explicit dependencies between libraries, 2011-07-29 00:14:25 +00:00
IPO Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets. 2011-08-03 22:18:20 +00:00
Scalar Made SCEV's UDiv expressions more canonical. When dividing a 2011-08-06 07:00:37 +00:00
Utils Temporarily revert r135528 which distinguishes between two copies of one 2011-08-05 00:51:31 +00:00
CMakeLists.txt Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
Makefile Revert r100896 and around - this breaks the only mingw32 buildbot we have. 2010-04-15 19:51:42 +00:00