llvm-6502/test/CodeGen/ARM
Will Dietz e4b44c1617 MachineSink: Fix and tweak critical-edge breaking heuristic.
Per original comment, the intention of this loop
is to go ahead and break the critical edge
(in order to sink this instruction) if there's
reason to believe doing so might "unblock" the
sinking of additional instructions that define
registers used by this one.  The idea is that if
we have a few instructions to sink "together"
breaking the edge might be worthwhile.

This commit makes a few small changes
to help better realize this goal:

First, modify the loop to ignore registers
defined by this instruction.  We don't
sink definitions of physical registers,
and sinking an SSA definition isn't
going to unblock an upstream instruction.

Second, ignore uses of physical registers.
Instructions that define physical registers are
rejected for sinking, and so moving this one
won't enable moving any defining instructions.
As an added bonus, while virtual register
use-def chains are generally small due
to SSA goodness, iteration over the uses
and definitions (used by hasOneNonDBGUse)
for physical registers like EFLAGS
can be rather expensive in practice.
(This is the original reason for looking at this)

Finally, to keep things simple continue
to only consider this trick for registers that
have a single use (via hasOneNonDBGUse),
but to avoid spuriously breaking critical edges
only do so if the definition resides
in the same MBB and therefore this one directly
blocks it from being sunk as well.
If sinking them together is meant to be,
let the iterative nature of this pass
sink the definition into this block first.

