llvm-6502/lib/Transforms/Scalar
Chris Lattner a52fce49eb make GVN work better when TD is not around:
"In the existing code, if the load and the value to replace it with are
of different types *and* target data is available, it tries to use the
target data to coerce the replacement value to the type of the load.
Otherwise, it skips all effort to handle the type mismatch and just
feeds the wrongly-typed replacement value to replaceAllUsesWith, which
triggers an assertion.

The patch replaces it with an outer if checking for type mismatch, and
an inner if-else that checks whether target data is available and, if
not, returns false rather than trying to replace the load."

Patch by Kenneth Uildriks!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 04:11:19 +00:00
..
ADCE.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
BasicBlockPlacement.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
CMakeLists.txt Update CMake file. 2009-10-06 19:45:38 +00:00
CodeGenLICM.cpp Add a form of addPreserved which takes a string argument, to allow passes 2009-10-08 17:00:02 +00:00
CodeGenPrepare.cpp Move zext and sext casts fed by loads into the same block as the 2009-10-16 20:59:35 +00:00
CondPropagate.cpp Remove some not-really-used variables, as warned 2009-09-06 12:41:19 +00:00
ConstantProp.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
DCE.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
DeadStoreElimination.cpp fix PR4815: some cases where DeleteDeadInstruction can delete 2009-09-02 06:31:02 +00:00
GVN.cpp make GVN work better when TD is not around: 2009-10-21 04:11:19 +00:00
IndVarSimplify.cpp Instruction::clone does not need to take an LLVMContext&. Remove that and 2009-09-27 07:38:41 +00:00
InstructionCombining.cpp Remove MallocInst from LLVM Instructions. 2009-10-17 01:18:07 +00:00
JumpThreading.cpp when folding duplicate conditions, delete the 2009-10-11 18:39:58 +00:00
LICM.cpp Use isVoidTy() 2009-10-14 17:29:00 +00:00
LoopDeletion.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
LoopIndexSplit.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
LoopRotation.cpp Tell ScalarEvolution to forget everything it knows about a loop before 2009-09-27 15:37:03 +00:00
LoopStrengthReduce.cpp Instruction::clone does not need to take an LLVMContext&. Remove that and 2009-09-27 07:38:41 +00:00
LoopUnroll.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
LoopUnswitch.cpp Restore LoopUnswitch's block-oriented threshold. LoopUnswitch now checks both 2009-10-20 20:06:09 +00:00
Makefile
MemCpyOptimizer.cpp Introduce and use convenience methods for getting pointer types 2009-10-06 15:40:36 +00:00
Reassociate.cpp Remove MallocInst from LLVM Instructions. 2009-10-17 01:18:07 +00:00
Reg2Mem.cpp clean up this code a bit. 2009-09-02 06:15:37 +00:00
Scalar.cpp add a bunch more passes to the C bindings (PR3734), patch by 2009-03-06 16:52:18 +00:00
ScalarReplAggregates.cpp strength reduce a ton of type equality tests to check the typeid (Through 2009-10-05 05:54:46 +00:00
SCCP.cpp Fix PR4313: IPSCCP was not setting the lattice value for the invoke instruction 2009-10-20 15:15:09 +00:00
SimplifyCFGPass.cpp back out my recent commit (r80858), it seems to break self-hosting buildbot's stage 2 configure 2009-09-03 02:02:59 +00:00
SimplifyHalfPowrLibCalls.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
SimplifyLibCalls.cpp 80-column and whitespace fixes. 2009-10-07 21:14:25 +00:00
TailDuplication.cpp calls are rejected above, no need to special case malloc here. 2009-09-27 21:31:39 +00:00
TailRecursionElimination.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00