1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 14:02:52 +02:00
llvm-mirror/test/CodeGen/ARM
Peter Collingbourne dcf4c81cd2 ARM: Better codegen for 64-bit compares.
This introduces a custom lowering for ISD::SETCCE (introduced in r253572)
that allows us to emit a short code sequence for 64-bit compares.

Before:

	push	{r7, lr}
	cmp	r0, r2
	mov.w	r0, #0
	mov.w	r12, #0
	it	hs
	movhs	r0, #1
	cmp	r1, r3
	it	ge
	movge.w	r12, #1
	it	eq
	moveq	r12, r0
	cmp.w	r12, #0
	bne	.LBB1_2
@ BB#1:                                 @ %bb1
	bl	f
	pop	{r7, pc}
.LBB1_2:                                @ %bb2
	bl	g
	pop	{r7, pc}

After:

	push	{r7, lr}
	subs	r0, r0, r2
	sbcs.w	r0, r1, r3
	bge	.LBB1_2
@ BB#1:                                 @ %bb1
	bl	f
	pop	{r7, pc}
.LBB1_2:                                @ %bb2
	bl	g
	pop	{r7, pc}

Saves around 80KB in Chromium's libchrome.so.

Some notes on this patch:

- I don't much like the ARMISD::BRCOND and ARMISD::CMOV combines I
  introduced (nothing else needs them). However, they are necessary in
  order to avoid poor codegen, and they seem similar to existing combines
  in other backends (e.g. X86 combines (brcond (cmp (setcc Compare))) to
  (brcond Compare)).

- No support for Thumb-1. This is in principle possible, but we'd need
  to implement ARMISD::SUBE for Thumb-1.

Differential Revision: http://reviews.llvm.org/D15256

