1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/Transforms
Chris Lattner 7d75f78b92 Instcombine should not promote whole computation trees to "strange"
integer types, unless they are already strange.  This prevents it from
turning the code produced by SROA into crazy libcalls and stuff that 
the code generator can't handle.  In the attached example, the result
was an i96 multiply that caused the x86 backend to assert.

Note that if TargetData had an idea of what the legal types are for
a target that this could be used to stop instcombine from introducing
i64 muls, as Scott wanted.

llvm-svn: 68598
2009-04-08 05:41:03 +00:00
..
ADCE
ArgumentPromotion
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare reenable test 2008-11-24 21:27:20 +00:00
CondProp Ignore dbg intrinsics while propagating conditional expression info. Take 2. 2009-02-05 23:32:52 +00:00
ConstantMerge
ConstProp
DeadArgElim aha, DAE does have to think about PHI nodes. Many thanks to "Dr Evil" (aka Duncan) 2009-03-18 16:48:45 +00:00
DeadStoreElimination Reimplement the inner loop of DSE. It now uniformly uses getDependence(), 2008-12-06 00:53:22 +00:00
FunctionAttrs Remove alloca tracking from nocapture analysis. Not only 2009-01-07 19:39:06 +00:00
GlobalDCE If an alias is dead and so is its aliasee, then globaldce would 2009-02-17 23:05:26 +00:00
GlobalOpt Ignore debug info while evaluating function. 2009-03-09 23:04:12 +00:00
GVN Reapply r68211, with the miscompilations it caused fixed. 2009-04-01 23:53:49 +00:00
GVNPRE
IndMemRem Actually run the test in this directory. 2009-01-25 08:05:07 +00:00
IndVarSimplify Back out the change in 64918 that used sign-extensions when promoting 2009-02-23 23:20:35 +00:00
Inline If a function is marked alwaysinline, it must be inlined (possibly for correctness). Do so even if the callee has dynamic alloca and the caller doesn't. 2009-03-10 07:57:50 +00:00
InstCombine Instcombine should not promote whole computation trees to "strange" 2009-04-08 05:41:03 +00:00
Internalize Teach the internalize pass to also internalize 2009-01-05 21:24:45 +00:00
IPConstantProp
JumpThreading Fix PR3353, infinitely jump threading an infinite loop make from switches. 2009-01-19 21:20:34 +00:00
LCSSA
LICM Before deleting a basic block, give other loop passes a chance cleanup analysis values, related to the instructions in the basic block. 2009-03-25 23:57:48 +00:00
LoopDeletion don't spew tons of stuff to the output. This testcase is *not* for 2008-12-03 06:41:50 +00:00
LoopIndexSplit Loop Index Split can eliminate a loop if it can determin if loop body is executed only once. There was a bug in determining IV based value of the iteration for which the loop body is executed. Fix it. 2009-03-30 22:24:10 +00:00
LoopRotate Fix PR3408 by making a non-obvious assumption very obvious, and 2009-01-26 02:11:30 +00:00
LoopSimplify
LoopStrengthReduce Implement "superhero" strength reduction, or full strength 2009-02-20 04:17:46 +00:00
LoopUnroll remove a test that depends on -debug. 2009-03-13 20:31:48 +00:00
LoopUnswitch Actually test something. Use PR3170 test case. 2008-12-08 23:44:46 +00:00
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg no need to print output 2008-10-27 06:56:35 +00:00
MemCpyOpt
MergeFunc Fix tests not to emit IR output 2008-11-04 23:02:39 +00:00
PredicateSimplifier
PruneEH Do not inline functions with (dynamic) alloca into 2009-01-08 21:45:23 +00:00
RaiseAllocations
Reassociate
ScalarRepl Fix a bug. 2009-03-18 07:56:13 +00:00
SCCP adjust for asmprinter change. 2009-03-01 00:25:46 +00:00
SimplifyCFG While hoisting instruction to speculatively execute simple bb, ignore dbg intrinsics. 2009-03-06 06:00:17 +00:00
SimplifyLibCalls Let the strcat optimizer return the pointer to the start of the buffer, 2009-04-06 13:06:48 +00:00
SRETPromotion
StripSymbols
TailCallElim
TailDup