llvm-6502/test/Transforms
Derek Schuff c06e5cf2e3 Fix DeleteDeadVarargs not to crash on functions referenced by BlockAddresses
This pass was assuming that if hasAddressTaken() returns false for a
function, the function's only uses are call sites.  That's not true
because there can be references by BlockAddresses too.

Fix the pass to handle this case.  Fix
BlockAddress::replaceUsesOfWithOnConstant() to allow a function's type
to be changed by RAUW'ing the function with a bitcast of the recreated
function.

Patch by Mark Seaborn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183933 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-13 19:51:17 +00:00
..
ADCE
ArgumentPromotion
BBVectorize Revert "InstCombine: Fold more shuffles of shuffles." 2013-05-01 00:25:27 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge Fix const merging when an alias of a const is llvm.used. 2013-05-06 01:48:55 +00:00
ConstProp
CorrelatedValuePropagation
DeadArgElim Fix DeleteDeadVarargs not to crash on functions referenced by BlockAddresses 2013-06-13 19:51:17 +00:00
DeadStoreElimination TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
EarlyCSE
FunctionAttrs
GCOVProfiling Revert "Revert "PR14606: debug info imported_module support"" 2013-04-22 06:12:31 +00:00
GlobalDCE Revert 179826. Tests were worthless. 2013-04-19 09:32:30 +00:00
GlobalOpt Always remove an alias when we rename the target. 2013-06-12 16:45:47 +00:00
GVN Fix unchecked uses of DominatorTree in MemoryDependenceAnalysis. 2013-05-06 02:07:24 +00:00
IndVarSimplify IndVarSimplify: check if loop invariant expansion can trap 2013-06-04 17:51:58 +00:00
Inline
InstCombine Add a testcase from pr16244. 2013-06-06 19:15:23 +00:00
InstSimplify ConstantFolding: ComputeMaskedBits wants the scalar size for vectors. 2013-04-19 16:56:24 +00:00
Internalize
IPConstantProp
JumpThreading TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
LCSSA
LICM
LoopDeletion
LoopIdiom
LoopRotate Rotate multi-exit loops even if the latch was simplified. 2013-05-06 17:58:18 +00:00
LoopSimplify
LoopStrengthReduce Modify how the formulae are rated in Loop Strength Reduce. 2013-05-31 17:20:29 +00:00
LoopUnroll Prevent loop-unroll from making assumptions about undefined behavior. 2013-05-31 23:34:46 +00:00
LoopUnswitch TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
LoopVectorize LoopVectorize: PHIs with only outside users should prevent vectorization 2013-05-31 19:53:50 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt Fix a potential bug in r183584. 2013-06-08 04:56:05 +00:00
MergeFunc TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
MetaRenamer
ObjCARC [objc-arc] Ensure that the cfg path count does not overflow when we multiply TopDownPathCount/BottomUpPathCount. 2013-06-07 06:16:49 +00:00
PhaseOrdering Revert 179826. Tests were worthless. 2013-04-19 09:32:30 +00:00
PruneEH
Reassociate TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
Reg2Mem
ScalarRepl
SCCP
SimplifyCFG Second part of pr16069 2013-06-04 14:11:59 +00:00
Sink
SLPVectorizer SLPVectorizer: Change the order in which new instructions are added to the function. 2013-05-22 19:47:32 +00:00
SROA SROA: Generate selects instead of shuffles when blending values because this is the cannonical form. 2013-05-01 19:53:30 +00:00
StripSymbols
TailCallElim
TailDup