llvm-project/llvm/lib/Transforms/Scalar
Duncan Sands 514db117bd Some reassociate optimizations create new instructions, which they insert just
before the expression root.  Any existing operators that are changed to use one
of them needs to be moved between it and the expression root, and recursively
for the operators using that one.  When I rewrote RewriteExprTree I accidentally
inverted the logic, resulting in the compacting going down from operators to
operands rather than up from operands to the operators using them, oops.  Fix
this, resolving PR12963.

llvm-svn: 159265
2012-06-27 14:19:00 +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: attach debug info to traps to make my life a bit more sane 2012-06-23 00:12:34 +00:00
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
CodeGenPrepare.cpp Switch the select to branch transformation on by default. 2012-05-06 14:25:16 +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
GVN.cpp refactor the MemoryBuiltin analysis: 2012-06-21 15:45:28 +00:00
GlobalMerge.cpp Fix various issues (or do cleanups) found by enabling certain MSVC warnings. 2012-02-13 06:30:56 +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 Correct grammar. 2011-09-13 00:44:16 +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: fix expansion of scaled reg in non-address type formulae. 2012-06-15 20:07:29 +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 Remove the old atomic instrinsics. autoupgrade functionality is included with this patch. 2011-10-06 23:20:49 +00:00
Makefile
MemCpyOptimizer.cpp Move the capture analysis from MemoryDependencyAnalysis to a more general place 2012-05-14 20:35:04 +00:00
ObjCARC.cpp Fix the objc_autoreleasedReturnValue optimization code to locate 2012-06-25 19:47:37 +00:00
Reassociate.cpp Some reassociate optimizations create new instructions, which they insert just 2012-06-27 14:19:00 +00:00
Reg2Mem.cpp Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
SCCP.cpp Fix 80-column violation. 2012-03-28 00:35:33 +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 Add a number of threshold arguments to the SRA pass. 2012-06-21 13:44:31 +00:00
SimplifyCFGPass.cpp improve optimization of invoke instructions: 2012-06-25 17:11:47 +00:00
SimplifyLibCalls.cpp revert my previous commit (r159173), since as Eli pointed out, it's perfectly ok to mark realloc as noalias 2012-06-25 23:26:10 +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