llvm-6502/test/CodeGen/PowerPC
Duncan Sands 4a544a79bd Split the init.trampoline intrinsic, which currently combines GCC's
init.trampoline and adjust.trampoline intrinsics, into two intrinsics
like in GCC.  While having one combined intrinsic is tempting, it is
not natural because typically the trampoline initialization needs to
be done in one function, and the result of adjust trampoline is needed
in a different (nested) function.  To get around this llvm-gcc hacks the
nested function lowering code to insert an additional parent variable
holding the adjust.trampoline result that can be accessed from the child
function.  Dragonegg doesn't have the luxury of tweaking GCC code, so it
stored the result of adjust.trampoline in the memory GCC set aside for
the trampoline itself (this is always available in the child function),
and set up some new memory (using an alloca) to hold the trampoline.
Unfortunately this breaks Go which allocates trampoline memory on the
heap and wants to use it even after the parent has exited (!).  Rather
than doing even more hacks to get Go working, it seemed best to just use
two intrinsics like in GCC.  Patch mostly by Sanjoy Das.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139140 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-06 13:37:06 +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-11-combiner-aa-regression.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 add some nounwind's. 2010-11-14 22:22:14 +00:00
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 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
2007-10-21-LocalRegAllocAssert.ll
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
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 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
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
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 Add 130690 back. 2011-05-02 15:58:16 +00:00
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
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
2010-02-12-saveCR.ll
2010-03-09-indirect-call.ll Explicitly request -join-physregs for some tests that depend on it. 2011-05-04 19:01:59 +00:00
2010-04-01-MachineCSEBug.ll
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
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 FileCheck-ize a couple tests. 2011-07-18 21:23:42 +00:00
atomic-2.ll FileCheck-ize a couple tests. 2011-07-18 21:23:42 +00:00
Atomics-32.ll
Atomics-64.ll Disable the PowerPC/Atomics-64 test. 2011-04-04 17:57:26 +00:00
available-externally.ll
big-endian-actual-args.ll
big-endian-call-result.ll
big-endian-formal-args.ll FileCheckize and break dependence on coalescing order. 2011-05-04 19:02:01 +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
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
cttz.ll
darwin-labels.ll
delete-node.ll
dg.exp
div-2.ll
empty-functions.ll Consider this function: 2010-07-16 22:51:10 +00:00
eqv-andc-orc-nor.ll
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
Frames-large.ll
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 Fix wrong usages of CTR/MCTR where CTR8/MCTR8 was meant. 2011-06-03 15:47:49 +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
lha.ll
load-constant-addr.ll
long-compare.ll
longdbl-truncate.ll
lsr-postinc-pos.ll
mask64.ll
mem_update.ll
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
ppc32-vaarg.ll Implement ISD::VAARG lowering on PPC32. 2011-06-28 15:30:42 +00:00
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
ppc-prologue.ll Add 130690 back. 2011-05-02 15:58:16 +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
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
stfiwx-2.ll
stfiwx.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
store-load-fwd.ll
stubs.ll
subc.ll
tailcall1-64.ll
tailcall1.ll
tailcallpic1.ll
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