llvm-6502/test/Transforms
Shuxin Yang a0c9939873 Perform factorization as a last resort of unsafe fadd/fsub simplification.
Rules include:
  1)1 x*y +/- x*z => x*(y +/- z) 
    (the order of operands dosen't matter)

  2) y/x +/- z/x => (y +/- z)/x 

 The transformation is disabled if the new add/sub expr "y +/- z" is a 
denormal/naz/inifinity.

rdar://12911472


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177088 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14 18:08:26 +00:00
..
ADCE
ArgumentPromotion Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
BBVectorize Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
ConstantMerge Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
ConstProp Remove this testcase until I can figure out how to properly conditionalize it. 2013-02-07 07:01:54 +00:00
CorrelatedValuePropagation CVP: If we have a PHI with an incoming select, try to skip the select. 2013-02-24 15:34:43 +00:00
DeadArgElim Remove the unused 4th operand for DIFile debug info metadata 2013-03-13 22:05:21 +00:00
DeadStoreElimination Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2013-01-01 13:57:25 +00:00
EarlyCSE There was a switch fall-through in the parser for textual LLVM that caused 2013-01-07 13:32:38 +00:00
FunctionAttrs Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
GCOVProfiling Remove a change to the debug info in this test, that I made while testing 2013-03-14 05:28:10 +00:00
GlobalDCE
GlobalOpt Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
GVN Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
IndVarSimplify Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
Inline Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
InstCombine Perform factorization as a last resort of unsafe fadd/fsub simplification. 2013-03-14 18:08:26 +00:00
InstSimplify [SimplifyLibCalls] Library call simplification doen't work if the call site 2013-02-08 18:00:14 +00:00
Internalize Change the internalize pass to internalize all symbols when given an empty 2012-10-26 18:47:48 +00:00
IPConstantProp Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
JumpThreading Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
LCSSA Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
LICM Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
LoopDeletion Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
LoopIdiom PR14904: Segmentation fault running pass 'Recognize loop idioms' 2013-01-10 23:32:01 +00:00
LoopRotate Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
LoopSimplify Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
LoopStrengthReduce LSR IVChain improvement. 2013-02-09 01:11:01 +00:00
LoopUnroll Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
LoopUnswitch Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
LoopVectorize Test case hygiene. 2013-03-09 18:25:40 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch PR1255 related changes (case ranges): 2012-05-24 09:33:20 +00:00
Mem2Reg Remove the unused 4th operand for DIFile debug info metadata 2013-03-13 22:05:21 +00:00
MemCpyOpt Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
MergeFunc Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
MetaRenamer Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2013-01-01 13:57:25 +00:00
ObjCARC Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
PhaseOrdering Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
PruneEH The normal edge of an invoke is not allowed to branch to a block with a 2012-08-10 20:55:20 +00:00
Reassociate Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
Reg2Mem Make sure we don't emit instructions before a landingpad instruction. 2013-01-08 10:51:32 +00:00
ScalarRepl Remove the unused 4th operand for DIFile debug info metadata 2013-03-13 22:05:21 +00:00
SCCP Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2013-01-01 13:57:25 +00:00
SimplifyCFG Don't remove a landing pad if the invoke requires a table entry. 2013-03-11 20:53:00 +00:00
SimplifyLibCalls Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
Sink Enhance the sinking code to handle diamond patterns. Patch by 2012-05-31 08:09:49 +00:00
SROA PR14972: SROA vs. GVN exposed a really bad bug in SROA. 2013-03-14 11:32:24 +00:00
StripSymbols Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2013-01-01 13:57:25 +00:00
TailCallElim Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
TailDup Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00