llvm-6502/lib/Transforms/Scalar
Dan Gohman 59dc60337f When pruning candidate formulae out of an LSRUse, update the
LSRUse's Regs set after all pruning is done, rather than trying
to do it on the fly, which can produce an incomplete result.

This fixes a case where heuristic pruning was stripping all
formulae from a use, which led the solver to enter an infinite
loop.

Also, add a few asserts to diagnose this kind of situation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103328 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-07 23:36:59 +00:00
..
ABCD.cpp Remove another memory leak from ABCD by using Edges by value instead of 2010-03-27 09:09:17 +00:00
ADCE.cpp
BasicBlockPlacement.cpp
CMakeLists.txt Update CMake build. 2010-05-07 17:13:20 +00:00
CodeGenPrepare.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
ConstantProp.cpp
DCE.cpp
DeadStoreElimination.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
GEPSplitter.cpp
GVN.cpp Use the right version of "append" to combine two SmallVectors. 2010-05-05 20:44:15 +00:00
IndVarSimplify.cpp Use getConstant instead of getIntegerSCEV. The two are basically the 2010-05-03 22:09:21 +00:00
JumpThreading.cpp fix PR6743, a case where we'd delete an instruction before using it 2010-04-10 18:26:57 +00:00
LICM.cpp performance: cache the dereferenced use_iterator 2010-04-14 16:13:56 +00:00
LoopDeletion.cpp
LoopIndexSplit.cpp Check for side effects before splitting loop. 2010-05-03 18:06:58 +00:00
LoopRotation.cpp
LoopStrengthReduce.cpp When pruning candidate formulae out of an LSRUse, update the 2010-05-07 23:36:59 +00:00
LoopUnrollPass.cpp
LoopUnswitch.cpp remove a bunch of ad-hoc code to simplify instructions from 2010-04-20 05:33:18 +00:00
Makefile
MemCpyOptimizer.cpp use abstract accessors to CallInst 2010-04-20 13:13:04 +00:00
Reassociate.cpp
Reg2Mem.cpp performance: cache the dereferenced use_iterator 2010-04-14 16:48:56 +00:00
Scalar.cpp
ScalarReplAggregates.cpp use abstract accessors to CallInst 2010-04-20 13:13:04 +00:00
SCCP.cpp fix PR6940: sitofp(undef) folds to 0.0, not undef. 2010-04-26 18:21:23 +00:00
SimplifyCFGPass.cpp Finally land the InvokeInst operand reordering. 2010-03-24 13:21:49 +00:00
SimplifyHalfPowrLibCalls.cpp refactor the interface to InlineFunction so that most of the in/out 2010-04-22 23:07:58 +00:00
SimplifyLibCalls.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
Sink.cpp Add an LLVM IR version of code sinking. This uses the same simple algorithm 2010-05-07 15:40:13 +00:00
TailDuplication.cpp
TailRecursionElimination.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00