llvm-6502/test/Transforms
Chris Lattner ddfa57bd7b 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68598 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08 05:41:03 +00:00
..
ADCE Remove the ability for ADCE to remove unreachable blocks in loop nests, because, as Eli pointed out, SimplifyCFG already does this. 2008-07-03 17:21:41 +00:00
ArgumentPromotion Update the callgraph correctly in ArgumentPromotion. 2008-09-08 11:07:35 +00:00
BlockPlacement Rationalize the names of passes that print information: 2008-09-23 12:47:39 +00:00
BranchFolding Don't branch fold inline asm statements. 2007-10-19 21:09:55 +00:00
CodeExtractor sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
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 sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
ConstProp apply Eli's patch for PR2165 and provide a testcase. 2008-10-16 05:26:51 +00:00
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 sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
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 Modify some ipconstprop tests to also test with invokes. 2008-06-19 09:27:44 +00:00
JumpThreading Fix PR3353, infinitely jump threading an infinite loop make from switches. 2009-01-19 21:20:34 +00:00
LCSSA sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
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 sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
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 sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LowerSetJmp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LowerSwitch sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
Mem2Reg no need to print output 2008-10-27 06:56:35 +00:00
MemCpyOpt Fix two issues that Eli Friedman pointed out, where would misoptimized code like: 2008-06-01 22:26:26 +00:00
MergeFunc Fix tests not to emit IR output 2008-11-04 23:02:39 +00:00
PredicateSimplifier sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
PruneEH Do not inline functions with (dynamic) alloca into 2009-01-08 21:45:23 +00:00
RaiseAllocations sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
Reassociate Remove GCSE and LoadVN from the testsuite. 2008-08-16 00:00:54 +00:00
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 Add a basic test for the SRETPromotion pass. 2008-08-07 15:55:18 +00:00
StripSymbols sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
TailCallElim sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
TailDup Revert 52223. 2008-06-12 20:55:39 +00:00