llvm-project/llvm/lib/Transforms/Scalar
Chris Lattner 501d78fdc0 Fix PR2496, a really nasty bug which involved sinking volatile loads
into phis.  This is actually the same bug as PR2262 /
2008-04-29-VolatileLoadDontMerge.ll, but I missed checking the first 
predecessor for multiple successors.  Testcase here:
InstCombine/2008-07-08-VolatileLoadMerge.ll

llvm-svn: 53240
2008-07-08 17:18:32 +00:00
..
ADCE.cpp Remove the ability for ADCE to remove unreachable blocks in loop nests, because, as Eli pointed out, SimplifyCFG already does this. 2008-07-03 17:21:41 +00:00
BasicBlockPlacement.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
CodeGenPrepare.cpp Remove comparison methods for MVT. The main cause 2008-06-08 20:54:56 +00:00
CondPropagate.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
ConstantProp.cpp Use Instruction::eraseFromParent(). 2008-06-21 22:08:46 +00:00
DCE.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
DeadStoreElimination.cpp 80 col / tabs fixes 2008-05-13 01:48:26 +00:00
GCSE.cpp Use Instruction::eraseFromParent(). 2008-06-21 22:08:46 +00:00
GVN.cpp Use information already present in the ValueTable to fast-fail when we know there won't be a value number match. This speeds up GVN on a case where there are very few redundancies by ~25%. 2008-07-03 17:44:33 +00:00
GVNPRE.cpp Update comments and documentation to reflect that GCSE and ValueNumbering are 2008-06-05 07:55:49 +00:00
IndVarSimplify.cpp Use Loop::block_iterator. 2008-06-22 20:18:58 +00:00
InstructionCombining.cpp Fix PR2496, a really nasty bug which involved sinking volatile loads 2008-07-08 17:18:32 +00:00
JumpThreading.cpp Fix some constructs that gcc-4.4 warns about. 2008-05-27 11:50:51 +00:00
LICM.cpp Use Loop::block_iterator. 2008-06-22 20:18:58 +00:00
LoopDeletion.cpp Use use_empty() instead of getNumUses(), avoiding a use list traversal. 2008-06-23 23:23:49 +00:00
LoopIndexSplit.cpp Fix a typo in a comment. 2008-06-24 18:00:21 +00:00
LoopRotation.cpp Avoid using BasicBlock::getInstList directly in a few places. 2008-06-19 17:37:25 +00:00
LoopStrengthReduce.cpp Fix two serious LSR bugs. 2008-07-07 19:51:32 +00:00
LoopUnroll.cpp Preserve dom info. 2008-07-03 07:04:22 +00:00
LoopUnswitch.cpp Do not try to update dominator info while manipulating CFG. This code does not handle all cases and keeps invalid dom info around some cases, which misleads other passes down stream. 2008-07-03 17:37:52 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
MemCpyOptimizer.cpp Fix two issues that Eli Friedman pointed out, where would misoptimized code like: 2008-06-01 22:26:26 +00:00
PredicateSimplifier.cpp InequalityGraph::node() can create new nodes, invalidating iterators across 2008-05-27 00:59:05 +00:00
Reassociate.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
Reg2Mem.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
SCCP.cpp Tidy up some commments and use the getAggregateOperand and 2008-06-20 16:41:17 +00:00
Scalar.cpp C and Objective Caml bindings for mem2reg and reg2mem. 2008-03-20 17:16:03 +00:00
ScalarReplAggregates.cpp minor tidying of comments. 2008-06-23 17:11:23 +00:00
SimplifyCFGPass.cpp rename SimplifyCFG.cpp -> SimplifyCFGPass.cpp 2008-05-14 20:38:44 +00:00
SimplifyLibCalls.cpp - Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an empty string for ConstantAggregateZero case which surprises selectiondag. 2008-06-30 07:31:25 +00:00
TailDuplication.cpp Revert 52223. 2008-06-12 20:55:39 +00:00
TailRecursionElimination.cpp Fix a case where tailcallelim wouldn't set the changed bit when it made a change. 2008-06-14 00:49:48 +00:00