llvm-mirror/lib
Dan Gohman c093f48834 Teach IVUsers to stop at non-affine expressions unless they are both
outside the loop and reducible.

This more completely hides them from LSR, which isn't usually able to
do anything meaningful with non-affine expressions anyway, and this
consequently hides them from SCEVExpander, which is acutely unprepared
for non-affine expressions.

Replace test/CodeGen/X86/lsr-nonaffine.ll with a new test that tests
the new behavior.

This works around the bug in PR10117 / rdar://problem/9633149, and is
generally an improvement besides.

llvm-svn: 134268
2011-07-01 22:05:19 +00:00
..
Analysis Teach IVUsers to stop at non-affine expressions unless they are both 2011-07-01 22:05:19 +00:00
Archive Revert PathV2 changes, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:55 +00:00
AsmParser Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
Bitcode Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
CodeGen Rename TargetSubtarget to TargetSubtargetInfo for consistency. 2011-07-01 21:01:15 +00:00
CompilerDriver Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
ExecutionEngine Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to 2011-06-30 01:53:36 +00:00
Linker Set the unnamed_addr only when we're creating a new GV in the dest module. 2011-03-29 23:31:06 +00:00
MC - Added MCSubtargetInfo to capture subtarget features and scheduling 2011-07-01 20:45:01 +00:00
Object Object: Add proper error handling. 2011-06-25 17:55:23 +00:00
Support Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang! 2011-06-22 21:13:46 +00:00
Target Calling-convention specifications for illegal types are no-ops. Simplify based on this. 2011-07-01 21:33:28 +00:00
Transforms Generalize @llvm.ctlz, @llvm.cttz, and @llvm.ctpop to work on vectors of integers, and fix the one optimization pass that I'm aware of that needs updating for this. At least one current target, ARM NEON, can implement these operations on vectors directly. 2011-07-01 21:52:38 +00:00
VMCore Improve constant folding of undef for cmp and select operators. 2011-07-01 01:03:43 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00