llvm-6502/test/CodeGen/PowerPC
Dan Gohman 95d110920e Refactor the tablegen DAGISelEmitter code for outputing calls to
getTargetNode and SelectNodeTo to reduce duplication, and to
make some of the getTargetNode code available to SelectNodeTo.
Use SelectNodeTo instead of getTargetNode in several new
interesting cases, as it mutates nodes in place instead of
creating new ones.

This triggers some scheduling behavior differences due to nodes
being presented to the scheduler in a different order. Some of the
arbitrary scheduling decisions it makes are now arbitrarily made
differently. This is visible in CodeGen/PowerPC/LargeAbsoluteAddr.ll,
where a trivial scheduling difference led to a trivial register
allocation difference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53203 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 21:00:17 +00:00
..
2004-11-29-ShrCrash.ll upgrade this test 2008-03-09 00:32:10 +00:00
2004-11-30-shift-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-11-30-shr-var-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-12-12-ZeroSizeCommon.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-01-14-SetSelectCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-01-14-UndefLong.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-08-12-rlwimi-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-09-02-LegalizeDuplicatesCalls.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-10-08-ArithmeticRotate.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-11-30-vastart-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-01-11-darwin-fp-argument.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-01-20-ShiftPartsCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-04-01-FloatDoubleExtend.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-04-05-splat-ish.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-04-19-vmaddfp-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-12-rlwimi-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-07-ComputeMaskedBits.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-19-stwbrx-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-08-11-RetVector.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-08-15-SelectionCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-09-28-shift_64.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-11-combiner-aa-regression.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-13-Miscompile.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-17-brcc-miscompile.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-17-ppc64-alloca.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-11-10-DAGCombineMiscompile.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-11-29-AltivecFPSplat.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-12-07-LargeAlloca.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-12-07-SelectCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
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 Implement a signficant optimization for inline asm: 2008-04-27 00:37:18 +00:00
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
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 Fix a bug handling frame references in ppc inline asm when the frame offset 2007-10-16 18:00:18 +00:00
2007-10-18-PtrArithmetic.ll Pointer arithmetic should be done with the index the same size as the pointer. 2007-10-18 08:32:37 +00:00
2007-10-21-LocalRegAllocAssert2.ll Temporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with right callee-saved defs set for ppc64. 2007-10-23 06:42:42 +00:00
2007-10-21-LocalRegAllocAssert.ll Use ptr type in the immediate field of a BxA instruction so we don't end up selecting 32-bit call instruction for ppc64. 2007-10-22 19:46:19 +00:00
2007-11-04-CoalescerCrash.ll Skip over deleted val#'s. 2007-11-05 06:46:45 +00:00
2007-11-16-landingpad-split.ll Testcase from PR 1508 (although its's somewhat 2007-11-16 23:16:35 +00:00
2007-11-19-VectorSplitting.ll Testcase for PR1811 2007-11-19 21:43:22 +00:00
2008-01-25-EmptyFunction.ll Add target triples to these so they don't fail on linux. 2008-01-29 06:26:07 +00:00
2008-02-05-LiveIntervalsAssert.ll If a vr is already marked alive in a bb, then it has PHI uses that are visited earlier, then it is not killed in the def block (i.e. not dead). 2008-02-05 20:04:18 +00:00
2008-02-09-LocalRegAllocAssert.ll Determine whether a spill kills the register it's spilling before insertion rather than trying to undo the kill marker afterwards. 2008-02-11 08:30:52 +00:00
2008-03-05-RegScavengerAssert.ll Update llc flags for PPC register scavenger. 2008-03-10 22:59:08 +00:00
2008-03-06-KillInfo.ll Update llc flags for PPC register scavenger. 2008-03-10 22:59:08 +00:00
2008-03-17-RegScavengerCrash.ll Rewrite code that propagate isDead information after a dead copy is coalesced. This remove some ugly spaghetti code and fixed a number of subtle bugs. 2008-03-18 08:26:47 +00:00
2008-03-18-RegScavengerAssert.ll Fix live variables issues: 2008-03-19 00:52:20 +00:00
2008-03-24-AddressRegImm.ll Use the bit size of the operand instead of the hard-coded 32 to generate the 2008-03-24 23:16:37 +00:00
2008-03-24-CoalescerBug.ll lastRegisterUse() should ignore identity copies. Those will be erased. 2008-03-25 02:02:19 +00:00
2008-03-26-CoalescerBug.ll One more coalescer fix wrt deadness propagation. 2008-03-26 20:15:49 +00:00
2008-04-10-LiveIntervalCrash.ll A copy instruction may use a register multiple times on some targets. Change them all. 2008-04-10 18:38:47 +00:00
2008-04-16-CoalescerBug.ll After reading memory that's already freed. 2008-04-16 20:24:25 +00:00
2008-04-23-CoalescerCrash.ll New test. 2008-04-24 20:01:58 +00:00
2008-05-01-ppc_fp128.ll Adding testcase. 2008-05-01 18:41:09 +00:00
2008-06-19-LegalizerCrash.ll ISD::UNDEF should be expanded recursively / iteratively. 2008-06-19 22:01:11 +00:00
2008-06-21-F128LoadStore.ll Support for load/store of expanded float types. I 2008-06-21 17:00:47 +00:00
2008-06-23-LiveVariablesCrash.ll This situation can occur: 2008-06-23 23:41:14 +00:00
addc.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
addi-reassoc.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
align.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
and_add.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
and_sext.ll
and_sra.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
and-branch.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
and-elim.ll
and-imm.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
atomic-1.ll Added MemOperands to Atomic operations since Atomics touches memory. 2008-06-25 08:15:39 +00:00
atomic-2.ll Added MemOperands to Atomic operations since Atomics touches memory. 2008-06-25 08:15:39 +00:00
big-endian-actual-args.ll
big-endian-call-result.ll
big-endian-formal-args.ll
branch-opt.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
bswap-load-store.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
buildvec_canonicalize.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
calls.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
cmp-cmp.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
compare-duplicate.ll
compare-fcmp-ord.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
compare-simm.ll
constants.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
cttz.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
darwin-labels.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
div-2.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
eqv-andc-orc-nor.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
extsh.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fabs.ll
fma.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fnabs.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fneg.ll
fnegsel.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fold-li.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
fp_to_uint.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fp-branch.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fp-int-fp.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fpcopy.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
Frames-alloca.ll Update llc flags for PPC register scavenger. 2008-03-10 22:59:08 +00:00
Frames-large.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
Frames-leaf.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
Frames-small.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
frounds.ll Really feed llvm-as with the testcase, do not let it read from stdin. This fixes the hangs seen on solaris10. 2008-02-26 13:37:13 +00:00
fsqrt.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
hello.ll
i64_fp.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
iabs.ll
illegal-element-type.ll
inlineasm-copy.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
int-fp-conv-0.ll Generalize ExpandIntToFP to handle the case where the operand is legal 2008-03-11 01:59:03 +00:00
int-fp-conv-1.ll Generalize ExpandIntToFP to handle the case where the operand is legal 2008-03-11 01:59:03 +00:00
invalid-memcpy.ll Fix a crash on invalid code due to memcpy lowering. 2007-11-27 22:14:42 +00:00
inverted-bool-compares.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
ispositive.ll
itofp128.ll Implement more support for fp-to-i128 and i128-to-fp conversions. 2008-03-10 23:03:31 +00:00
LargeAbsoluteAddr.ll Refactor the tablegen DAGISelEmitter code for outputing calls to 2008-07-07 21:00:17 +00:00
lha.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
load-constant-addr.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
long-compare.ll
longdbl-truncate.ll add testcase for regression 2008-01-16 18:03:52 +00:00
mask64.ll Don't hard-code the mask size to be 32, which is incorrect on ppc64 2008-02-27 21:12:32 +00:00
mem_update.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
mem-rr-addr-mode.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
mul-neg-power-2.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
mulhs.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
multiple-return-values.ll Add support for multiple return values for the PPC target by 2008-03-19 21:39:28 +00:00
neg.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
no-dead-strip.ll
or-addressing-mode.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
ppcf128-1-opt.ll First round of ppc long double. call/return and 2007-10-05 20:04:43 +00:00
ppcf128-1.ll First round of ppc long double. call/return and 2007-10-05 20:04:43 +00:00
ppcf128-2.ll More APInt-ification. 2008-03-13 22:13:53 +00:00
ppcf128-3.ll Make conversions of i8/i16 to ppcf128 work. 2008-03-18 17:28:38 +00:00
ppcf128-4.ll New testcase. 2008-03-22 22:27:01 +00:00
reg-coalesce-simple.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
retaddr.ll Fix a significant code quality regression I introduced on PPC64 quite 2007-12-08 07:04:58 +00:00
return-val-i128.ll Add support for calls with i128 return values on ppc64. 2008-03-08 00:19:12 +00:00
rlwimi2.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rlwimi3.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rlwimi-commute.ll Evan implemented this. 2008-03-02 17:56:29 +00:00
rlwimi.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rlwinm2.ll
rlwinm.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rotl-2.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
rotl-64.ll
rotl.ll
select_lt0.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
setcc_no_zext.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
seteq-0.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
shift128.ll Add support for lowering 128-bit shifts on ppc64. 2008-03-07 20:36:53 +00:00
shl_elim.ll
shl_sext.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
sign_ext_inreg1.ll
small-arguments.ll
stfiwx-2.ll Fix a latent bug exposed by my truncstore patch. We compiled stfiwx-2.ll to: 2008-01-18 16:54:56 +00:00
stfiwx.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
store-load-fwd.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
subc.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
tailcall1-64.ll Tail call optimization improvements: 2008-04-30 09:16:33 +00:00
tailcall1.ll Tail call optimization improvements: 2008-04-30 09:16:33 +00:00
tailcallpic1.ll Tail call optimization improvements: 2008-04-30 09:16:33 +00:00
unsafe-math.ll
vcmp-fold.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_br_cmp.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_call.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_constants.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_fneg.ll
vec_insert.ll Add testcase for recent legalizer change 2008-02-13 06:48:40 +00:00
vec_misaligned.ll New test for misaligned Altivec laod/store. 2008-02-27 23:14:50 +00:00
vec_mul.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_perf_shuffle.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_shuffle.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_spat.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_vrsave.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_zero.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vector-identity-shuffle.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vector.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00