llvm-mirror/test/Transforms
Shuxin Yang 44b8e62121 [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

llvm-svn: 191037
2013-09-19 21:13:46 +00:00
..
ADCE
ArgumentPromotion
BBVectorize Prevent LoopVectorizer and SLPVectorizer running if the target has no vector registers. 2013-09-18 12:43:35 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
DeadStoreElimination
DebugIR
EarlyCSE
FunctionAttrs
GCOVProfiling Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
GlobalDCE
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
Internalize Merge these 2 tests in a single file. 2013-09-04 19:19:32 +00:00
IPConstantProp
JumpThreading
LCSSA
LICM Add testcase for r190631 2013-09-16 21:24:30 +00:00
LoopDeletion
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
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
LoopVectorize Name the XCore target-specific subdirectories canonically. 2013-09-18 14:08:30 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
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
MergeFunc Bugfix for PR17099: 2013-09-17 09:36:11 +00:00
MetaRenamer
ObjCARC Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
PhaseOrdering
PruneEH
Reassociate
Reg2Mem
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
SimplifyCFG Add test for untested path in SimplifyCFG 2013-09-14 02:44:02 +00:00
Sink
SLPVectorizer Name the XCore target-specific subdirectories canonically. 2013-09-18 14:08:30 +00:00
SROA
StripSymbols Fix a test to not fail for users with my name. :) 2013-08-29 00:41:22 +00:00
StructurizeCFG
TailCallElim
TailDup