llvm-6502/test/CodeGen/ARM
Evan Cheng 309db7c947 If converter was being too cute. It look for root BBs (which don't have
successors) and use inverse depth first search to traverse the BBs. However
that doesn't work when the CFG has infinite loops. Simply do a linear
traversal of all BBs work just fine.

rdar://9344645


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130324 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-27 19:32:43 +00:00
..
2006-11-10-CycleInDAG.ll
2007-01-19-InfiniteLoop.ll
2007-03-07-CombinerCrash.ll
2007-03-13-InstrSched.ll
2007-03-21-JoinIntervalsCrash.ll
2007-03-26-RegScavengerAssert.ll
2007-03-27-RegScavengerAssert.ll
2007-03-30-RegScavengerAssert.ll
2007-04-02-RegScavengerAssert.ll
2007-04-03-PEIBug.ll
2007-04-03-UndefinedSymbol.ll
2007-04-30-CombinerCrash.ll
2007-05-03-BadPostIndexedLd.ll
2007-05-07-jumptoentry.ll
2007-05-07-tailmerge-1.ll
2007-05-09-tailmerge-2.ll
2007-05-14-InlineAsmCstCrash.ll
2007-05-14-RegScavengerAssert.ll
2007-05-22-tailmerge-3.ll
2007-05-23-BadPreIndexedStore.ll
2007-05-31-RegScavengerInfiniteLoop.ll
2007-08-15-ReuseBug.ll
2008-02-04-LocalRegAllocBug.ll
2008-02-29-RegAllocLocal.ll
2008-03-05-SxtInRegBug.ll
2008-03-07-RegScavengerAssert.ll
2008-04-04-ScavengerAssert.ll
2008-04-10-ScavengerAssert.ll
2008-04-11-PHIofImpDef.ll
2008-05-19-LiveIntervalsBug.ll
2008-05-19-ScavengerAssert.ll
2008-07-17-Fdiv.ll
2008-07-24-CodeGenPrepCrash.ll
2008-08-07-AsmPrintBug.ll
2008-09-14-CoalescerBug.ll
2008-09-17-CoalescerBug.ll
2008-11-18-ScavengerAssert.ll
2009-02-16-SpillerBug.ll
2009-02-22-SoftenFloatVaArg.ll
2009-02-27-SpillerBug.ll
2009-03-07-SpillerBug.ll
2009-03-09-AddrModeBug.ll
2009-04-06-AsmModifier.ll
2009-04-08-AggregateAddr.ll
2009-04-08-FloatUndef.ll
2009-04-08-FREM.ll
2009-04-09-RegScavengerAsm.ll
2009-05-05-DAGCombineBug.ll
2009-05-07-RegAllocLocal.ll
2009-05-11-CodePlacementCrash.ll
2009-05-18-InlineAsmMem.ll
2009-06-02-ISelCrash.ll
2009-06-04-MissingLiveIn.ll
2009-06-12-RegScavengerAssert.ll
2009-06-15-RegScavengerAssert.ll
2009-06-19-RegScavengerAssert.ll
2009-06-22-CoalescerBug.ll
2009-06-30-RegScavengerAssert2.ll
2009-06-30-RegScavengerAssert3.ll
2009-06-30-RegScavengerAssert4.ll
2009-06-30-RegScavengerAssert5.ll
2009-06-30-RegScavengerAssert.ll
2009-07-01-CommuteBug.ll
2009-07-09-asm-p-constraint.ll
2009-07-18-RewriterBug.ll
2009-07-22-ScavengerAssert.ll
2009-07-22-SchedulerAssert.ll
2009-07-29-VFP3Registers.ll
2009-08-02-RegScavengerAssert-Neon.ll
2009-08-04-RegScavengerAssert-2.ll
2009-08-04-RegScavengerAssert.ll
2009-08-15-RegScavenger-EarlyClobber.ll
2009-08-15-RegScavengerAssert.ll
2009-08-21-PostRAKill2.ll
2009-08-21-PostRAKill3.ll
2009-08-21-PostRAKill.ll
2009-08-23-linkerprivate.ll
2009-08-26-ScalarToVector.ll
2009-08-27-ScalarToVector.ll
2009-08-29-ExtractEltf32.ll
2009-08-29-TooLongSplat.ll
2009-08-31-LSDA-Name.ll
2009-08-31-TwoRegShuffle.ll
2009-09-09-AllOnes.ll
2009-09-09-fpcmp-ole.ll
2009-09-10-postdec.ll
2009-09-13-InvalidSubreg.ll
2009-09-13-InvalidSuperReg.ll
2009-09-20-LiveIntervalsBug.ll
2009-09-21-LiveVariablesBug.ll
2009-09-22-LiveVariablesBug.ll
2009-09-23-LiveVariablesBug.ll
2009-09-24-spill-align.ll
2009-09-27-CoalescerBug.ll
2009-09-28-LdStOptiBug.ll
2009-10-02-NEONSubregsBug.ll
2009-10-16-Scope.ll
2009-10-21-InvalidFNeg.ll
2009-10-27-double-align.ll These tests no longer require linear scan because reserved register coalescing is now universal. 2011-04-05 21:40:41 +00:00
2009-10-30.ll
2009-11-01-NeonMoves.ll
2009-11-02-NegativeLane.ll
2009-11-07-SubRegAsmPrinting.ll
2009-11-13-CoalescerCrash.ll
2009-11-13-ScavengerAssert2.ll
2009-11-13-ScavengerAssert.ll
2009-11-13-VRRewriterCrash.ll
2009-11-30-LiveVariablesBug.ll
2009-12-02-vtrn-undef.ll
2010-03-04-eabi-fp-spill.ll
2010-03-04-stm-undef-addr.ll
2010-03-18-ldm-rtrn.ll
2010-04-07-DbgValueOtherTargets.ll
2010-04-09-NeonSelect.ll
2010-04-13-v2f64SplitArg.ll
2010-04-14-SplitVector.ll
2010-04-15-ScavengerDebugValue.ll
2010-05-14-IllegalType.ll
2010-05-17-FastAllocCrash.ll
2010-05-18-LocalAllocCrash.ll
2010-05-18-PostIndexBug.ll don't test for codegen of 'store undef' 2011-04-09 02:31:26 +00:00
2010-05-19-Shuffles.ll
2010-05-20-NEONSpillCrash.ll
2010-05-21-BuildVector.ll
2010-06-11-vmovdrr-bitcast.ll
2010-06-21-LdStMultipleBug.ll
2010-06-21-nondarwin-tc.ll
2010-06-25-Thumb2ITInvalidIterator.ll
2010-06-29-PartialRedefFastAlloc.ll
2010-06-29-SubregImpDefs.ll
2010-07-26-GlobalMerge.ll
2010-08-04-EHCrash.ll
2010-08-04-StackVariable.ll
2010-09-21-OptCmpBug.ll
2010-09-29-mc-asm-header-test.ll
2010-10-19-mc-elf-objheader.ll
2010-10-25-ifcvt-ldm.ll
2010-11-15-SpillEarlyClobber.ll
2010-11-29-PrologueBug.ll
2010-11-30-reloc-movt.ll
2010-12-07-PEIBug.ll
2010-12-08-tpsoft.ll
2010-12-15-elf-lcomm.ll don't emit the symbol name twice for local bss and common 2011-04-26 06:14:13 +00:00
2010-12-17-LocalStackSlotCrash.ll
2011-01-19-MergedGlobalDbg.ll Enable GlobalMerge on darwin. 2011-03-23 23:34:19 +00:00
2011-02-04-AntidepMultidef.ll
2011-02-07-AntidepClobber.ll
2011-03-10-DAGCombineCrash.ll
2011-03-15-LdStMultipleBug.ll
2011-03-23-PeepholeBug.ll Cmp peephole optimization isn't always safe for signed arithmetics. 2011-03-23 22:52:04 +00:00
2011-04-07-schediv.ll Added a check in the preRA scheduler for potential interference on a 2011-04-07 19:54:57 +00:00
2011-04-11-MachineLICMBug.ll Look pass copies when determining whether hoisting would end up inserting more copies. rdar://9266679 2011-04-11 21:09:18 +00:00
2011-04-12-AlignBug.ll Fix an obvious problem with an alignment computation. AsmPrinter actually does 2011-04-13 09:02:43 +00:00
2011-04-12-FastRegAlloc.ll Fix a bug where we were counting the alias sets as completely used 2011-04-18 19:26:25 +00:00
2011-04-15-AndVFlagPeepholeBug.ll The AND instruction leaves the V flag unmodified, so it falls victim to the same 2011-04-15 20:45:00 +00:00
2011-04-15-RegisterCmpPeephole.ll Add ORR and EOR to the CMP peephole optimizer. It's hard to get isel to generate 2011-04-15 21:24:38 +00:00
2011-04-26-SchedTweak.ll Be careful about scheduling nodes above previous calls. It increase usages of 2011-04-26 21:31:35 +00:00
2011-04-27-IfCvtBug.ll If converter was being too cute. It look for root BBs (which don't have 2011-04-27 19:32:43 +00:00
addrmode.ll
aliases.ll
align.ll CodeGen: Eliminate a use of getDarwinMajorNumber(). 2011-04-19 20:32:39 +00:00
alloca.ll
argaddr.ll
arguments2.ll
arguments3.ll
arguments4.ll
arguments5.ll
arguments6.ll
arguments7.ll
arguments8.ll
arguments_f64_backfill.ll
arguments-nosplit-double.ll
arguments-nosplit-i64.ll
arguments.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
arm-and-tst-peephole.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
arm-asm.ll
arm-frameaddr.ll
arm-negative-stride.ll
arm-returnaddr.ll These tests no longer require linear scan because reserved register coalescing is now universal. 2011-04-05 21:40:41 +00:00
armv4.ll
atomic-cmp.ll
available_externally.ll
avoid-cpsr-rmw.ll Avoid some 's' 16-bit instruction which partially update CPSR 2011-04-19 18:11:49 +00:00
bfc.ll
bfi.ll
bfx.ll
bic.ll
bits.ll
bswap-inline-asm.ll
bx_fold.ll
call_nolink.ll
call-tc.ll
call.ll
carry.ll Thumb2 and ARM add/subtract with carry fixes. 2011-04-23 03:55:32 +00:00
clz.ll
code-placement.ll
compare-call.ll
constants.ll Fix test-llvm failures. 2011-04-05 18:41:40 +00:00
crash-greedy.ll Also add <imp-def> operands for defined and dead super-registers when rewriting. 2011-04-27 17:42:31 +00:00
crash-O0.ll
crash.ll
cse-libcalls.ll
ctors_dtors.ll
ctz.ll
debug-info-d16-reg.ll Test case for r129922 2011-04-21 20:16:43 +00:00
debug-info-qreg.ll Fix DWARF description of Q registers. 2011-04-21 23:22:35 +00:00
debug-info-s16-reg.ll Fix DWARF description of S registers. 2011-04-21 22:48:26 +00:00
dg.exp
div.ll
divmod.ll Remove -use-divmod-libcall. Let targets opt in when they are available. 2011-04-20 22:20:12 +00:00
dyn-stackalloc.ll
extloadi1.ll
fabss.ll Avoid write-after-write issue hazards for Cortex-A9. 2011-04-19 18:11:45 +00:00
fadds.ll Avoid write-after-write issue hazards for Cortex-A9. 2011-04-19 18:11:45 +00:00
fast-isel-crash.ll
fast-isel-pred.ll
fast-isel-static.ll Fix up testcase for previous commit. 2011-04-05 00:56:01 +00:00
fast-isel.ll
fcopysign.ll Tighten test case a bit. 2011-04-19 06:14:45 +00:00
fdivs.ll Avoid write-after-write issue hazards for Cortex-A9. 2011-04-19 18:11:45 +00:00
fixunsdfdi.ll
flag-crash.ll
fmacs.ll This patch combines several changes from Evan Cheng for rdar://8659675. 2011-04-19 18:11:57 +00:00
fmdrr-fmrrd.ll
fmscs.ll
fmuls.ll Avoid write-after-write issue hazards for Cortex-A9. 2011-04-19 18:11:45 +00:00
fnegs.ll
fnmacs.ll
fnmscs.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
fnmul.ll
fnmuls.ll
formal.ll
fp16.ll
fp_convert.ll Avoid write-after-write issue hazards for Cortex-A9. 2011-04-19 18:11:45 +00:00
fp-arg-shuffle.ll Split a store of a VMOVDRR into two integer stores to avoid mixing NEON and ARM 2011-04-12 02:24:17 +00:00
fp.ll Fix test-llvm failures. 2011-04-05 18:41:40 +00:00
fparith.ll
fpcmp_ueq.ll
fpcmp-opt.ll LDRD/STRD instructions should print both Rt and Rt2 in the asm string. 2011-04-01 20:26:57 +00:00
fpcmp.ll
fpconsts.ll
fpconv.ll
fpmem.ll
fpow.ll
fpowi.ll
fptoint.ll
fsubs.ll
global-merge.ll Enable GlobalMerge on darwin. 2011-03-23 23:34:19 +00:00
globals.ll
hardfloat_neon.ll
hello.ll
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis.ll
iabs.ll
ifcvt1.ll
ifcvt2.ll
ifcvt3.ll
ifcvt4.ll
ifcvt5.ll
ifcvt6.ll
ifcvt7.ll
ifcvt8.ll
ifcvt9.ll
ifcvt10.ll
ifcvt11.ll
illegal-vector-bitcast.ll
imm.ll
indirectbr.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
inlineasm2.ll
inlineasm3.ll Make tests register allocation independent again. 2011-04-19 00:14:43 +00:00
inlineasm-imm-arm.ll
inlineasm.ll
insn-sched1.ll
int-to-fp.ll Add Neon SINT_TO_FP and UINT_TO_FP lowering from v4i16 to v4f32. Fixes 2011-03-29 21:41:55 +00:00
ispositive.ll
large-stack.ll
ldm.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
ldr_ext.ll
ldr_frame.ll
ldr_post.ll
ldr_pre.ll
ldr.ll
ldrd.ll LDRD/STRD instructions should print both Rt and Rt2 in the asm string. 2011-04-01 20:26:57 +00:00
ldst-f32-2-i32.ll
load-global.ll
load.ll
long_shift.ll Cmp peephole optimization isn't always safe for signed arithmetics. 2011-03-23 22:52:04 +00:00
long-setcc.ll
long.ll Fix test-llvm failures. 2011-04-05 18:41:40 +00:00
lsr-code-insertion.ll
lsr-on-unrolled-loops.ll remove a bunch of CHECK lines that aren't checking what 2011-04-09 06:31:06 +00:00
lsr-scale-addr-mode.ll
machine-cse-cmp.ll
machine-licm.ll
mem.ll
memcpy-inline.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
memfunc.ll
mls.ll
movt-movw-global.ll
movt.ll
mul_const.ll
mul.ll
mulhi.ll
mult-alt-generic-arm.ll
mvn.ll
neon_arith1.ll
neon_div.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
neon_ld1.ll
neon_ld2.ll
neon_minmax.ll
neon_shift.ll
pack.ll Remove duplicate test. 2010-10-22 22:04:28 +00:00
peephole-bitcast.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
phi.ll
pr3502.ll
prefetch.ll Add -mcpu=cortex-a9-mp. It's cortex-a9 with MP extension. rdar://8648637. 2011-04-19 18:11:52 +00:00
private.ll
reg_sequence.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
ret0.ll
ret_arg1.ll
ret_arg2.ll
ret_arg3.ll
ret_arg4.ll
ret_arg5.ll
ret_f32_arg2.ll
ret_f32_arg5.ll
ret_f64_arg2.ll
ret_f64_arg_reg_split.ll
ret_f64_arg_split.ll
ret_f64_arg_stack.ll
ret_i64_arg2.ll
ret_i64_arg3.ll
ret_i64_arg_split.ll
ret_i128_arg2.ll
ret_void.ll
rev.ll
sbfx.ll
section.ll
select_xform.ll Fix test-llvm failures. 2011-04-05 18:41:40 +00:00
select-imm.ll Fix test-llvm failures. 2011-04-05 18:41:40 +00:00
select.ll
shifter_operand.ll Be careful about scheduling nodes above previous calls. It increase usages of 2011-04-26 21:31:35 +00:00
shuffle.ll
smul.ll FileCheck'ify test. 2011-04-01 03:36:33 +00:00
spill-q.ll
stack-frame.ll
stm.ll
str_post.ll
str_pre-2.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
str_pre.ll
str_trunc.ll
sub.ll Teach the ARM peephole optimizer that RSB, RSC, ADC, and SBC can be used for folded comparisons, just like ADD and SUB. 2011-04-06 23:35:59 +00:00
sxt_rot.ll
t2-imm.ll
tail-opts.ll
thread_pointer.ll
thumb1-varalloc.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
tls1.ll
tls2.ll
tls3.ll
trap.ll Change -arm-trap-func= into a non-arm specific option. Now Intrinsic::trap is lowered into a call to the specified trap function at sdisel time. 2011-04-08 21:37:21 +00:00
trunc_ldr.ll
truncstore-dag-combine.ll
tst_teq.ll
uint64tof64.ll
umulo-32.ll Rewrite the expander for umulo/smulo to remember to sign extend the input 2011-04-20 01:19:45 +00:00
unaligned_load_store.ll
undef-sext.ll
unord.ll
uxt_rot.ll
uxtb.ll
va_arg.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
vaba.ll
vabd.ll
vabs.ll
vadd.ll
vargs_align.ll
vargs.ll
vbits.ll
vbsl-constant.ll Fix a typo in an ARM-specific DAG combine. This fixes <rdar://problem/9278274>. 2011-04-13 21:01:19 +00:00
vbsl.ll
vceq.ll
vcge.ll
vcgt.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
vcnt.ll
vcombine.ll
vcvt.ll
vdup.ll
vector-DAGCombine.ll Prevent ARM DAG Combiner from doing an AND or OR combine on an illegal vector type (vectors of size 3). Also included test cases. 2011-04-07 15:24:20 +00:00
vext.ll Some minor cleanups based on feedback. 2011-03-15 20:47:26 +00:00
vfcmp.ll
vfp.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
vget_lane.ll
vhadd.ll
vhsub.ll
vicmp.ll
vld1.ll Do not lose mem_operands while lowering VLD / VST intrinsics. 2011-04-19 00:04:03 +00:00
vld2.ll
vld3.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
vld4.ll
vlddup.ll
vldlane.ll Do not lose mem_operands while lowering VLD / VST intrinsics. 2011-04-19 00:04:03 +00:00
vminmax.ll
vmla.ll
vmls.ll
vmov.ll
vmul.ll Distribute (A + B) * C to (A * C) + (B * C) to make use of NEON multiplier 2011-03-31 19:38:48 +00:00
vneg.ll
vpadal.ll
vpadd.ll
vpminmax.ll
vqadd.ll
vqdmul.ll
vqshl.ll
vqshrn.ll
vqsub.ll
vrec.ll
vrev.ll
vshift.ll
vshiftins.ll
vshl.ll
vshll.ll
vshrn.ll
vsra.ll
vst1.ll
vst2.ll
vst3.ll Make this test disable fast isel as it's not needed. 2011-04-25 22:39:46 +00:00
vst4.ll
vstlane.ll
vsub.ll
vtbl.ll
vtrn.ll
vuzp.ll
vzip.ll
weak2.ll
weak.ll