llvm-6502/test/CodeGen/PowerPC
Evan Cheng 94202018c5 Fix live variables issues:
1. If part of a register is re-defined, an implicit kill and an implicit def are added to denote read / mod / write. However, this should only be necessary if the register is actually read later. This is a performance issue.
2. If a sub-register is being defined, and it doesn't have a previous use, do not add a implicit kill to the last use of a super-register:
   = EAX, AX<imp-use,kill>
...
AX =
In this case, EAX is live but AX is killed, this is wrong and will cause the coalescer to do bad things.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48521 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-19 00:52:20 +00:00
..
2004-11-29-ShrCrash.ll upgrade this test 2008-03-09 00:32:10 +00:00
2004-11-30-shift-crash.ll
2004-11-30-shr-var-crash.ll
2004-12-12-ZeroSizeCommon.ll For PR1319: 2007-04-16 15:31:49 +00:00
2005-01-14-SetSelectCrash.ll
2005-01-14-UndefLong.ll
2005-08-12-rlwimi-crash.ll
2005-09-02-LegalizeDuplicatesCalls.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
2005-10-08-ArithmeticRotate.ll
2005-11-30-vastart-crash.ll
2006-01-11-darwin-fp-argument.ll For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +00:00
2006-01-20-ShiftPartsCrash.ll these tests do not need a triple on Solaris. Thanks sabre! 2007-07-13 10:08:18 +00:00
2006-04-01-FloatDoubleExtend.ll
2006-04-05-splat-ish.ll For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +00:00
2006-04-19-vmaddfp-crash.ll
2006-05-12-rlwimi-crash.ll
2006-07-07-ComputeMaskedBits.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
2006-07-19-stwbrx-crash.ll
2006-08-11-RetVector.ll For PR1319: 2007-04-16 17:36:08 +00:00
2006-08-15-SelectionCrash.ll these tests do not need a triple on Solaris. Thanks sabre! 2007-07-13 10:08:18 +00:00
2006-09-28-shift_64.ll
2006-10-11-combiner-aa-regression.ll For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +00:00
2006-10-13-Miscompile.ll For PR1319: 2007-04-16 17:36:08 +00:00
2006-10-17-brcc-miscompile.ll
2006-10-17-ppc64-alloca.ll
2006-11-10-DAGCombineMiscompile.ll For PR1370: 2007-04-30 05:11:58 +00:00
2006-11-29-AltivecFPSplat.ll
2006-12-07-LargeAlloca.ll For PR1319: 2007-04-16 17:36:08 +00:00
2006-12-07-SelectCrash.ll For PR1319: 2007-04-16 17:36:08 +00:00
2007-01-04-ArgExtension.ll For PR1319: 2007-04-16 17:36:08 +00:00
2007-01-15-AsmDialect.ll
2007-01-29-lbrx-asm.ll For PR1319: 2007-04-16 17:36:08 +00:00
2007-01-31-InlineAsmAddrMode.ll For PR1319: 2007-04-16 17:36:08 +00:00
2007-02-16-AlignPacked.ll For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +00:00
2007-02-16-InlineAsmNConstraint.ll
2007-02-23-lr-saved-twice.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
2007-03-24-cntlzd.ll This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. 2007-08-04 01:51:18 +00:00
2007-03-30-SpillerCrash.ll
2007-04-24-InlineAsm-I-Modifier.ll testcase for PR1351 2007-04-24 22:49:57 +00:00
2007-04-30-InlineAsmEarlyClobber.ll testcase for PR1357 2007-04-30 21:10:13 +00:00
2007-05-03-InlineAsm-S-Constraint.ll new testcase 2007-05-03 16:54:08 +00:00
2007-05-14-InlineAsmSelectCrash.ll new testcase that crashes llc 2007-05-15 01:33:12 +00:00
2007-05-22-tailmerge-3.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
2007-05-30-dagcombine-miscomp.ll For PR1553: 2007-07-19 23:13:04 +00:00
2007-06-28-BCCISelBug.ll Fix test. 2007-07-05 23:00:50 +00:00
2007-08-04-CoalescerAssert.ll Test case for PR1596. 2007-08-14 23:21:10 +00:00
2007-09-04-AltivecDST.ll Add the 64-bit versions of the DS* Altivec instructions. 2007-09-05 04:05:20 +00:00
2007-09-07-LoadStoreIdxForms.ll Add missing index versions of instructions to the map. 2007-09-07 22:01:02 +00:00
2007-09-08-unaligned.ll Implement misaligned FP loads and stores. 2007-09-08 19:29:23 +00:00
2007-09-11-RegCoalescerAssert.ll Sometimes a MI can define a register as well as defining a super-register at the 2007-09-11 22:34:47 +00:00
2007-09-12-LiveIntervalsAssert.ll Fixed a typo that's causing a missing kill marker. 2007-09-12 23:02:04 +00:00
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
addc.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
addi-reassoc.ll For PR1319: 2007-04-16 17:36:08 +00:00
align.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
and_add.ll For PR1319: 2007-04-16 17:36:08 +00:00
and_sext.ll For PR1553: 2007-07-19 23:13:04 +00:00
and_sra.ll
and-branch.ll For PR1319: 2007-04-16 17:36:08 +00:00
and-elim.ll For PR1553: 2007-07-19 23:13:04 +00:00
and-imm.ll For PR1319: 2007-04-16 15:31:49 +00:00
big-endian-actual-args.ll Add an explicit triple to the big-endian tests so that the assembly 2007-07-06 13:15:51 +00:00
big-endian-call-result.ll Remove the trailing semicolon from function declarations in LLVM, 2007-07-16 13:37:30 +00:00
big-endian-formal-args.ll Add an explicit triple to the big-endian tests so that the assembly 2007-07-06 13:15:51 +00:00
branch-opt.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
bswap-load-store.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
buildvec_canonicalize.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
calls.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
cmp-cmp.ll For PR1319: 2007-04-16 17:36:08 +00:00
compare-duplicate.ll add target triple to fix PR1546 2007-07-09 17:14:58 +00:00
compare-fcmp-ord.ll remove darwin/i386 t-t 2008-01-08 06:52:51 +00:00
compare-simm.ll For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +00:00
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 Use the llvm_supports_target function to prevent running of tests for 2007-04-21 20:41:27 +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 Add explicit triples to avoid default behavior that varies by host. 2007-09-14 20:37:18 +00:00
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 new testcase 2007-05-14 22:04:16 +00:00
fnegsel.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fold-li.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +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 For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +00:00
Frames-leaf.ll For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +00:00
Frames-small.ll For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +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 PR1399 test case. 2007-05-09 19:20:37 +00:00
i64_fp.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
iabs.ll For PR1319: 2007-04-16 15:15:52 +00:00
illegal-element-type.ll Fix a bug in getCopyFromParts turned up in the testcase for PR1132. 2007-07-30 19:09:17 +00:00
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 For PR1370: 2007-04-30 05:11:58 +00:00
itofp128.ll Implement more support for fp-to-i128 and i128-to-fp conversions. 2008-03-10 23:03:31 +00:00
LargeAbsoluteAddr.ll For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +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 For PR1319: Upgrade to new test harness. 2007-04-15 21:17:45 +00:00
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
neg.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
no-dead-strip.ll update test to check that codegen works with llvm.used in llvm.metadata section 2007-08-22 19:36:31 +00:00
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
reg-coalesce-simple.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +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 Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
rlwinm.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rotl-2.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
rotl-64.ll Fix for PR1613: added 64-bit rotate left PPC instructions and patterns. 2007-09-04 20:20:29 +00:00
rotl.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
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 new testcase 2007-04-17 21:12:26 +00:00
shl_sext.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
sign_ext_inreg1.ll new testcase 2007-04-17 19:03:02 +00:00
small-arguments.ll For PR1553: 2007-07-19 23:13:04 +00:00
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
unsafe-math.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
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 New test case. 2007-07-30 07:52:03 +00:00
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