llvm-6502/lib/Transforms/Scalar
Andrew Trick 6a51a7aea5 LSR: try not to blow up solving combinatorial problems brute force.
This places limits on CollectSubexprs to constrains the number of
reassociation possibilities. It limits the recursion depth and skips
over chains of nested recurrences outside the current loop.

Fixes PR13361. Although underlying SCEV behavior is still potentially bad.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160340 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-17 05:00:56 +00:00
..
ADCE.cpp The landingpad instruction isn't dead simply because it's value isn't used. 2011-08-19 21:52:06 +00:00
BasicBlockPlacement.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
BoundsChecking.cpp BoundsChecking: optimize out the check for offset < 0 if size is known to be >= 0 (signed). 2012-07-03 17:30:18 +00:00
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
CodeGenPrepare.cpp CodeGenPrepare: Don't crash when TLI is not available. 2012-06-29 19:58:21 +00:00
ConstantProp.cpp Last bit of TargetLibraryInfo propagation. Also fixed a case for TargetData 2011-12-01 21:29:16 +00:00
CorrelatedValuePropagation.cpp llvm::SwitchInst 2012-03-11 06:09:17 +00:00
DCE.cpp Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
DeadStoreElimination.cpp refactor the MemoryBuiltin analysis: 2012-06-21 15:45:28 +00:00
EarlyCSE.cpp bz11794 : EarlyCSE stack overflow on long functions. 2012-01-31 23:14:41 +00:00
GlobalMerge.cpp Fix various issues (or do cleanups) found by enabling certain MSVC warnings. 2012-02-13 06:30:56 +00:00
GVN.cpp Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
IndVarSimplify.cpp More IndVarSimplify cleanup. 2012-03-24 00:51:17 +00:00
JumpThreading.cpp enhance jump threading to preserve TBAA information when PRE'ing loads, 2012-03-13 18:07:41 +00:00
LICM.cpp An instruction in a loop is not guaranteed to be executed just because the loop 2012-05-01 04:03:01 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
LoopDeletion.cpp Don't use PN->replaceUsesOfWith() to change a PHINode's incoming blocks, 2011-06-21 10:02:43 +00:00
LoopIdiomRecognize.cpp Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
LoopInstSimplify.cpp Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
LoopRotation.cpp loop-rotate shouldn't hoist alloca instructions out of a loop. Patch by Patrik Hägglund, with slightly modified test. Issue reported by Patrik Hägglund on llvmdev. 2012-02-16 00:41:10 +00:00
LoopStrengthReduce.cpp LSR: try not to blow up solving combinatorial problems brute force. 2012-07-17 05:00:56 +00:00
LoopUnrollPass.cpp LoopUnrollPass: Use variable "Threshold" instead of "CurrentThreshold" when 2012-04-04 11:44:08 +00:00
LoopUnswitch.cpp Do not pass an invalid domtree to SimplifyInstruction from 2012-05-20 01:32:09 +00:00
LowerAtomic.cpp Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
Makefile
MemCpyOptimizer.cpp Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
ObjCARC.cpp Fix the objc_autoreleasedReturnValue optimization code to locate 2012-06-25 19:47:37 +00:00
Reassociate.cpp Rework this to clarify where the removal of nodes from the queue is 2012-06-29 19:03:05 +00:00
Reg2Mem.cpp Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
Scalar.cpp add a new pass to instrument loads and stores for run-time bounds checking 2012-05-22 17:19:09 +00:00
ScalarReplAggregates.cpp Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
SCCP.cpp Fix 80-column violation. 2012-03-28 00:35:33 +00:00
SimplifyCFGPass.cpp fix PR13339 (remove the predecessor from the unwind BB when removing an invoke) 2012-07-16 22:49:40 +00:00
SimplifyLibCalls.cpp Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
Sink.cpp Enhance the sinking code to handle diamond patterns. Patch by 2012-05-31 08:09:49 +00:00
TailRecursionElimination.cpp A pile of long over-due refactorings here. There are some very, *very* 2012-05-04 00:58:03 +00:00