llvm-svn: 263962
2016-03-21 18:00:02 +00:00
..
Windows ARM: Revert SVN r253865, 254158, fix windows division 2016-03-17 14:10:49 +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-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-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
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 Reapply r257105 "[Verifier] Check that debug values have proper size" 2016-01-15 00:46:17 +00:00
2010-09-21-OptCmpBug.ll
2010-10-25-ifcvt-ldm.ll
2010-11-15-SpillEarlyClobber.ll
2010-11-29-PrologueBug.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
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
2011-04-07-schediv.ll
2011-04-11-MachineLICMBug.ll
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
2011-08-12-vmovqqqq-pseudo.ll
2011-08-25-ldmia_ret.ll
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
2011-10-26-memset-with-neon.ll
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
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
2013-04-05-Small-ByVal-Structs-PR15293.ll
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
2013-05-05-IfConvertBug.ll
2013-05-07-ByteLoadSameAddress.ll
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
2013-11-08-inline-asm-neon-array.ll
2014-01-09-pseudo_expand_implicit_reg.ll
2014-02-05-vfp-regs-after-stack.ll
2014-02-21-byval-reg-split-alignment.ll
2014-05-14-DwarfEHCrash.ll
2014-07-18-earlyclobber-str-post.ll
2014-08-04-muls-it.ll
2015-01-21-thumbv4t-ldstr-opt.ll
a15-mla.ll
a15-partial-update.ll
a15-SD-dep.ll
a15.ll
aapcs-hfa-code.ll
aapcs-hfa.ll
addrmode.ll
addrspacecast.ll
adv-copy-opt.ll
aggregate-padding.ll
aliases.ll
align-sp-adjustment.ll
align.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
alloc-no-stack-realign.ll
alloca.ll
apcs-vfp.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
arm32-round-conv.ll
arm32-rounding.ll
arm-abi-attr.ll
arm-and-tst-peephole.ll
arm-asm.ll
arm-eabi.ll
arm-frameaddr.ll
arm-interleaved-accesses.ll [AArch64][ARM] Don't base interleaved op legality on type alloc size. 2015-12-09 01:19:50 +00:00
arm-modifier.ll
arm-negative-stride.ll
arm-returnaddr.ll
arm-shrink-wrapping-linux.ll [ShrinkWrapping] Do not choose restore point inside loops. 2015-12-15 03:28:11 +00:00
arm-shrink-wrapping.ll
arm-ttype-target2.ll
armv4.ll
atomic-64bit.ll ARM: Better codegen for 64-bit compares. 2016-03-21 18:00:02 +00:00
atomic-cmp.ll
atomic-cmpxchg.ll
atomic-load-store.ll
atomic-op.ll ARM: sink atomic release barrier as far as possible into cmpxchg. 2016-02-22 20:55:50 +00:00
atomic-ops-v8.ll ARM: Better codegen for 64-bit compares. 2016-03-21 18:00:02 +00:00
atomicrmw_minmax.ll
available_externally.ll
avoid-cpsr-rmw.ll
bfc.ll
bfi.ll
bfx.ll
bic.ll
bicZext.ll
big-endian-eh-unwind.ll
big-endian-neon-bitconv.ll
big-endian-neon-extend.ll
big-endian-neon-trunc-store.ll
big-endian-ret-f64.ll
big-endian-vector-callee.ll
big-endian-vector-caller.ll
bit-reverse-to-rbit.ll RBIT Instruction only available for ARMv6t2 and above. 2016-01-08 18:43:41 +00:00
bits.ll
bswap16.ll
bswap-inline-asm.ll
build-attributes-encoding.s [ARM] Add DSP build attribute and extension targeting 2016-01-25 11:26:11 +00:00
build-attributes-optimization-minsize.ll [ARM] Generate ABI_optimization_goals build attribute, as described in the ARM ARM. 2015-12-07 14:22:39 +00:00
build-attributes-optimization-mixed.ll [ARM] Generate ABI_optimization_goals build attribute, as described in the ARM ARM. 2015-12-07 14:22:39 +00:00
build-attributes-optimization-optnone.ll [ARM] Generate ABI_optimization_goals build attribute, as described in the ARM ARM. 2015-12-07 14:22:39 +00:00
build-attributes-optimization-optsize.ll [ARM] Generate ABI_optimization_goals build attribute, as described in the ARM ARM. 2015-12-07 14:22:39 +00:00
build-attributes-optimization.ll [ARM] Generate ABI_optimization_goals build attribute, as described in the ARM ARM. 2015-12-07 14:22:39 +00:00
build-attributes.ll [ARM] Add Cortex-A32 support 2016-03-21 17:29:01 +00:00
bx_fold.ll
byval_load_align.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
byval-align.ll
cache-intrinsic.ll
call_nolink.ll
call-noret-minsize.ll
call-noret.ll
call-tc.ll
call.ll
carry.ll Address buildbot fallout from r259065 2016-01-28 18:59:04 +00:00
cfi-alignment.ll
clz.ll
cmn.ll
cmpxchg-idioms.ll ARM: sink atomic release barrier as far as possible into cmpxchg. 2016-02-22 20:55:50 +00:00
cmpxchg-weak.ll ARM: sink atomic release barrier as far as possible into cmpxchg. 2016-02-22 20:55:50 +00:00
coalesce-dbgvalue.ll
coalesce-subregs.ll
code-placement.ll
combine-movc-sub.ll
combine-vmovdrr.ll [ARM] When a bitcast is about to be turned into a VMOVDRR, try to combine it 2015-12-04 01:53:14 +00:00
commute-movcc.ll
compare-call.ll
constant-islands.ll
constantfp.ll
constants.ll AsmPrinter: Use emitGlobalConstantFP to emit elements of constant data 2015-12-08 02:37:48 +00:00
copy-cpsr.ll
copy-paired-reg.ll
crash-greedy-v6.ll
crash-greedy.ll
crash-O0.ll
crash-shufflevector.ll
crash.ll
crc32.ll
cse-call.ll
cse-flags.ll [SelectionDAG] CSE nodes with differing SDNodeFlags 2016-01-15 21:56:40 +00:00
cse-ldrlit.ll
cse-libcalls.ll
ctor_order.ll
ctors_dtors.ll
cttz_vector.ll
cttz.ll
cxx-tlscc.ll [CXX_FAST_TLS] Fix issues in ARM. 2016-03-18 23:44:37 +00:00
dagcombine-anyexttozeroext.ll [DAGCombine] Catch the case where extract_vector_elt can cause an any_ext while processing AND SDNodes 2016-03-21 11:43:46 +00:00
dagcombine-concatvector.ll
darwin-eabi.ll
darwin-tls.ll ARM: support TLS accesses on Darwin platforms 2016-01-07 09:03:03 +00:00
data-in-code-annotations.ll
dbg.ll
DbgValueOtherTargets.test
debug-frame-large-stack.ll
debug-frame-no-debug.ll
debug-frame-vararg.ll
debug-frame.ll Fix ARMv4T (Thumb1) epilogue generation 2015-12-08 19:59:01 +00:00
debug-info-arg.ll
debug-info-blocks.ll Hopefully fix debug-info-blocks.ll test on win32 bot 2015-12-19 03:32:23 +00:00
debug-info-branch-folding.ll
debug-info-d16-reg.ll
debug-info-no-frame.ll
debug-info-qreg.ll
debug-info-s16-reg.ll
debug-info-sreg2.ll
debug-segmented-stacks.ll
debugtrap.ll [ARM] Emit trap instruction using .inst directive 2016-01-29 10:23:32 +00:00
default-float-abi.ll
deps-fix.ll
disable-fp-elim.ll
disable-tail-calls.ll
div.ll
divmod-eabi.ll [ARM] Merging 64-bit divmod lib calls into one 2016-03-04 19:19:36 +00:00
divmod.ll
domain-conv-vmovs.ll
dwarf-eh.ll
dwarf-unwind.ll
dyn-stackalloc.ll
eh-dispcont.ll
eh-resume-darwin.ll ARMv7k: base ABI decision on v7k Arch rather than watchos OS. 2016-01-27 19:32:29 +00:00
ehabi-filters.ll
ehabi-handlerdata-nounwind.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
ehabi-handlerdata.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
ehabi-no-landingpad.ll
ehabi-unwind.ll
ehabi.ll
elf-lcomm-align.ll
emit-big-cst.ll
emutls1.ll
emutls_generic.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
emutls.ll [TLS] New lower emutls pass, fix linkage bugs. 2016-01-13 23:56:37 +00:00
extload-knownzero.ll
extloadi1.ll
fabs-neon.ll
fabs-to-bfc.ll Guard fabs to bfc convert with V6T2 flag 2016-01-13 00:03:35 +00:00
fabss.ll
fadds.ll
fast-isel-align.ll
fast-isel-binary.ll
fast-isel-br-const.ll
fast-isel-br-phi.ll
fast-isel-call-multi-reg-return.ll
fast-isel-call.ll
fast-isel-cmp-imm.ll
fast-isel-conversion.ll
fast-isel-crash2.ll
fast-isel-crash.ll
fast-isel-deadcode.ll
fast-isel-ext.ll
fast-isel-fold.ll
fast-isel-frameaddr.ll
fast-isel-GEP-coalesce.ll
fast-isel-icmp.ll
fast-isel-indirectbr.ll
fast-isel-inline-asm.ll
fast-isel-intrinsic.ll
fast-isel-ldr-str-arm.ll
fast-isel-ldr-str-thumb-neg-index.ll
fast-isel-ldrh-strh-arm.ll
fast-isel-load-store-verify.ll
fast-isel-mvn.ll
fast-isel-pic.ll
fast-isel-pred.ll
fast-isel-redefinition.ll
fast-isel-remat-same-constant.ll
fast-isel-ret.ll
fast-isel-select.ll
fast-isel-shift-materialize.ll
fast-isel-shifter.ll
fast-isel-static.ll
fast-isel-update-valuemap-for-extract.ll
fast-isel-vaddd.ll
fast-isel-vararg.ll
fast-isel.ll
fast-tail-call.ll [ARM] Add B.W and CBZ instructions to ARMv8-M Baseline 2016-01-15 10:26:17 +00:00
fastcc-vfp.ll
fastisel-gep-promote-before-add.ll
fastisel-thumb-litpool.ll
fcopysign.ll
fdivs.ll
fixunsdfdi.ll
flag-crash.ll
floorf.ll
fmacs.ll
fmdrr-fmrrd.ll
fmscs.ll
fmuls.ll
fnattr-trap.ll
fnegs.ll
fnmacs.ll
fnmscs.ll
fnmul.ll
fnmuls.ll
fold-const.ll
fold-stack-adjust.ll
formal.ll
fp16-args.ll Do not ASSERTZEXT for i16 result of bitcast from f16 operand 2016-01-08 17:46:05 +00:00
fp16-promote.ll
fp16-v3.ll Do not ASSERTZEXT for i16 result of bitcast from f16 operand 2016-01-08 17:46:05 +00:00
fp16.ll [CodeGen] Don't assume fp_to_fp16 produces i16 when legalizing it. 2016-01-14 19:45:36 +00:00
fp_convert.ll
fp-arg-shuffle.ll
fp-fast.ll
fp.ll
fparith.ll
fpcmp_ueq.ll
fpcmp-f64-neon-opt.ll
fpcmp-opt.ll
fpcmp.ll
fpconsts.ll
fpconv.ll
fpmem.ll
fpow.ll
fpowi.ll
fptoint.ll
frame-register.ll
fsubs.ll
func-argpassing-endian.ll
fusedMAC.ll
gep-optimization.ll
ghc-tcreturn-lowered.ll
global-merge-1.ll
global-merge-addrspace.ll
global-merge-external.ll
global-merge.ll
globals.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
gpr-paired-spill-thumbinst.ll
gpr-paired-spill.ll
gv-stubs-crash.ll
half.ll
hardfloat_neon.ll
hello.ll Fix some erroneous lit test failures due to unlucky name of working directory. 2016-02-17 16:35:18 +00:00
hfa-in-contiguous-registers.ll
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis.ll
hints.ll
iabs.ll
ifconv-kills.ll
ifconv-regmask.ll
ifcvt1.ll
ifcvt2.ll
ifcvt3.ll
ifcvt4.ll
ifcvt5.ll
ifcvt6.ll
ifcvt7.ll
ifcvt8.ll
ifcvt9.ll
ifcvt10.ll
ifcvt11.ll
ifcvt12.ll
ifcvt-branch-weight-bug.ll Replace all weight-based interfaces in MBB with probability-based interfaces, and update all uses of old interfaces. 2015-12-01 05:29:22 +00:00
ifcvt-branch-weight.ll Replace all weight-based interfaces in MBB with probability-based interfaces, and update all uses of old interfaces. 2015-12-01 05:29:22 +00:00
ifcvt-callback.ll
ifcvt-dead-def.ll
ifcvt-iter-indbr.ll Replace all weight-based interfaces in MBB with probability-based interfaces, and update all uses of old interfaces. 2015-12-01 05:29:22 +00:00
ifcvt-regmask-noreturn.ll
illegal-vector-bitcast.ll
imm.ll
indirect-hidden.ll
indirect-reg-input.ll
indirectbr-2.ll
indirectbr-3.ll
indirectbr.ll
inline-diagnostics.ll
inlineasm2.ll
inlineasm3.ll
inlineasm4.ll
inlineasm-64bit.ll
inlineasm-global.ll
inlineasm-imm-arm.ll
inlineasm-imm-thumb2.ll Add some testing for thumb1 and thumb2 inline asm immediate constraints 2016-01-08 00:34:44 +00:00
inlineasm-imm-thumb.ll Add some testing for thumb1 and thumb2 inline asm immediate constraints 2016-01-08 00:34:44 +00:00
inlineasm-ldr-pseudo.ll
inlineasm-switch-mode-oneway-from-arm.ll
inlineasm-switch-mode-oneway-from-thumb.ll
inlineasm-switch-mode.ll
inlineasm.ll
insn-sched1.ll
int-to-fp.ll
integer_insertelement.ll
interrupt-attr.ll
intrinsics-crypto.ll
intrinsics-memory-barrier.ll
intrinsics-overflow.ll
intrinsics-v8.ll
intrinsics.ll
invalid-target.ll
invoke-donothing-assert.ll
isel-v8i32-crash.ll
ispositive.ll
jump-table-islands-split.ll
jump-table-islands.ll
jumptable-label.ll
krait-cpu-div-attribute.ll
large-stack.ll
ldaex-stlex.ll
ldm-stm-base-materialization.ll
ldm.ll
ldr_ext.ll
ldr_frame.ll Fix some erroneous lit test failures due to unlucky name of working directory. 2016-02-17 16:35:18 +00:00
ldr_post.ll
ldr_pre.ll
ldr.ll
ldrd-memoper.ll
ldrd.ll ARM: Introduce conservative load/store optimization mode 2016-03-02 19:20:00 +00:00
ldst-f32-2-i32.ll
ldstrex-m.ll [ARM] Add ARMv8-A semaphore/atomic instructions to ARMv8-M Baseline/Mainline 2016-01-15 10:26:51 +00:00
ldstrex.ll
legalize-unaligned-load.ll
lit.local.cfg
load_i1_select.ll
load-address-masked.ll
load-global.ll
load-store-flags.ll
load.ll
log2_not_readnone.ll
long_shift.ll
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
MachO-subtypes.ll
mature-mc-support.ll
mem.ll
memcpy-inline.ll
memcpy-ldm-stm.ll
memfunc.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
memset-inline.ll
MergeConsecutiveStores.ll
metadata-default.ll
metadata-short-enums.ll
metadata-short-wchar.ll
minmax.ll
minsize-imms.ll
minsize-litpools.ll
misched-copy-arm.ll
mls.ll
movcc-double.ll
movt-movw-global.ll
movt.ll [ARM] Add MOVW/MOVT instructions to ARMv8-M Baseline/Mainline 2016-01-15 10:25:14 +00:00
mul_const.ll
mul.ll
mulhi.ll
mult-alt-generic-arm.ll
mvn.ll
named-reg-alloc.ll
named-reg-notareg.ll
negative-offset.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
neon_vabs.ll
neon_vshl_minint.ll
neon-fma.ll
neon-spfp.ll
neon-v8.1a.ll
nest-register.ll
no-fpu.ll
no-tail-call.ll
none-macho-v4t.ll
none-macho.ll
noopt-dmb-v7.ll
nop_concat_vectors.ll
noreturn.ll
null-streamer.ll
opt-shuff-tstore.ll
optimize-dmbs-v7.ll
optselect-regclass.ll
out-of-registers.ll
pack.ll
peephole-bitcast.ll
phi.ll
pic.ll
popcnt.ll
pr3502.ll
pr13249.ll
pr18364-movw.ll
pr25317.ll
pr25838.ll Fix PR25838. 2015-12-17 01:29:08 +00:00
pr26669.ll [SjLjEHPrepare] Don't grab pointers to functions in doInitialization 2016-02-19 03:13:40 +00:00
PR15053.ll
preferred-align.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
prefetch.ll
print-memb-operand.ll
private.ll
rbit.ll
readcyclecounter.ll
reg_sequence.ll
regpair_hint_phys.ll
rem_crash.ll llvm/test/CodeGen/ARM/rem_crash.ll: Avoid unsupported targets to specify explicit triple. 2016-03-03 22:38:39 +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
rotate.ll
sat-arith.ll Fix mapping of @llvm.arm.ssat/usat intrinsics to ssat/usat instructions for Thumb2 2015-12-20 06:41:44 +00:00
saxpy10-a9.ll
sbfx.ll
section-name.ll
section.ll
segmented-stacks-dynamic.ll
segmented-stacks.ll
select_xform.ll
select-imm.ll
select-undef.ll
select.ll
setcc-sentinals.ll
setcc-type-mismatch.ll
setjmp_longjmp.ll
shifter_operand.ll ARM: don't mangle DAG constant if it has more than one use 2016-01-29 19:18:46 +00:00
shuffle.ll
sincos.ll
sjlj-prepare-critical-edge.ll
sjljehprepare-lower-empty-struct.ll ARMv7k: base ABI decision on v7k Arch rather than watchos OS. 2016-01-27 19:32:29 +00:00
smml.ll
smul.ll
smulw.ll
softfp-fabs-fneg.ll
space-directive.ll
special-reg-acore.ll
special-reg-mcore.ll
special-reg-v8m-base.ll [ARM] Add new system registers to ARMv8-M Baseline/Mainline 2016-01-25 11:25:36 +00:00
special-reg-v8m-main.ll [ARM] Add new system registers to ARMv8-M Baseline/Mainline 2016-01-25 11:25:36 +00:00
special-reg.ll
spill-q.ll
ssat-lower.ll Fix mapping of @llvm.arm.ssat/usat intrinsics to ssat/usat instructions for Thumb2 2015-12-20 06:41:44 +00:00
ssat-upper.ll Fix mapping of @llvm.arm.ssat/usat intrinsics to ssat/usat instructions for Thumb2 2015-12-20 06:41:44 +00:00
ssp-data-layout.ll
stack_guard_remat.ll
stack-alignment.ll
stack-frame.ll
stack-protector-bmovpcb_call.ll
stackpointer.ll
stm.ll
str_post.ll
str_pre-2.ll
str_pre.ll
str_trunc.ll
struct_byval_arm_t1_t2.ll
struct_byval.ll
struct-byval-frame-index.ll
sub-cmp-peephole.ll
sub.ll
subreg-remat.ll
subtarget-features-long-calls.ll
subtarget-no-movt.ll
swift-atomics.ll
swift-vldm.ll ARM: Introduce conservative load/store optimization mode 2016-03-02 19:20:00 +00:00
sxt_rot.ll
t2-imm.ll
t2abs-killflags.ll
tail-call-weak.ll
tail-call.ll
tail-dup-kill-flags.ll
tail-dup.ll
tail-merge-branch-weight.ll Replace all weight-based interfaces in MBB with probability-based interfaces, and update all uses of old interfaces. 2015-12-01 05:29:22 +00:00
tail-opts.ll
taildup-branch-weight.ll Improve the successor list update in TailDuplication.cpp. 2015-12-15 10:10:40 +00:00
test-sharedidx.ll
this-return.ll
thread_pointer.ll
thumb1_return_sequence.ll [ARM] For old thumb ISA like v4t, we cannot use PC directly in pop. 2015-11-30 20:37:58 +00:00
thumb1-ldst-opt.ll When printing MIR, output to errs() rather than outs(). 2016-02-19 00:18:46 +00:00
thumb1-varalloc.ll
thumb2-it-block.ll
thumb2-size-opt.ll
thumb2-size-reduction-internal-flags.ll
thumb_indirect_calls.ll
thumb-alignment.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
thumb-big-stack.ll
thumb-litpool.ll
tls1.ll
tls2.ll
tls3.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
tls-models.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
trap.ll [ARM] Emit trap instruction using .inst directive 2016-01-29 10:23:32 +00:00
trunc_ldr.ll
truncstore-dag-combine.ll Fix some erroneous lit test failures due to unlucky name of working directory. 2016-02-17 16:35:18 +00:00
tst_teq.ll
twoaddrinstr.ll
uint64tof64.ll
umulo-32.ll
unaligned_load_store_vector.ll
unaligned_load_store_vfp.ll
unaligned_load_store.ll
undef-sext.ll
undefined.ll
unord.ll
unsafe-fsub.ll
unwind-init.ll
usat-lower.ll Fix mapping of @llvm.arm.ssat/usat intrinsics to ssat/usat instructions for Thumb2 2015-12-20 06:41:44 +00:00
usat-upper.ll Fix mapping of @llvm.arm.ssat/usat intrinsics to ssat/usat instructions for Thumb2 2015-12-20 06:41:44 +00:00
uxt_rot.ll
uxtb.ll
v1-constant-fold.ll
v7k-abi-align.ll
v7k-libcalls.ll
v7k-sincos.ll
va_arg.ll
vaba.ll
vabd.ll
vabs.ll
vadd.ll
vararg_no_start.ll
varargs-spill-stack-align-nacl.ll
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 ARM: stop asserting on weird <3 x Ty> vectors in ISelLowering. 2016-03-17 20:10:28 +00:00
vcvt-cost.ll
vcvt-v8.ll
vcvt.ll
vdiv_combine.ll ARM: stop asserting on weird <3 x Ty> vectors in ISelLowering. 2016-03-17 20:10:28 +00:00
vdup.ll
vector-DAGCombine.ll
vector-extend-narrow.ll
vector-load.ll
vector-promotion.ll
vector-spilling.ll
vector-store.ll
vext.ll
vfcmp.ll
vfloatintrinsics.ll
vfp-libcalls.ll
vfp-reg-stride.ll
vfp-regs-dwarf.ll
vfp.ll
vget_lane.ll
vhadd.ll
vhsub.ll
vicmp.ll
vld1.ll
vld2.ll
vld3.ll
vld4.ll
vld-vst-upgrade.ll
vlddup.ll
vldlane.ll
vldm-liveness.ll
vldm-sched-a9.ll
vminmax.ll
vminmaxnm-safe.ll
vminmaxnm.ll
vmla.ll
vmls.ll
vmov.ll
vmul.ll
vneg.ll
vpadal.ll
vpadd.ll
vpminmax.ll
vqadd.ll
vqdmul.ll
vqshl.ll
vqshrn.ll
vqsub.ll
vrec.ll
vrev.ll
vsel.ll
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
vsub.ll
vtbl.ll
vtrn.ll
vuzp.ll
vzip.ll
warn-stack.ll
weak2.ll
weak.ll
wide-compares.ll ARM: Better codegen for 64-bit compares. 2016-03-21 18:00:02 +00:00
widen-vmovs.ll
wrong-t2stmia-size-opt.ll
zero-cycle-zero.ll [ARM] Mark VMOV with immediate: isAsCheapAsMove. 2016-01-13 00:02:40 +00:00
zextload_demandedbits.ll