Update tests to accomodate this change,
add new testcase where sinking avoids pipeline stalls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192608 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-14 16:57:17 +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-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-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-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-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-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 [Debug Info Tests] Update testing cases. 2013-08-22 17:11:18 +00:00
2009-10-21-InvalidFNeg.ll
2009-10-27-double-align.ll
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-09-NeonSelect.ll
2010-04-13-v2f64SplitArg.ll
2010-04-14-SplitVector.ll
2010-04-15-ScavengerDebugValue.ll Debug Info: add an identifier field to DICompositeType. 2013-08-26 22:39:55 +00:00
2010-05-14-IllegalType.ll
2010-05-17-FastAllocCrash.ll
2010-05-18-LocalAllocCrash.ll
2010-05-18-PostIndexBug.ll
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 Debug Info: add an identifier field to DICompositeType. 2013-08-26 22:39:55 +00:00
2010-09-21-OptCmpBug.ll
2010-09-29-mc-asm-header-test.ll Add Cortex-A57 support 2013-10-14 13:17:07 +00:00
2010-10-19-mc-elf-objheader.ll [ARM] Fix FP ABI attributes with no VFP enabled. 2013-10-11 16:03:43 +00:00
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
2010-12-17-LocalStackSlotCrash.ll
2011-01-19-MergedGlobalDbg.ll Debug Info: add an identifier field to DICompositeType. 2013-08-26 22:39:55 +00:00
2011-02-04-AntidepMultidef.ll
2011-02-07-AntidepClobber.ll
2011-03-10-DAGCombineCrash.ll
2011-03-15-LdStMultipleBug.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-08-21 22:20:53 +00:00
2011-03-23-PeepholeBug.ll
2011-04-07-schediv.ll
2011-04-11-MachineLICMBug.ll MachineSink: Fix and tweak critical-edge breaking heuristic. 2013-10-14 16:57:17 +00:00
2011-04-12-AlignBug.ll
2011-04-12-FastRegAlloc.ll
2011-04-15-AndVFlagPeepholeBug.ll
2011-04-15-RegisterCmpPeephole.ll
2011-04-26-SchedTweak.ll
2011-04-27-IfCvtBug.ll
2011-05-04-MultipleLandingPadSuccs.ll
2011-06-09-TailCallByVal.ll
2011-06-16-TailCallByVal.ll
2011-06-29-MergeGlobalsAlign.ll
2011-07-10-GlobalMergeBug.ll
2011-08-02-MergedGlobalDbg.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-12-vmovqqqq-pseudo.ll
2011-08-25-ldmia_ret.ll MachineSink: Fix and tweak critical-edge breaking heuristic. 2013-10-14 16:57:17 +00:00
2011-08-29-ldr_pre_imm.ll
2011-08-29-SchedCycle.ll
2011-09-09-OddVectorDivision.ll
2011-09-19-cpsr.ll
2011-09-28-CMovCombineBug.ll
2011-10-26-ExpandUnalignedLoadCrash.ll
2011-10-26-memset-inline.ll CriticalAntiDepBreaker is no longer needed for armv7 scheduling. 2013-09-25 00:26:16 +00:00
2011-10-26-memset-with-neon.ll CriticalAntiDepBreaker is no longer needed for armv7 scheduling. 2013-09-25 00:26:16 +00:00
2011-11-07-PromoteVectorLoadStore.ll
2011-11-09-BitcastVectorDouble.ll
2011-11-09-IllegalVectorFPIntConvert.ll
2011-11-14-EarlyClobber.ll
2011-11-28-DAGCombineBug.ll
2011-11-29-128bitArithmetics.ll
2011-11-30-MergeAlignment.ll
2011-12-14-machine-sink.ll
2011-12-19-sjlj-clobber.ll
2012-01-23-PostRA-LICM.ll
2012-01-24-RegSequenceLiveRange.ll
2012-01-26-CoalescerBug.ll
2012-01-26-CopyPropKills.ll
2012-02-01-CoalescerBug.ll
2012-03-05-FPSCR-bug.ll
2012-03-13-DAGCombineBug.ll
2012-03-26-FoldImmBug.ll
2012-04-02-TwoAddrInstrCrash.ll
2012-04-10-DAGCombine.ll
2012-04-24-SplitEHCriticalEdge.ll
2012-05-04-vmov.ll
2012-05-10-PreferVMOVtoVDUP32.ll
2012-05-29-TailDupBug.ll
2012-06-12-SchedMemLatency.ll
2012-08-04-DtripleSpillReload.ll
2012-08-08-legalize-unaligned.ll
2012-08-09-neon-extload.ll
2012-08-13-bfi.ll
2012-08-23-legalize-vmull.ll
2012-08-27-CopyPhysRegCrash.ll
2012-08-30-select.ll MachineSink: Fix and tweak critical-edge breaking heuristic. 2013-10-14 16:57:17 +00:00
2012-09-18-ARMv4ISelBug.ll
2012-09-25-InlineAsmScalarToVectorConv2.ll
2012-09-25-InlineAsmScalarToVectorConv.ll
2012-10-04-AAPCS-byval-align8.ll
2012-10-04-FixedFrame-vs-byval.ll
2012-10-04-LDRB_POST_IMM-Crash.ll
2012-10-18-PR14099-ByvalFrameAddress.ll
2012-11-14-subs_carry.ll
2013-01-21-PR14992.ll
2013-02-27-expand-vfma.ll Fix FileCheck --check-prefix lines. 2013-08-12 12:43:26 +00:00
2013-04-05-Small-ByVal-Structs-PR15293.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
2013-04-16-AAPCS-C4-vs-VFP.ll
2013-04-16-AAPCS-C5-vs-VFP.ll
2013-04-18-load-overlap-PR14824.ll
2013-04-21-AAPCS-VA-C.1.cp.ll
2013-05-02-AAPCS-ByVal-Structs-C4-C5-VFP2.ll
2013-05-02-AAPCS-ByVal-Structs-C4-C5-VFP.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
2013-05-05-IfConvertBug.ll Tests: Use CHECK-LABEL where possible 2013-10-10 22:37:47 +00:00
2013-05-07-ByteLoadSameAddress.ll Let t2LDRBi8 and t2LDRBi12 have same Base Pointer 2013-08-14 16:35:29 +00:00
2013-05-13-AAPCS-byval-padding2.ll
2013-05-13-AAPCS-byval-padding.ll
2013-05-13-DAGCombiner-undef-mask.ll
2013-05-31-char-shift-crash.ll
2013-06-03-ByVal-2Kbytes.ll
2013-07-29-vector-or-combine.ll
2013-10-11-select-stalls.ll MachineSink: Fix and tweak critical-edge breaking heuristic. 2013-10-14 16:57:17 +00:00
a15-mla.ll
a15-partial-update.ll
a15-SD-dep.ll Fix FileCheck --check-prefix lines. 2013-08-12 12:43:26 +00:00
a15.ll
addrmode.ll
aliases.ll
align.ll
alloc-no-stack-realign.ll
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
arm-and-tst-peephole.ll [ARMv8] Prevent generation of deprecated IT blocks on ARMv8 in Thumb mode. 2013-09-09 14:21:49 +00:00
arm-asm.ll
arm-frameaddr.ll
arm-modifier.ll
arm-negative-stride.ll
arm-returnaddr.ll
arm-ttype-target2.ll
armv4.ll
atomic-64bit.ll [ARM] Use the load-acquire/store-release instructions optimally in AArch32. 2013-09-26 12:22:36 +00:00
atomic-cmp.ll
atomic-load-store.ll [ARM] Constrain some register classes in EmitAtomicBinary64 so that 2013-08-22 12:19:24 +00:00
atomic-op.ll
atomic-ops-v8.ll [ARM] Use the load-acquire/store-release instructions optimally in AArch32. 2013-09-26 12:22:36 +00:00
atomicrmw_minmax.ll
available_externally.ll
avoid-cpsr-rmw.ll
bfc.ll
bfi.ll
bfx.ll
bic.ll
bicZext.ll
bits.ll
bswap-inline-asm.ll
bx_fold.ll
byval_load_align.ll Struct byval: use the correct alignment for loads generated to load 2013-10-07 19:47:53 +00:00
call_nolink.ll
call-noret-minsize.ll
call-noret.ll
call-tc.ll
call.ll
carry.ll
clz.ll
cmn.ll
coalesce-dbgvalue.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-09-30 18:17:35 +00:00
coalesce-subregs.ll
code-placement.ll
commute-movcc.ll
compare-call.ll
constantfp.ll ARM: implement some simple f64 materializations. 2013-08-20 08:57:11 +00:00
constants.ll
copy-paired-reg.ll
crash-greedy-v6.ll
crash-greedy.ll
crash-O0.ll
crash-shufflevector.ll
crash.ll
cse-call.ll
cse-libcalls.ll
ctor_order.ll
ctors_dtors.ll
ctz.ll
dagcombine-anyexttozeroext.ll
dagcombine-concatvector.ll ARM: Default to the Swift CPU when targeting armv7s/thumbv7s. 2013-09-02 17:09:01 +00:00
darwin-section-order.ll
data-in-code-annotations.ll
DbgValueOtherTargets.test
debug-info-arg.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
debug-info-blocks.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
debug-info-branch-folding.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
debug-info-d16-reg.ll Debug Info: add an identifier field to DICompositeType. 2013-08-26 22:39:55 +00:00
debug-info-qreg.ll Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
debug-info-s16-reg.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
debug-info-sreg2.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
deps-fix.ll
div.ll
divmod-eabi.ll
divmod.ll Change objectsize intrinsic to accept different address spaces. 2013-10-07 18:06:48 +00:00
domain-conv-vmovs.ll
dyn-stackalloc.ll
eh-dispcont.ll
eh-resume-darwin.ll
ehabi-filters.ll
ehabi-no-landingpad.ll
ehabi-unwind.ll
ehabi.ll
elf-lcomm-align.ll
emit-big-cst.ll
extload-knownzero.ll
extloadi1.ll
fabs-neon.ll
fabss.ll
fadds.ll
fast-isel-align.ll ARM: Clean up fast-isel machine verifier errors. 2013-08-16 23:37:23 +00:00
fast-isel-binary.ll [ARM] Fix another ARM FastISel -verify-machineinstrs issue. 2013-08-23 15:20:56 +00:00
fast-isel-br-const.ll
fast-isel-br-phi.ll ARM: Constrain regclass for TSTri instruction. 2013-08-26 20:22:05 +00:00
fast-isel-call-multi-reg-return.ll
fast-isel-call.ll ARM: Fast-isel register class constrain for extends. 2013-08-16 23:37:36 +00:00
fast-isel-cmp-imm.ll ARM: Clean up fast-isel machine verifier errors. 2013-08-16 23:37:23 +00:00
fast-isel-conversion.ll ARM: Fast-isel register class constrain for extends. 2013-08-16 23:37:36 +00:00
fast-isel-crash2.ll
fast-isel-crash.ll
fast-isel-deadcode.ll
fast-isel-ext.ll ARM: Fast-isel register class constrain for extends. 2013-08-16 23:37:36 +00:00
fast-isel-fold.ll
fast-isel-frameaddr.ll
fast-isel-GEP-coalesce.ll
fast-isel-icmp.ll ARM: Fast-isel register class constrain for extends. 2013-08-16 23:37:36 +00:00
fast-isel-indirectbr.ll
fast-isel-intrinsic.ll ARM: Fast-isel register class constrain for extends. 2013-08-16 23:37:36 +00:00
fast-isel-ldr-str-arm.ll
fast-isel-ldr-str-thumb-neg-index.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-08-21 22:20:53 +00:00
fast-isel-ldrh-strh-arm.ll
fast-isel-load-store-verify.ll
fast-isel-mvn.ll
fast-isel-pic.ll ARM: FastISel verifier error cleanup. 2013-08-26 20:07:29 +00:00
fast-isel-pred.ll
fast-isel-redefinition.ll
fast-isel-ret.ll ARM: Fast-isel register class constrain for extends. 2013-08-16 23:37:36 +00:00
fast-isel-select.ll [ARMv8] Prevent generation of deprecated IT blocks on ARMv8 in Thumb mode. 2013-09-09 14:21:49 +00:00
fast-isel-shifter.ll ARM: Clean up fast-isel machine verifier errors. 2013-08-16 23:37:23 +00:00
fast-isel-static.ll Fix FileCheck --check-prefix lines. 2013-08-12 12:43:26 +00:00
fast-isel-vararg.ll
fast-isel.ll ARM: Fix more fast-isel verifier failures. 2013-08-16 23:37:31 +00:00
fast-tail-call.ll
fcopysign.ll
fdivs.ll
fixunsdfdi.ll
flag-crash.ll
floorf.ll
fmacs.ll
fmdrr-fmrrd.ll
fmscs.ll
fmuls.ll
fnegs.ll
fnmacs.ll
fnmscs.ll
fnmul.ll
fnmuls.ll
fold-const.ll
formal.ll
fp16.ll
fp_convert.ll
fp-arg-shuffle.ll
fp-fast.ll
fp.ll
fparith.ll
fpcmp_ueq.ll
fpcmp-opt.ll
fpcmp.ll
fpconsts.ll
fpconv.ll
fpmem.ll
fpow.ll
fpowi.ll
fptoint.ll
fsubs.ll
fusedMAC.ll
global-merge-addrspace.ll
global-merge.ll
globals.ll
gpr-paired-spill-thumbinst.ll
gpr-paired-spill.ll
gv-stubs-crash.ll
hardfloat_neon.ll
hello.ll
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis.ll
iabs.ll
ifconv-kills.ll Remove kill flags after if conversion if necessary 2013-10-11 19:04:37 +00:00
ifconv-regmask.ll ARM: do not add a regmask for TAILJUMPs 2013-10-04 16:52:54 +00:00
ifcvt1.ll
ifcvt2.ll
ifcvt3.ll
ifcvt4.ll
ifcvt5.ll
ifcvt6.ll
ifcvt7.ll
ifcvt8.ll
ifcvt9.ll
ifcvt10.ll
ifcvt11.ll
ifcvt12.ll
illegal-vector-bitcast.ll
imm.ll
indirect-reg-input.ll
indirectbr-2.ll
indirectbr-3.ll
indirectbr.ll [ARMv8] Prevent generation of deprecated IT blocks on ARMv8 in Thumb mode. 2013-09-09 14:21:49 +00:00
inlineasm2.ll
inlineasm3.ll
inlineasm4.ll
inlineasm-64bit.ll ARM: respect tied 64-bit inlineasm operands when printing 2013-08-22 06:51:04 +00:00
inlineasm-imm-arm.ll
inlineasm.ll
insn-sched1.ll
int-to-fp.ll
integer_insertelement.ll
interrupt-attr.ll ARM: support interrupt attribute 2013-10-01 14:33:28 +00:00
intrinsics-crypto.ll [ARMv8] Add support for the v8 cryptography extensions. 2013-09-19 11:59:01 +00:00
intrinsics-v8.ll [ARM] Introduce the 'sevl' instruction in ARMv8. 2013-10-01 12:39:11 +00:00
intrinsics.ll
invoke-donothing-assert.ll
ispositive.ll
jumptable-label.ll
large-stack.ll
ldm.ll
ldr_ext.ll
ldr_frame.ll
ldr_post.ll
ldr_pre.ll
ldr.ll
ldrd-memoper.ll
ldrd.ll
ldst-f32-2-i32.ll
ldstrex.ll
lit.local.cfg [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
load_i1_select.ll
load-address-masked.ll
load-global.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
load.ll
log2_not_readnone.ll
long_shift.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
long-setcc.ll
long.ll
longMAC.ll
lsr-code-insertion.ll
lsr-icmp-imm.ll
lsr-scale-addr-mode.ll
lsr-unfolded-offset.ll
machine-cse-cmp.ll
machine-licm.ll
mem.ll
memcpy-inline.ll
memfunc.ll
memset-inline.ll
MergeConsecutiveStores.ll
misched-copy-arm.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-09-30 18:17:35 +00:00
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_cmp.ll
neon_div.ll
neon_fpconv.ll
neon_ld1.ll
neon_ld2.ll
neon_minmax.ll
neon_shift.ll
neon_spill.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-08-21 22:20:53 +00:00
neon_vabs.ll
neon-fma.ll
neon-spfp.ll Fix FileCheck --check-prefix lines. 2013-08-12 12:43:26 +00:00
no-fpu.ll [ARM] Add a test case for disabled neon/fpu features. 2013-10-11 11:07:00 +00:00
nop_concat_vectors.ll
noreturn.ll [PR16882] Ignore noreturn definitions when setting isPhysRegUsed. 2013-09-25 00:26:17 +00:00
odr_comdat.ll
opt-shuff-tstore.ll
optselect-regclass.ll ARM: optimizeSelect has to consider the previous register class 2013-10-04 16:52:56 +00:00
pack.ll
peephole-bitcast.ll
phi.ll
pic.ll ARM: Enable machine verifier for a few more tests. 2013-08-26 20:22:08 +00:00
popcnt.ll
pr3502.ll
pr13249.ll
PR15053.ll
prefetch-thumb.ll Fix PR 17372: Emitting PLD for stack address for ARM Thumb2 2013-09-26 17:25:10 +00:00
prefetch.ll
private.ll
readcyclecounter.ll
reg_sequence.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +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_sret_vector.ll
ret_void.ll
returned-ext.ll
returned-trunc-tail-calls.ll
rev.ll
sbfx.ll
section-name.ll
section.ll
select_xform.ll
select-imm.ll ARM: use TableGen patterns to select CMOV operations. 2013-08-22 09:57:11 +00:00
select-undef.ll ARM: preserve undef flag in pseudo instruction expanders 2013-10-04 16:52:51 +00:00
select.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
setcc-sentinals.ll ARM: use TableGen patterns to select CMOV operations. 2013-08-22 09:57:11 +00:00
shifter_operand.ll
shuffle.ll
sjlj-prepare-critical-edge.ll
smml.ll
smul.ll
spill-q.ll
stack-frame.ll
stack-protector-bmovpcb_call.ll [stack protector] Work around an issue with the BMOVPCB_CALL instruction on ARM by disabling does not return on __stack_chk_fail. 2013-08-22 23:45:24 +00:00
stm.ll
str_post.ll
str_pre-2.ll
str_pre.ll
str_trunc.ll
struct_byval.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
struct-byval-frame-index.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-09-30 18:17:35 +00:00
sub-cmp-peephole.ll
sub.ll
subreg-remat.ll
swift-atomics.ll Revert 189756 for now, it doesn't match what rdar://14871821 really wants. 2013-09-02 15:48:17 +00:00
swift-vldm.ll Expand and rewrite comment. 2013-09-04 21:23:23 +00:00
sxt_rot.ll
t2-imm.ll
tail-dup.ll
tail-opts.ll
test-sharedidx.ll
this-return.ll
thread_pointer.ll
thumb1-varalloc.ll
thumb2-it-block.ll [ARMv8] Prevent generation of deprecated IT blocks on ARMv8 in Thumb mode. 2013-09-09 14:21:49 +00:00
tls1.ll
tls2.ll
tls3.ll
tls-models.ll
trap.ll ARM: Enable machine verifier for a few more tests. 2013-08-26 20:22:08 +00:00
trunc_ldr.ll
truncstore-dag-combine.ll
tst_teq.ll
twoaddrinstr.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
uint64tof64.ll
umulo-32.ll
unaligned_load_store_vector.ll
unaligned_load_store.ll
undef-sext.ll
unord.ll
unsafe-fsub.ll
unwind-init.ll
uxt_rot.ll
uxtb.ll
v1-constant-fold.ll
va_arg.ll
vaba.ll
vabd.ll
vabs.ll
vadd.ll ARM: remove unused v(add|sub)hn and vqdml[as]l intrinsics. 2013-08-28 14:33:33 +00:00
vargs_align.ll
vargs.ll
vbits.ll
vbsl-constant.ll
vbsl.ll
vceq.ll
vcge.ll
vcgt.ll
vcnt.ll
vcombine.ll
vcvt_combine.ll
vcvt-cost.ll
vcvt-v8.ll
vcvt.ll
vdiv_combine.ll
vdup.ll
vector-DAGCombine.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
vector-extend-narrow.ll
vext.ll
vfcmp.ll
vfloatintrinsics.ll
vfp.ll
vget_lane.ll
vhadd.ll
vhsub.ll
vicmp.ll
vld1.ll
vld2.ll
vld3.ll
vld4.ll
vlddup.ll
vldlane.ll
vldm-liveness.ll ARM: correct liveness flags during ARMLoadStoreOpt 2013-10-10 09:28:20 +00:00
vldm-sched-a9.ll Fix scheduling for vldm/vstm instructions that load/store more than 32 bytes on Cortex-A9. This also makes the existing code more compact. 2013-09-04 17:05:18 +00:00
vminmax.ll
vminmaxnm.ll [ARMv8] Change hasV8Fp to hasFPARMv8, and other command line options 2013-09-13 13:46:57 +00:00
vmla.ll
vmls.ll
vmov.ll
vmul.ll Fix PR 17368: disable vector mul distribution for square of add/sub for ARM 2013-09-25 23:12:06 +00:00
vneg.ll
vpadal.ll
vpadd.ll
vpminmax.ll
vqadd.ll
vqdmul.ll ARM: remove unused v(add|sub)hn and vqdml[as]l intrinsics. 2013-08-28 14:33:33 +00:00
vqshl.ll
vqshrn.ll
vqsub.ll
vrec.ll
vrev.ll
vsel.ll [ARMv8] Change hasV8Fp to hasFPARMv8, and other command line options 2013-09-13 13:46:57 +00:00
vselect_imax.ll
vshift.ll
vshiftins.ll
vshl.ll
vshll.ll
vshrn.ll
vsra.ll
vst1.ll
vst2.ll
vst3.ll
vst4.ll
vstlane.ll Revert "Tests: Be less dependent on a specific schedule/regalloc" 2013-10-11 18:09:19 +00:00
vsub.ll ARM: remove unused v(add|sub)hn and vqdml[as]l intrinsics. 2013-08-28 14:33:33 +00:00
vtbl.ll
vtrn.ll
vuzp.ll
vzip.ll
warn-stack.ll
weak2.ll
weak.ll
widen-vmovs.ll
zextload_demandedbits.ll