llvm-6502/test/Transforms
Hal Finkel 139bfee84c [PowerPC] Enable late partial unrolling on the POWER7
The P7 benefits from not have really-small loops so that we either have
multiple dispatch groups in the loop and/or the ability to form more-full
dispatch groups during scheduling. Setting the partial unrolling threshold to
44 seems good, empirically, for the P7. Compared to using no late partial
unrolling, this yields the following test-suite speedups:

SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding
	-66.3253% +/- 24.1975%
SingleSource/Benchmarks/Misc-C++/oopack_v1p8
	-44.0169% +/- 29.4881%
SingleSource/Benchmarks/Misc/pi
	-27.8351% +/- 12.2712%
SingleSource/Benchmarks/Stanford/Bubblesort
	-30.9898% +/- 22.4647%

I've speculatively added a similar setting for the P8. Also, I've noticed that
the unroller does not quite calculate the unrolling factor correctly for really
tiny loops because it neglects to account for the fact that not every loop body
replicant contains an ending branch and counter increment. I'll fix that later.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225522 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09 15:51:16 +00:00
..
ADCE
AddDiscriminators IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
AlignmentFromAssumptions
ArgumentPromotion IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
AtomicExpand/ARM
BBVectorize This patch teaches IndVarSimplify to add nuw and nsw to certain kinds 2015-01-06 19:02:56 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation LazyValueInfo: Actually re-visit partially solved block-values in solveBlockValue() 2014-11-25 17:23:05 +00:00
DeadArgElim IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
DeadStoreElimination IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
EarlyCSE Tweak EarlyCSE to recognize series of dead stores 2014-11-18 17:46:32 +00:00
FunctionAttrs
GCOVProfiling IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
GlobalDCE Change the .ll syntax for comdats and add a syntactic sugar. 2015-01-06 22:55:16 +00:00
GlobalOpt Change the .ll syntax for comdats and add a syntactic sugar. 2015-01-06 22:55:16 +00:00
GVN IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
IndVarSimplify This patch teaches IndVarSimplify to add nuw and nsw to certain kinds 2015-01-06 19:02:56 +00:00
Inline IR: Add 'distinct' MDNodes to bitcode and assembly 2015-01-08 22:38:29 +00:00
InstCombine Fix fcmp + fabs instcombines when using the intrinsic 2015-01-08 20:09:34 +00:00
InstMerge Added 5 more tests related to sink store revision 224247 2014-12-17 08:12:59 +00:00
InstSimplify InstSimplify: Optimize away pointless comparisons 2014-12-20 03:04:38 +00:00
Internalize
IPConstantProp
JumpThreading ValueTracking: ComputeNumSignBits should tolerate misshapen phi nodes 2015-01-04 07:06:53 +00:00
LCSSA [LCSSA] Handle PHI insertion in disjoint loops 2014-12-22 22:35:46 +00:00
LICM Refine the notion of MayThrow in LICM to include a header specific version 2014-12-29 23:00:57 +00:00
LoadCombine
LoopDeletion
LoopIdiom IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopReroll
LoopRotate IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopSimplify
LoopStrengthReduce IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopUnroll [PowerPC] Enable late partial unrolling on the POWER7 2015-01-09 15:51:16 +00:00
LoopUnswitch
LoopVectorize IR: Add 'distinct' MDNodes to bitcode and assembly 2015-01-08 22:38:29 +00:00
LowerAtomic
LowerExpectIntrinsic IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LowerInvoke
LowerSwitch
Mem2Reg IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
MemCpyOpt
MergeFunc IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
MetaRenamer
ObjCARC IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
PartiallyInlineLibCalls
PhaseOrdering
PruneEH
Reassociate Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
Reg2Mem
SampleProfile IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
Scalarizer IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
ScalarRepl IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
SCCP
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG [SimplifyCFG] Revise common code sinking 2014-12-23 08:26:55 +00:00
Sink
SLPVectorizer Revert 224119 "This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling into vector of loads, 2014-12-17 10:34:27 +00:00
SROA [SROA] Apply a somewhat heavy and unpleasant hammer to fix PR22093, an 2015-01-05 04:17:53 +00:00
StripSymbols IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
StructurizeCFG StructurizeCFG: Use LoopInfo analysis for better loop detection 2014-12-03 04:28:32 +00:00
TailCallElim Fix tail recursion elimination 2014-11-19 13:32:51 +00:00
TailDup
Util [SwitchLowering] Handle destinations on multiple phi instructions 2014-12-02 18:31:53 +00:00