llvm/lib
Dan Gohman 448db1cdef Generalize IVUsers to track arbitrary expressions rather than expressions
explicitly split into stride-and-offset pairs. Also, add the
ability to track multiple post-increment loops on the same expression.

This refines the concept of "normalizing" SCEV expressions used for
to post-increment uses, and introduces a dedicated utility routine for
normalizing and denormalizing expressions.

This fixes the expansion of expressions which are post-increment users
of more than one loop at a time. More broadly, this takes LSR another
step closer to being able to reason about more than one loop at a time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100699 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 22:27:08 +00:00
..
Analysis Generalize IVUsers to track arbitrary expressions rather than expressions 2010-04-07 22:27:08 +00:00
Archive Fix a grammaro. 2010-03-30 20:04:57 +00:00
AsmParser fix a crash on invalid metadata, e.g.: call i32 @foo(), XXXX 2010-04-07 04:08:57 +00:00
Bitcode Add special case bitcode support for DebugLoc. This avoids 2010-04-03 02:17:50 +00:00
CodeGen Remove late ARM codegen optimization pass committed by accident. 2010-04-07 18:23:27 +00:00
CompilerDriver Use FindExecutable as a fall-back search method. 2010-03-05 04:46:28 +00:00
ExecutionEngine Fix OProfileJITEventListener build for new DebugLoc. 2010-04-05 21:09:12 +00:00
Linker Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
MC Give AsmParser an option to control whether it finalizes 2010-04-05 23:15:42 +00:00
Support enhance SMDiagnostic to also maintain a pointer to the SourceMgr. 2010-04-06 18:06:18 +00:00
System AddSignalHandler was not releasing the critical section on win32. 2010-03-31 12:07:16 +00:00
Target Missed this one line for the previous checkin to fix build warnings. 2010-04-07 22:21:03 +00:00
Transforms Generalize IVUsers to track arbitrary expressions rather than expressions 2010-04-07 22:27:08 +00:00
VMCore Use a ManagedCleanup to prevent leaking the PassRegistrar map. In breaks the 2010-04-06 04:20:48 +00:00
Makefile