llvm-6502/lib/Transforms/Scalar
Dan Gohman a9db129730 Don't merge uses when they are targetting fixup sites with
different widths. In a use with a narrower fixup, formulae
may be wider than the fixup, in which case the high bits
aren't necessarily meaningful, so it isn't safe to reuse
them for uses with wider fixups.

This fixes PR7618, though the testcase is too large for a
reasonable regression test, since it heavily dependes on
hitting LSR's heuristics in a certain way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108455 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-15 20:24:58 +00:00
..
ABCD.cpp Convert some tab stops into spaces. 2010-07-12 08:16:59 +00:00
ADCE.cpp Use pre-increment instead of post-increment when the result is not used. 2010-06-22 15:08:57 +00:00
BasicBlockPlacement.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
CMakeLists.txt Update CMake build. 2010-05-07 17:13:20 +00:00
CodeGenPrepare.cpp use getArgOperand (corrected by CallInst::ArgOffset) instead of getOperand 2010-06-30 09:19:23 +00:00
ConstantProp.cpp remove a bunch of extraneous LLVMContext arguments 2009-11-06 04:27:31 +00:00
DCE.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
DeadStoreElimination.cpp Don't claim to preserve AliasAnalysis. First, this is doesn't actually 2010-07-02 18:43:05 +00:00
GEPSplitter.cpp Check in the experimental GEP splitter pass. This pass splits complex 2009-10-26 19:12:14 +00:00
GVN.cpp cache result of operator* (found by inspection) 2010-07-09 14:48:08 +00:00
IndVarSimplify.cpp cache result of operator* 2010-07-09 15:40:10 +00:00
JumpThreading.cpp cache results of operator* 2010-07-12 14:10:24 +00:00
LICM.cpp performance: cache the dereferenced use_iterator 2010-04-14 16:13:56 +00:00
LoopDeletion.cpp Use pre-increment instead of post-increment when the result is not used. 2010-06-22 15:08:57 +00:00
LoopIndexSplit.cpp Convert some tab stops into spaces. 2010-07-12 08:16:59 +00:00
LoopRotation.cpp Use pre-increment instead of post-increment when the result is not used. 2010-06-22 15:08:57 +00:00
LoopStrengthReduce.cpp Don't merge uses when they are targetting fixup sites with 2010-07-15 20:24:58 +00:00
LoopUnrollPass.cpp Add a DominatorTree argument to isLCSSA so that it doesn't have to 2010-03-10 19:38:49 +00:00
LoopUnswitch.cpp Use ValueMap instead of DenseMap. 2010-06-24 00:33:28 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
MemCpyOptimizer.cpp Use pre-increment instead of post-increment when the result is not used. 2010-06-22 15:08:57 +00:00
Reassociate.cpp cache dereferenced iterators 2010-07-12 12:03:02 +00:00
Reg2Mem.cpp performance: cache the dereferenced use_iterator 2010-04-14 16:48:56 +00:00
Scalar.cpp Whoops this already existed. 2010-03-11 23:21:19 +00:00
ScalarReplAggregates.cpp Fix the second half of PR7437: scalarrepl wasn't preserving 2010-07-08 00:27:05 +00:00
SCCP.cpp fix PR6940: sitofp(undef) folds to 0.0, not undef. 2010-04-26 18:21:23 +00:00
SimplifyCFGPass.cpp SimplifyCFG: don't turn volatile stores to null/undef into unreachable. Fixes PR7369. 2010-06-13 14:35:54 +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 Detabify this file. 2010-07-06 03:53:43 +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 recommit r108131 (hich has been backed out in r108135) with a fix 2010-07-12 12:02:10 +00:00
TailRecursionElimination.cpp Handle the case of a tail recursion in which the tail call is followed 2010-07-13 15:41:41 +00:00