1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/test/CodeGen/PowerPC
Hal Finkel 1424f01791 Enable PPC CTR loop formation by default.
Thanks to Jakob's help, this now causes no new test suite failures!

Over the entire test suite, this gives an average 1% speedup. The largest speedups are:
SingleSource/Benchmarks/Misc/pi - 108%
SingleSource/Benchmarks/CoyoteBench/lpbench - 54%
MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail - 50%
SingleSource/Benchmarks/Shootout/ary3 - 32%
SingleSource/Benchmarks/Shootout-C++/matrix - 30%

The largest slowdowns are:
MultiSource/Benchmarks/mediabench/gsm/toast/toast - -30%
MultiSource/Benchmarks/Prolangs-C/bison/mybison - -25%
MultiSource/Benchmarks/BitBench/uuencode/uuencode - -22%
MultiSource/Applications/d/make_dparser - -14%
SingleSource/Benchmarks/Shootout-C++/ary - -13%

In light of these slowdowns, additional profiling work is obviously needed!

llvm-svn: 158223
2012-06-08 19:19:53 +00:00
..
2004-11-29-ShrCrash.ll
2004-11-30-shift-crash.ll
2004-11-30-shr-var-crash.ll
2004-12-12-ZeroSizeCommon.ll
2005-01-14-SetSelectCrash.ll
2005-01-14-UndefLong.ll
2005-08-12-rlwimi-crash.ll
2005-09-02-LegalizeDuplicatesCalls.ll
2005-10-08-ArithmeticRotate.ll
2005-11-30-vastart-crash.ll
2006-01-11-darwin-fp-argument.ll
2006-01-20-ShiftPartsCrash.ll
2006-04-01-FloatDoubleExtend.ll
2006-04-05-splat-ish.ll
2006-04-19-vmaddfp-crash.ll
2006-05-12-rlwimi-crash.ll
2006-07-07-ComputeMaskedBits.ll
2006-07-19-stwbrx-crash.ll
2006-08-11-RetVector.ll
2006-08-15-SelectionCrash.ll
2006-09-28-shift_64.ll
2006-10-13-Miscompile.ll
2006-10-17-brcc-miscompile.ll
2006-10-17-ppc64-alloca.ll
2006-11-10-DAGCombineMiscompile.ll
2006-11-29-AltivecFPSplat.ll
2006-12-07-LargeAlloca.ll
2006-12-07-SelectCrash.ll
2007-01-04-ArgExtension.ll
2007-01-15-AsmDialect.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
2007-01-29-lbrx-asm.ll
2007-01-31-InlineAsmAddrMode.ll
2007-02-16-AlignPacked.ll
2007-02-16-InlineAsmNConstraint.ll
2007-02-23-lr-saved-twice.ll
2007-03-24-cntlzd.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
2007-03-30-SpillerCrash.ll
2007-04-24-InlineAsm-I-Modifier.ll
2007-04-30-InlineAsmEarlyClobber.ll Remove the local register allocator. 2010-06-15 21:58:33 +00:00
2007-05-03-InlineAsm-S-Constraint.ll
2007-05-14-InlineAsmSelectCrash.ll
2007-05-22-tailmerge-3.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
2007-05-30-dagcombine-miscomp.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2007-06-28-BCCISelBug.ll
2007-08-04-CoalescerAssert.ll
2007-09-04-AltivecDST.ll
2007-09-07-LoadStoreIdxForms.ll
2007-09-08-unaligned.ll
2007-09-11-RegCoalescerAssert.ll
2007-09-12-LiveIntervalsAssert.ll
2007-10-16-InlineAsmFrameOffset.ll
2007-10-18-PtrArithmetic.ll
2007-10-21-LocalRegAllocAssert2.ll Remove the local register allocator. 2010-06-15 21:58:33 +00:00
2007-10-21-LocalRegAllocAssert.ll Remove the local register allocator. 2010-06-15 21:58:33 +00:00
2007-11-04-CoalescerCrash.ll
2007-11-16-landingpad-split.ll Update more tests to the new EH scheme. 2011-08-31 21:04:11 +00:00
2007-11-19-VectorSplitting.ll
2008-02-05-LiveIntervalsAssert.ll
2008-02-09-LocalRegAllocAssert.ll Remove the local register allocator. 2010-06-15 21:58:33 +00:00
2008-03-05-RegScavengerAssert.ll enable PPC register scavenging by default (update tests and remove some FIXMEs) 2011-12-05 17:55:17 +00:00
2008-03-17-RegScavengerCrash.ll enable PPC register scavenging by default (update tests and remove some FIXMEs) 2011-12-05 17:55:17 +00:00
2008-03-18-RegScavengerAssert.ll enable PPC register scavenging by default (update tests and remove some FIXMEs) 2011-12-05 17:55:17 +00:00
2008-03-24-AddressRegImm.ll
2008-03-24-CoalescerBug.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2008-03-26-CoalescerBug.ll
2008-04-10-LiveIntervalCrash.ll
2008-04-16-CoalescerBug.ll
2008-04-23-CoalescerCrash.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
2008-05-01-ppc_fp128.ll
2008-06-19-LegalizerCrash.ll
2008-06-21-F128LoadStore.ll
2008-06-23-LiveVariablesCrash.ll
2008-07-10-SplatMiscompile.ll
2008-07-15-Bswap.ll
2008-07-15-Fabs.ll
2008-07-15-SignExtendInreg.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2008-07-17-Fneg.ll
2008-07-24-PPC64-CCBug.ll
2008-09-12-CoalescerBug.ll
2008-10-17-AsmMatchingOperands.ll test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll: [PR11218] Mark "REQUIRES: asserts" for now. 2011-10-28 23:11:03 +00:00
2008-10-28-f128-i32.ll
2008-10-28-UnprocessedNode.ll
2008-10-31-PPCF128Libcalls.ll Turn calls to copysignl into an FCOPYSIGN node. Handle FCOPYSIGN nodes 2010-03-14 21:08:40 +00:00
2008-12-02-LegalizeTypeAssert.ll
2008-12-12-EH.ll Add 130690 back. 2011-05-02 15:58:16 +00:00
2009-01-16-DeclareISelBug.ll Remove ancient debug info constructs from test cases, they are not relevant to test case's main objective. 2011-09-14 00:29:50 +00:00
2009-03-17-LSRBug.ll
2009-05-28-LegalizeBRCC.ll
2009-07-16-InlineAsm-M-Operand.ll
2009-08-17-inline-asm-addr-mode-breakage.ll Fix some latency computation bugs: if the use is not a machine opcode do not just return zero. 2010-05-28 23:26:21 +00:00
2009-08-23-linkerprivate.ll Add MCObjectFileInfo and sink the MCSections initialization code from 2011-07-20 05:58:47 +00:00
2009-09-18-carrybit.ll
2009-11-15-ProcImpDefsBug.ll
2009-11-25-ImpDefBug.ll
2010-02-04-EmptyGlobal.ll Bill's change in r95336 broke empty aggregates embedded 2010-04-20 06:20:21 +00:00
2010-02-12-saveCR.ll Cleanup stack/frame register define/kill states. This fixes two bugs: 2011-12-30 00:34:00 +00:00
2010-03-09-indirect-call.ll Remove -join-physregs from the test suite. 2012-05-17 23:44:19 +00:00
2010-04-01-MachineCSEBug.ll After trivial coalescing, the MI being visited may have become a copy. Avoid adding it to CSE hash table since copies aren't being considered for CSE and they may be deleted. 2010-04-02 02:21:24 +00:00
2010-04-07-DbgValueOtherTargets.ll If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. 2010-12-06 22:39:26 +00:00
2010-05-03-retaddr1.ll These tests no longer require linear scan because reserved register coalescing is now universal. 2011-04-05 21:40:41 +00:00
2010-10-11-Fast-Varargs.ll PowerPC varargs functions store live-in registers on the stack. Make sure we use 2010-10-11 20:43:09 +00:00
2010-12-18-PPCStackRefs.ll Restore the behavior of frame lowering before my refactoring. 2010-12-18 19:53:14 +00:00
2011-12-05-NoSpillDupCR.ll Add test case - this input used to crash because of duplicate generation of SPILL_CRs 2011-12-05 17:55:22 +00:00
2011-12-06-SpillAndRestoreCR.ll add a test case that uses RESTORE_CR 2011-12-06 20:55:41 +00:00
2011-12-08-DemandedBitsMiscompile.ll Fix a couple of logic bugs in TargetLowering::SimplifyDemandedBits. PR11514. 2011-12-09 01:16:26 +00:00
a2-fp-basic.ll Add instruction itinerary for the PPC64 A2 core. 2012-04-01 19:22:40 +00:00
addc.ll
addi-reassoc.ll
align.ll the latest assembler that runs on powerpc 10.4 machines doesn't 2010-09-27 06:44:54 +00:00
and_add.ll
and_sext.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
and_sra.ll
and-branch.ll
and-elim.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
and-imm.ll
atomic-1.ll Convert more tests over to the new atomic instructions. 2011-09-26 21:30:17 +00:00
atomic-2.ll Convert more tests over to the new atomic instructions. 2011-09-26 21:30:17 +00:00
Atomics-32.ll Convert more tests over to the new atomic instructions. 2011-09-26 21:30:17 +00:00
Atomics-64.ll Convert more tests over to the new atomic instructions. 2011-09-26 21:30:17 +00:00
available-externally.ll
big-endian-actual-args.ll
big-endian-call-result.ll
big-endian-formal-args.ll adjust the instruction ordering in some PPC tests: changes due to postRA haz. rec. 2011-12-02 04:58:12 +00:00
bl8_elf_nop.ll Add a test case to make sure that the nop really does follow the bl on ppc64 elf 2011-12-15 17:59:23 +00:00
branch-opt.ll
bswap-load-store.ll
buildvec_canonicalize.ll
calls.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
can-lower-ret.ll Test case for CanLowerReturn fix (r141981) 2011-10-17 04:03:59 +00:00
cmp-cmp.ll
compare-duplicate.ll
compare-simm.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
constants.ll
cr1eq.ll Set CR1EQ only when lowering vararg floating arguments (not any vararg 2011-08-30 17:04:16 +00:00
cr_spilling.ll Remove the local register allocator. 2010-06-15 21:58:33 +00:00
ctrloop-reg.ll Enable PPC CTR loop formation by default. 2012-06-08 19:19:53 +00:00
ctrloops.ll Enable PPC CTR loop formation by default. 2012-06-08 19:19:53 +00:00
cttz.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
darwin-labels.ll
dbg.ll AggressiveAntiDepBreaker needs to skip debug values because a debug value does not have a corresponding SUnit 2012-01-16 22:53:41 +00:00
delete-node.ll
div-2.ll
empty-functions.ll Consider this function: 2010-07-16 22:51:10 +00:00
eqv-andc-orc-nor.ll add some nounwinds 2010-03-28 07:58:37 +00:00
extsh.ll
fabs.ll
fma.ll
fnabs.ll
fneg.ll
fold-li.ll
fp_to_uint.ll
fp-branch.ll
fp-int-fp.ll
fpcopy.ll
Frames-alloca.ll enable PPC register scavenging by default (update tests and remove some FIXMEs) 2011-12-05 17:55:17 +00:00
Frames-large.ll Cleanup stack/frame register define/kill states. This fixes two bugs: 2011-12-30 00:34:00 +00:00
Frames-leaf.ll
Frames-small.ll Fix mistyped CHECK lines. 2011-03-09 22:07:31 +00:00
frounds.ll
fsqrt.ll
hello.ll
hidden-vis-2.ll
hidden-vis.ll
i64_fp.ll
i128-and-beyond.ll
iabs.ll
illegal-element-type.ll
indirectbr.ll adjust the instruction ordering in some PPC tests: changes due to postRA haz. rec. 2011-12-02 04:58:12 +00:00
inlineasm-copy.ll
int-fp-conv-0.ll
int-fp-conv-1.ll
inverted-bool-compares.ll
ispositive.ll
itofp128.ll
LargeAbsoluteAddr.ll Change the default scheduler from Latency to ILP, since Latency 2011-10-24 17:45:02 +00:00
lha.ll
lit.local.cfg Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu 2012-03-25 09:02:19 +00:00
load-constant-addr.ll
long-compare.ll
longdbl-truncate.ll
lsr-postinc-pos.ll
mask64.ll
mem_update.ll Enable generating PPC pre-increment (r+imm) instructions by default. 2012-06-04 02:21:00 +00:00
mem-rr-addr-mode.ll
mul-neg-power-2.ll
mul-with-overflow.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
mulhs.ll Add r130623 back now that ELF has been fixed to work with -fno-dwarf2-cfi-asm. 2011-05-01 15:44:13 +00:00
mult-alt-generic-powerpc64.ll Inline asm mult-alt constraint tests. 2010-11-02 23:01:44 +00:00
mult-alt-generic-powerpc.ll Inline asm mult-alt constraint tests. 2010-11-02 23:01:44 +00:00
neg.ll
no-dead-strip.ll
or-addressing-mode.ll
ppc64-32bit-addic.ll Don't apply on PPC64 the 32bit ADDIC optimizations as there's no overflow 2011-06-20 15:28:39 +00:00
ppc64-crash.ll Fix a few places where 32bit instructions/registerset were used on PPC64. 2011-06-17 15:21:10 +00:00
ppc64-ind-call.ll X11/X2 loads around indirect calls on ppc64 should not be deleted. 2012-02-24 17:54:01 +00:00
ppc64-linux-func-size.ll Test the section specification. 2012-02-27 20:42:19 +00:00
ppc64-prefetch.ll Enable prefetch generation on PPC64. 2012-04-01 20:08:17 +00:00
ppc64-vaarg-int.ll Fix small-integer VAARG on SVR4 ABI PPC64. 2012-03-24 03:53:55 +00:00
ppc440-fp-basic.ll use FileCheck and not grep in new tests 2011-10-17 16:01:41 +00:00
ppc440-msync.ll use FileCheck and not grep in new tests 2011-10-17 16:01:41 +00:00
ppc-prologue.ll Add 130690 back. 2011-05-02 15:58:16 +00:00
ppc-vaarg-agg.ll Remove dead SD nodes after the combining pass. Fixes PR12201. 2012-04-16 03:33:22 +00:00
ppcf128-1-opt.ll
ppcf128-1.ll
ppcf128-2.ll
ppcf128-3.ll
ppcf128-4.ll
pr3711_widen_bit.ll
private.ll
reg-coalesce-simple.ll
retaddr.ll
return-val-i128.ll
rlwimi2.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
rlwimi3.ll
rlwimi-commute.ll
rlwimi-keep-rsh.ll add newlines at the end of files. 2010-04-07 22:53:17 +00:00
rlwimi.ll
rlwinm2.ll
rlwinm.ll
rotl-2.ll
rotl-64.ll
rotl.ll
sections.ll Be nice to Xcore and the XMOS assembler and avoid quoting section names 2011-03-04 20:03:14 +00:00
select_lt0.ll
select-cc.ll
setcc_no_zext.ll
seteq-0.ll
shift128.ll
shl_elim.ll
shl_sext.ll
sign_ext_inreg1.ll
small-arguments.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
stack-protector.ll Fix up -fstack-protector on linux to use the segment 2010-07-06 05:18:56 +00:00
stfiwx-2.ll
stfiwx.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
store-load-fwd.ll
stubs.ll
stwu8.ll Enable generating PPC pre-increment (r+imm) instructions by default. 2012-06-04 02:21:00 +00:00
subc.ll
tailcall1-64.ll
tailcall1.ll
tailcallpic1.ll
tls.ll Implement local-exec TLS on PowerPC. 2012-06-04 17:36:38 +00:00
trampoline.ll Split the init.trampoline intrinsic, which currently combines GCC's 2011-09-06 13:37:06 +00:00
unsafe-math.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
varargs.ll force a triple, varargs isn't supported with the SVR4 ABI the buildbot tells me. 2010-10-10 18:59:01 +00:00
vcmp-fold.ll
vec_auto_constant.ll
vec_br_cmp.ll
vec_buildvector_loadstore.ll
vec_call.ll
vec_constants.ll PR7781: Fix incorrect shifting in PPCTargetLowering::LowerBUILD_VECTOR. 2010-08-02 00:18:19 +00:00
vec_fneg.ll
vec_insert.ll
vec_misaligned.ll
vec_mul.ll
vec_perf_shuffle.ll
vec_shift.ll
vec_shuffle.ll
vec_splat_constant.ll
vec_splat.ll
vec_vrsave.ll
vec_zero.ll
vector-identity-shuffle.ll
vector.ll test/CodeGen/PowerPC/vector.ll: Tweak redirection >%t >%t to >%t >>%t. See also r134814 (test/CodeGen/X86/vector.ll). 2011-07-11 16:21:52 +00:00