llvm-6502/test/CodeGen/PowerPC
Bill Schmidt 11729224bf [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC.
This is a preliminary patch for fast instruction selection on
PowerPC.  Code generation can differ between DAG isel and fast isel.
Existing tests that specify -O0 were written to expect DAG isel.  Make
this explicit by adding -fast-isel=false to the tests.

In some cases specifying -fast-isel=false produces different code even
when there isn't a fast instruction selector specified.  This is
because TM.Options.EnableFastISel = 1 at -O0 whether or not a FastISel
object exists.  Thus disabling fast isel can actually produce less
conservative code.  Because of this, some of the expected code
generation in the -O0 tests needs to be adjusted.

In particular, handling of function arguments is less conservative
with -fast-isel=false (see isOnlyUsedInEntryBlock() in
SelectionDAGBuilder.cpp).  This results in fewer stack accesses and,
in some cases, reduced stack size as uselessly loaded values are no
longer stored back to spill locations in the stack.

No functional change with this patch; test case adjustments only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183939 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-13 20:23:34 +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
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
2007-03-30-SpillerCrash.ll
2007-04-24-InlineAsm-I-Modifier.ll
2007-04-30-InlineAsmEarlyClobber.ll
2007-05-03-InlineAsm-S-Constraint.ll
2007-05-14-InlineAsmSelectCrash.ll
2007-05-22-tailmerge-3.ll
2007-05-30-dagcombine-miscomp.ll
2007-06-28-BCCISelBug.ll
2007-08-04-CoalescerAssert.ll
2007-09-04-AltivecDST.ll Protect PPC Altivec patterns with a predicate 2013-03-15 13:21:21 +00:00
2007-09-07-LoadStoreIdxForms.ll LocalStackSlotAllocation improvements 2013-04-30 20:04:37 +00:00
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
2007-10-21-LocalRegAllocAssert.ll
2007-11-04-CoalescerCrash.ll
2007-11-16-landingpad-split.ll Extend test to check the .cfi instructions. 2013-05-16 14:30:09 +00:00
2007-11-19-VectorSplitting.ll
2008-02-05-LiveIntervalsAssert.ll
2008-02-09-LocalRegAllocAssert.ll
2008-03-05-RegScavengerAssert.ll
2008-03-17-RegScavengerCrash.ll
2008-03-18-RegScavengerAssert.ll
2008-03-24-AddressRegImm.ll
2008-03-24-CoalescerBug.ll
2008-03-26-CoalescerBug.ll
2008-04-10-LiveIntervalCrash.ll
2008-04-16-CoalescerBug.ll
2008-04-23-CoalescerCrash.ll
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 SelectionDAG: Teach FoldConstantArithmetic how to deal with vectors. 2013-02-04 15:19:18 +00:00
2008-07-15-Bswap.ll
2008-07-15-Fabs.ll
2008-07-15-SignExtendInreg.ll
2008-07-17-Fneg.ll
2008-07-24-PPC64-CCBug.ll
2008-09-12-CoalescerBug.ll
2008-10-17-AsmMatchingOperands.ll
2008-10-28-f128-i32.ll
2008-10-28-UnprocessedNode.ll
2008-10-31-PPCF128Libcalls.ll
2008-12-02-LegalizeTypeAssert.ll
2008-12-12-EH.ll
2009-01-16-DeclareISelBug.ll
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 Don't reserve R2 on Darwin/PPC 2013-03-12 15:18:14 +00:00
2009-08-23-linkerprivate.ll
2009-09-18-carrybit.ll
2009-11-15-ProcImpDefsBug.ll
2009-11-25-ImpDefBug.ll
2010-02-04-EmptyGlobal.ll
2010-02-12-saveCR.ll Cleanup PPC CR-spill kill flags and 32- vs. 64-bit instructions 2013-03-28 03:38:16 +00:00
2010-03-09-indirect-call.ll
2010-04-01-MachineCSEBug.ll
2010-05-03-retaddr1.ll Don't reserve R2 on Darwin/PPC 2013-03-12 15:18:14 +00:00
2010-10-11-Fast-Varargs.ll
2010-12-18-PPCStackRefs.ll Don't reserve R2 on Darwin/PPC 2013-03-12 15:18:14 +00:00
2011-12-05-NoSpillDupCR.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
2011-12-06-SpillAndRestoreCR.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
2011-12-08-DemandedBitsMiscompile.ll
2012-09-16-TOC-entry-check.ll
2012-10-11-dynalloc.ll
2012-10-12-bitcast.ll
2012-11-16-mischedcall.ll
2013-05-15-preinc-fold.ll [PowerPC] Use true offset value in "memrix" machine operands 2013-05-16 17:58:02 +00:00
a2-fp-basic.ll
a2q-stackalign.ll PPC QPX requires a 32-byte aligned stack 2013-01-30 23:43:27 +00:00
a2q.ll
addc.ll
addi-reassoc.ll
addrfuncstr.ll PPC64: Constant initializers with dynamic relocations go in .data.rel.ro. 2013-05-13 19:34:37 +00:00
align.ll
allocate-r0.ll Allocate r0 on PPC 2013-03-27 06:52:27 +00:00
and_add.ll
and_sext.ll
and_sra.ll
and-branch.ll
and-elim.ll
and-imm.ll
anon_aggr.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
asm-Zy.ll
asym-regclass-copy.ll Fix a register-class comparison bug in PPCCTRLoops 2013-03-21 23:23:34 +00:00
atomic-1.ll Print PPC ZERO as 0 (not r0) even on Darwin 2013-03-27 13:20:52 +00:00
atomic-2.ll
Atomics-32.ll
Atomics-64.ll
available-externally.ll
bdzlr.ll Manually remove successors in if conversion when CopyAndPredicateBlock is used 2013-04-10 22:05:25 +00:00
big-endian-actual-args.ll
big-endian-call-result.ll
big-endian-formal-args.ll
branch-opt.ll
bswap-load-store.ll Specify CPUs on the PPC bswap-load-store test 2013-03-28 20:35:18 +00:00
buildvec_canonicalize.ll
calls.ll
can-lower-ret.ll
cmp-cmp.ll
coalesce-ext.ll
compare-duplicate.ll
compare-simm.ll
complex-return.ll
constants.ll
cr1eq-no-extra-moves.ll
cr1eq.ll
cr_spilling.ll
cr-spills.ll Cleanup PPC CR-spill kill flags and 32- vs. 64-bit instructions 2013-03-28 03:38:16 +00:00
crsave.ll Extend test for better coverage. 2013-05-16 03:48:50 +00:00
ctr-cleanup.ll Cleanup initial-value constants in PPCCTRLoops 2013-03-18 17:40:27 +00:00
ctrloop-asm.ll Check InlineAsm clobbers in PPCCTRLoops 2013-05-18 09:20:39 +00:00
ctrloop-fp64.ll Fix cpu on test CodeGen/PowerPC/ctrloop-fp64.ll 2013-05-16 20:28:05 +00:00
ctrloop-i64.ll Disallow i64 div/rem in PPC32 counter loops 2013-06-07 22:16:19 +00:00
ctrloop-le.ll Implement PPC counter loops as a late IR-level pass 2013-05-15 21:37:41 +00:00
ctrloop-lt.ll Implement PPC counter loops as a late IR-level pass 2013-05-15 21:37:41 +00:00
ctrloop-ne.ll Implement PPC counter loops as a late IR-level pass 2013-05-15 21:37:41 +00:00
ctrloop-reg.ll
ctrloop-s000.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
ctrloop-sums.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
ctrloops.ll Implement PPC counter loops as a late IR-level pass 2013-05-15 21:37:41 +00:00
cttz.ll Fix PowerPC/cttz.ll to specify a cpu (and use FileCheck) 2013-04-01 16:31:56 +00:00
darwin-labels.ll
dbg.ll Remove unused field in DISubprogram 2013-03-21 20:28:52 +00:00
DbgValueOtherTargets.test Remove unnecessary leading comment characters in lit-only file 2013-03-18 22:08:16 +00:00
dcbt-sched.ll
delete-node.ll
div-2.ll
early-ret2.ll Manually remove successors in if conversion when CopyAndPredicateBlock is used 2013-04-10 22:05:25 +00:00
early-ret.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
empty-functions.ll
emptystruct.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
eqv-andc-orc-nor.ll
extsh.ll
fabs.ll
float-asmprint.ll
float-to-int.ll Fix a bad assert in PPCTargetLowering 2013-04-01 18:42:58 +00:00
floatPSA.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
fma.ll FileCheckize a bunch of tests. 2013-04-11 12:32:23 +00:00
fnabs.ll
fneg.ll
fold-li.ll
fold-zero.ll Implement PPCInstrInfo::FoldImmediate 2013-04-06 19:30:30 +00:00
fp_to_uint.ll
fp-branch.ll
fp-int-fp.ll
fpcopy.ll
frame-size.ll Allocate the RS spill slot for any PPC function with spills and a large stack frame 2013-03-15 05:06:04 +00:00
frameaddr.ll Correct PPC FRAMEADDR lowering using a pseudo-register 2013-03-21 19:03:19 +00:00
Frames-alloca.ll
Frames-large.ll
Frames-leaf.ll
Frames-small.ll
frounds.ll
fsel.ll Cleanup and improve PPC fsel generation 2013-04-07 22:11:09 +00:00
fsl-e500mc.ll
fsl-e5500.ll
fsqrt.ll
hello.ll
hidden-vis-2.ll
hidden-vis.ll
i32-to-float.ll Add more PPC floating-point conversion instructions 2013-04-01 17:52:07 +00:00
i64_fp_round.ll Add more PPC floating-point conversion instructions 2013-04-01 17:52:07 +00:00
i64_fp.ll
i64-to-float.ll Add more PPC floating-point conversion instructions 2013-04-01 17:52:07 +00:00
i128-and-beyond.ll
iabs.ll Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
ifcvt.ll Enable early if conversion on PPC 2013-04-05 23:29:01 +00:00
illegal-element-type.ll
in-asm-f64-reg.ll
indirectbr.ll
inlineasm-copy.ll
int-fp-conv-0.ll
int-fp-conv-1.ll
inverted-bool-compares.ll
isel.ll
ispositive.ll
itofp128.ll
jaggedstructs.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
LargeAbsoluteAddr.ll Don't reserve R2 on Darwin/PPC 2013-03-12 15:18:14 +00:00
lbzux.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
lha.ll
lit.local.cfg Include '.test' suffix in target specific lit configs that need it 2013-03-18 20:31:44 +00:00
load-constant-addr.ll
load-shift-combine.ll
long-compare.ll
longdbl-truncate.ll
lsa.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
lsr-postinc-pos.ll
mask64.ll
mcm-1.ll Large code model support for PowerPC. 2013-02-21 17:12:27 +00:00
mcm-2.ll Large code model support for PowerPC. 2013-02-21 17:12:27 +00:00
mcm-3.ll Large code model support for PowerPC. 2013-02-21 17:12:27 +00:00
mcm-4.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
mcm-5.ll Large code model support for PowerPC. 2013-02-21 17:12:27 +00:00
mcm-6.ll Large code model support for PowerPC. 2013-02-21 17:12:27 +00:00
mcm-7.ll Large code model support for PowerPC. 2013-02-21 17:12:27 +00:00
mcm-8.ll Large code model support for PowerPC. 2013-02-21 17:12:27 +00:00
mcm-9.ll Large code model support for PowerPC. 2013-02-21 17:12:27 +00:00
mcm-10.ll PPCDAGToDAGISel::PostprocessISelDAG() 2013-02-21 00:38:25 +00:00
mcm-11.ll PPCDAGToDAGISel::PostprocessISelDAG() 2013-02-21 00:38:25 +00:00
mcm-12.ll PPCDAGToDAGISel::PostprocessISelDAG() 2013-02-21 00:38:25 +00:00
mcm-default.ll
mcm-obj-2.ll Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
mcm-obj.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
mem_update.ll
mem-rr-addr-mode.ll
misched-inorder-latency.ll
misched.ll
mul-neg-power-2.ll
mul-with-overflow.ll
mulhs.ll
mult-alt-generic-powerpc64.ll
mult-alt-generic-powerpc.ll
neg.ll
negctr.ll Implement PPC counter loops as a late IR-level pass 2013-05-15 21:37:41 +00:00
no-dead-strip.ll
novrsave.ll
optcmp.ll PPCInstrInfo::optimizeCompareInstr should not optimize FP compares 2013-05-08 12:16:14 +00:00
or-addressing-mode.ll
popcnt.ll Add the PPC popcntw instruction 2013-04-01 15:58:15 +00:00
ppc64-32bit-addic.ll
ppc64-abi-extend.ll
ppc64-align-long-double.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
ppc64-calls.ll
ppc64-crash.ll
ppc64-cyclecounter.ll
ppc64-linux-func-size.ll
ppc64-prefetch.ll
ppc64-toc.ll
ppc64-vaarg-int.ll
ppc64-zext.ll
ppc440-fp-basic.ll
ppc440-msync.ll
ppc-prologue.ll
ppc-vaarg-agg.ll
ppcf128-1-opt.ll
ppcf128-1.ll
ppcf128-2.ll
ppcf128-3.ll
ppcf128-4.ll
pr3711_widen_bit.ll
pr12757.ll
pr13641.ll
pr13891.ll
pr15031.ll
pr15359.ll Replace coff-/elf-dump with llvm-readobj 2013-04-12 04:06:46 +00:00
pr15630.ll Fix PR15630: Replace faulty stdcx. with stwcx. 2013-04-02 18:37:08 +00:00
pr15632.ll Fix PR15632: No support for ppcf128 floating-point remainder on PowerPC. 2013-04-03 13:05:44 +00:00
private.ll
pwr3-6x.ll LLVM enablement for some older PowerPC CPUs 2013-02-01 22:59:51 +00:00
quadint-return.ll
r31.ll Don't reserve R31 on PPC64 unless the frame pointer is needed 2013-03-19 08:09:38 +00:00
recipest.ll Use new CHECK-DAG support to stabilize CodeGen/PowerPC/recipest.ll 2013-05-16 16:15:18 +00:00
reg-coalesce-simple.ll
remat-imm.ll
retaddr.ll
return-val-i128.ll
rlwimi2.ll
rlwimi3.ll Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
rlwimi-commute.ll
rlwimi-keep-rsh.ll
rlwimi.ll
rlwinm2.ll
rlwinm.ll
rotl-2.ll
rotl-64.ll
rotl.ll
rounding-ops.ll Generate PPC early conditional returns 2013-04-08 16:24:03 +00:00
s000-alias-misched.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
sdag-ppcf128.ll
sections.ll
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
sjlj.ll Don't spill PPC VRSAVE on non-Darwin (even in SjLj) 2013-03-27 00:02:20 +00:00
small-arguments.ll
stack-protector.ll
stdux-constuse.ll DAGCombiner: Constant folding around pre-increment loads/stores 2013-02-08 21:35:47 +00:00
stfiwx-2.ll Add triple to test/CodeGen/PowerPC/stfiwx-2 2013-04-01 18:18:44 +00:00
stfiwx.ll
store-load-fwd.ll
store-update.ll Rewrite pre-increment store patterns to use standard memory operands. 2013-03-19 19:52:04 +00:00
structsinmem.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
structsinregs.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00
stubs.ll Make all darwin ppc stubs local. 2013-04-27 00:43:16 +00:00
stwu8.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
stwu-gta.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
stwux.ll
subc.ll
svr4-redzone.ll Fix PR15332 (patch by Florian Zeitz). 2013-02-26 21:28:57 +00:00
tailcall1-64.ll
tailcall1.ll
tailcallpic1.ll
tls-2.ll PPCDAGToDAGISel::PostprocessISelDAG() 2013-02-21 00:38:25 +00:00
tls-gd-obj.ll Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
tls-gd.ll Remove the link register from the GPR classes on PowerPC. 2013-03-27 02:40:14 +00:00
tls-ie-obj.ll Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
tls-ie.ll
tls-ld-2.ll Remove the link register from the GPR classes on PowerPC. 2013-03-27 02:40:14 +00:00
tls-ld-obj.ll Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
tls-ld.ll Remove the link register from the GPR classes on PowerPC. 2013-03-27 02:40:14 +00:00
tls.ll Remove the link register from the GPR classes on PowerPC. 2013-03-27 02:40:14 +00:00
trampoline.ll
unal4-std.ll Cleanup PPC64 unaligned i64 load/store 2013-03-19 15:23:39 +00:00
unal-altivec.ll Prefer to duplicate PPC Altivec loads when expanding unaligned loads 2013-05-26 18:08:30 +00:00
unaligned.ll Enable unaligned memory access on PPC for scalar types 2013-03-15 15:27:13 +00:00
unsafe-math.ll
vaddsplat.ll Additional fixes for bug 15155. 2013-02-20 20:41:42 +00:00
varargs-struct-float.ll
varargs.ll Don't reserve R2 on Darwin/PPC 2013-03-12 15:18:14 +00:00
vcmp-fold.ll
vec_auto_constant.ll
vec_br_cmp.ll
vec_buildvector_loadstore.ll
vec_call.ll
vec_cmp.ll Test case hygiene. 2013-03-09 18:25:40 +00:00
vec_constants.ll Stabilize vec_constants.ll 2013-02-20 22:43:03 +00:00
vec_conv.ll
vec_extload.ll
vec_fneg.ll
vec_insert.ll
vec_misaligned.ll
vec_mul.ll
vec_perf_shuffle.ll
vec_rounding.ll Add PPC FP rounding instructions fri[mnpz] 2013-03-29 08:57:48 +00:00
vec_select.ll
vec_shift.ll
vec_shuffle.ll
vec_splat_constant.ll
vec_splat.ll
vec_sqrt.ll
vec_vrsave.ll
vec_zero.ll
vector-identity-shuffle.ll
vector.ll
vrsave-spill.ll Don't spill PPC VRSAVE on non-Darwin (even in SjLj) 2013-03-27 00:02:20 +00:00
vrspill.ll [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC. 2013-06-13 20:23:34 +00:00