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
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
2010-05-03-retaddr1.ll
2010-10-11-Fast-Varargs.ll
2010-12-18-PPCStackRefs.ll
addc.ll
addi-reassoc.ll
align.ll
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
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
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
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
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
mult-alt-generic-powerpc.ll
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
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
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
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
varargs.ll
vcmp-fold.ll
vec_auto_constant.ll
vec_br_cmp.ll
vec_buildvector_loadstore.ll
vec_call.ll
vec_constants.ll
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