llvm-6502/test/Transforms
Shuxin Yang b1ccfb3a54 [Fast-math] Disable "(C1/X)*C2 => (C1*C2)/X" if C1/X has multiple uses.
If "C1/X" were having multiple uses, the only benefit of this
transformation is to potentially shorten critical path. But it is at the
cost of instroducing additional div.

  The additional div may or may not incur cost depending on how div is
implemented. If it is implemented using Newton–Raphson iteration, it dosen't
seem to incur any cost (FIXME). However, if the div blocks the entire
pipeline, that sounds to be pretty expensive. Let CodeGen to take care 
this transformation.

  This patch sees 6% on a benchmark.

rdar://15032743


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191037 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-19 21:13:46 +00:00
..
ADCE [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
ArgumentPromotion [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
BBVectorize Prevent LoopVectorizer and SLPVectorizer running if the target has no vector registers. 2013-09-18 12:43:35 +00:00
BranchFolding
CodeExtractor [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
CodeGenPrepare [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
ConstantMerge [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
ConstProp Teach ConstantFolding about pointer address spaces 2013-08-20 21:20:04 +00:00
CorrelatedValuePropagation [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
DeadArgElim Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
DeadStoreElimination [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
DebugIR [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
EarlyCSE [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
FunctionAttrs [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
GCOVProfiling Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
GlobalDCE [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
GlobalOpt Don't shrink atomic ops to bool in GlobalOpt. 2013-09-09 22:00:13 +00:00
GVN GVN proceeds in the presence of dead code. 2013-09-19 17:22:51 +00:00
IndVarSimplify Teach loop-idiom about address space pointer sizes 2013-09-11 05:09:42 +00:00
Inline Handle address spaces in TargetTransformInfo 2013-08-28 22:41:57 +00:00
InstCombine [Fast-math] Disable "(C1/X)*C2 => (C1*C2)/X" if C1/X has multiple uses. 2013-09-19 21:13:46 +00:00
InstSimplify [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
Internalize Merge these 2 tests in a single file. 2013-09-04 19:19:32 +00:00
IPConstantProp [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
JumpThreading [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LCSSA [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LICM Add testcase for r190631 2013-09-16 21:24:30 +00:00
LoopDeletion [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LoopIdiom Teach loop-idiom about address space pointer sizes 2013-09-11 05:09:42 +00:00
LoopRotate Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
LoopSimplify [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LoopStrengthReduce Teach loop-idiom about address space pointer sizes 2013-09-11 05:09:42 +00:00
LoopUnroll Implement TTI getUnrollingPreferences for PowerPC 2013-09-11 21:20:40 +00:00
LoopUnswitch [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LoopVectorize Name the XCore target-specific subdirectories canonically. 2013-09-18 14:08:30 +00:00
LowerAtomic [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LowerExpectIntrinsic [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LowerInvoke [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LowerSwitch Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
Mem2Reg Debug Info: add an identifier field to DICompositeType. 2013-08-26 22:39:55 +00:00
MemCpyOpt [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
MergeFunc Bugfix for PR17099: 2013-09-17 09:36:11 +00:00
MetaRenamer [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
ObjCARC Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
PhaseOrdering [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
PruneEH [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
Reassociate [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
Reg2Mem [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
ScalarRepl Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
SCCP [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
SimplifyCFG Add test for untested path in SimplifyCFG 2013-09-14 02:44:02 +00:00
Sink [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
SLPVectorizer Name the XCore target-specific subdirectories canonically. 2013-09-18 14:08:30 +00:00
SROA [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
StripSymbols Fix a test to not fail for users with my name. :) 2013-08-29 00:41:22 +00:00
StructurizeCFG [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
TailCallElim [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
TailDup [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00