llvm-6502/test/CodeGen/ARM
Renato Golin b451f4e376 Improve handling of stack accesses in Thumb-1
Thumb-1 only allows SP-based LDR and STR to be word-sized, and SP-base LDR,
STR, and ADD only allow offsets that are a multiple of 4. Make some changes
to better make use of these instructions:

* Use word loads for anyext byte and halfword loads from the stack.
* Enforce 4-byte alignment on objects accessed in this way, to ensure that
  the offset is valid.
* Do the same for objects whose frame index is used, in order to avoid having
  to use more than one ADD to generate the frame index.
* Correct how many bits of offset we think AddrModeT1_s has.

Patch by John Brawn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230496 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-25 14:41:06 +00:00
..
Windows MC: Emit COFF section flags in the "proper" order 2015-02-07 08:26:40 +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 Use FileCheck in a few tests. 2014-11-06 15:05:51 +00:00
2007-05-09-tailmerge-2.ll Convert a few tests to FileCheck. NFC. 2014-12-22 13:29:46 +00:00
2007-05-14-InlineAsmCstCrash.ll
2007-05-14-RegScavengerAssert.ll
2007-05-22-tailmerge-3.ll Convert a few tests to FileCheck. NFC. 2014-12-22 13:29:46 +00:00
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 IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
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 IR: Move MDLocation into place 2015-01-14 22:27:36 +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 IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
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 IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
2010-09-21-OptCmpBug.ll
2010-10-25-ifcvt-ldm.ll
2010-11-15-SpillEarlyClobber.ll [RegAlloc] Remove reference to the trivial spiller in test case. 2014-11-06 19:24:18 +00:00
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 IR: Move MDLocation into place 2015-01-14 22:27:36 +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
2011-04-07-schediv.ll
2011-04-11-MachineLICMBug.ll
2011-04-12-AlignBug.ll ARM: remove ARM/Thumb distinction for preferred alignment. 2014-10-14 22:12:17 +00:00
2011-04-12-FastRegAlloc.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
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 IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
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 IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
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 IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
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 IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
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 IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2012-09-25-InlineAsmScalarToVectorConv.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
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 [ARM] Add regression test for the earlyclobber constraint of ARM STRB. 2014-07-23 08:39:50 +00:00
2014-08-04-muls-it.ll [SimplifyCFG] Swap to using TargetTransformInfo for cost 2015-02-11 12:15:41 +00:00
2015-01-21-thumbv4t-ldstr-opt.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +00:00
a15-mla.ll
a15-partial-update.ll
a15-SD-dep.ll
a15.ll
aapcs-hfa-code.ll [ARM] Enable DP copy, load and store instructions for FPv4-SP 2014-08-21 12:50:31 +00:00
aapcs-hfa.ll
addrmode.ll
addrspacecast.ll
adv-copy-opt.ll [ARM] Move the implementation of the target hooks related to copy-related 2014-08-22 18:05:22 +00:00
aggregate-padding.ll ARM: treat [N x i32] and [N x i64] as AAPCS composite types 2015-02-24 17:22:34 +00:00
aliases.ll Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
align.ll
alloc-no-stack-realign.ll [ARM] Re-re-apply VLD1/VST1 base-update combine. 2015-02-19 23:52:41 +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
arm32-round-conv.ll [AArch32] Add patterns for VCVT{A,N,P,M}. 2014-08-25 16:56:33 +00:00
arm32-rounding.ll [ARM] Allow selecting VRINT[APMXZR] and VCVT[BT] instructions for FPv5 2014-10-01 13:13:18 +00:00
arm-abi-attr.ll Add a new string member to the TargetOptions struct for the name 2014-12-18 02:20:58 +00:00
arm-and-tst-peephole.ll
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 Add a new string member to the TargetOptions struct for the name 2014-12-18 02:20:58 +00:00
atomic-cmp.ll
atomic-cmpxchg.ll Lower thumbv4t & thumbv5 lo->lo copies through a push-pop sequence 2014-08-20 23:38:50 +00:00
atomic-load-store.ll Restore "[ARM, Fix] Fix emitLeading/TrailingFence on old ARM processors" 2014-09-18 18:56:04 +00:00
atomic-op.ll ARM: allow misaligned local variables in Thumb1 mode. 2014-10-14 22:12:14 +00:00
atomic-ops-v8.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +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 [ARM] Use patterns instead of hardcoded regs in test. NFC. 2015-02-05 01:52:19 +00:00
big-endian-neon-trunc-store.ll
big-endian-ret-f64.ll
big-endian-vector-callee.ll
big-endian-vector-caller.ll
bits.ll
bswap16.ll
bswap-inline-asm.ll
build-attributes-encoding.s Stop uppercasing build attribute data. 2014-11-27 12:13:56 +00:00
build-attributes.ll [ARM] Add missing M/R class CPUs 2015-02-18 10:33:30 +00:00
bx_fold.ll
byval_load_align.ll
cache-intrinsic.ll
call_nolink.ll
call-noret-minsize.ll
call-noret.ll
call-tc.ll
call.ll
carry.ll Only emit movw on ARMv6T2+ 2014-09-02 22:45:13 +00:00
clz.ll
cmn.ll
cmpxchg-idioms.ll
cmpxchg-weak.ll
coalesce-dbgvalue.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
coalesce-subregs.ll [SimplifyCFG] Swap to using TargetTransformInfo for cost 2015-02-11 12:15:41 +00:00
code-placement.ll
commute-movcc.ll
compare-call.ll
constant-islands.ll ARM: avoid duplicating branches during constant islands. 2014-11-13 17:58:51 +00:00
constantfp.ll
constants.ll
copy-cpsr.ll ARM: allow copying of CPSR when all else fails. 2014-10-01 19:21:03 +00:00
copy-paired-reg.ll
crash-greedy-v6.ll
crash-greedy.ll
crash-O0.ll
crash-shufflevector.ll
crash.ll
crc32.ll ARM: add test for crc32 instructions in CodeGen. 2015-01-14 01:43:33 +00:00
cse-call.ll
cse-ldrlit.ll ARM: correctly expand LDR-lit based globals. 2014-12-10 23:40:50 +00:00
cse-libcalls.ll Convert a few tests to FileCheck. NFC. 2014-12-22 13:29:46 +00:00
ctor_order.ll
ctors_dtors.ll
ctz.ll
dagcombine-anyexttozeroext.ll
dagcombine-concatvector.ll Add a new string member to the TargetOptions struct for the name 2014-12-18 02:20:58 +00:00
darwin-eabi.ll [ARM] Enable DP copy, load and store instructions for FPv4-SP 2014-08-21 12:50:31 +00:00
darwin-section-order.ll
data-in-code-annotations.ll
dbg.ll ARM: Add patterns for dbg 2014-08-26 12:47:26 +00:00
DbgValueOtherTargets.test
debug-frame-large-stack.ll ARM: simplify test. 2014-11-14 22:45:23 +00:00
debug-frame-no-debug.ll
debug-frame-vararg.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +00:00
debug-frame.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debug-info-arg.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debug-info-blocks.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debug-info-branch-folding.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debug-info-d16-reg.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debug-info-qreg.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debug-info-s16-reg.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debug-info-sreg2.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debug-segmented-stacks.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
default-float-abi.ll
deps-fix.ll
div.ll
divmod-eabi.ll Revert "ARM: improve RTABI 4.2 conformance on Linux" 2014-08-23 18:29:43 +00:00
divmod.ll
domain-conv-vmovs.ll
dwarf-eh.ll
dwarf-unwind.ll ARM: refactor .cfi_def_cfa_offset emission. 2014-11-14 22:45:33 +00:00
dyn-stackalloc.ll Revert "r226086 - Revert "r226071 - [RegisterCoalescer] Remove copies to reserved registers"" 2015-01-15 20:32:09 +00:00
eh-dispcont.ll
eh-resume-darwin.ll
ehabi-filters.ll
ehabi-handlerdata-nounwind.ll
ehabi-handlerdata.ll
ehabi-no-landingpad.ll
ehabi-unwind.ll
ehabi.ll
elf-lcomm-align.ll
emit-big-cst.ll Add a new string member to the TargetOptions struct for the name 2014-12-18 02:20:58 +00:00
extload-knownzero.ll
extloadi1.ll
fabs-neon.ll Improved test cases that were added with r214892. 2014-08-05 20:16: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 Reapply [FastISel] Let the target decide first if it wants to materialize a constant (215588). 2014-08-19 19:05:24 +00:00
fast-isel-cmp-imm.ll
fast-isel-conversion.ll
fast-isel-crash2.ll
fast-isel-crash.ll
fast-isel-deadcode.ll Reapply [FastISel] Let the target decide first if it wants to materialize a constant (215588). 2014-08-19 19:05:24 +00:00
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 [FastISel] Local values shouldn't be alive across an inline asm call with side effects. 2014-07-16 22:20:51 +00:00
fast-isel-intrinsic.ll Reapply [FastISel] Let the target decide first if it wants to materialize a constant (215588). 2014-08-19 19:05:24 +00:00
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 Reapply [FastISel] Let the target decide first if it wants to materialize a constant (215588). 2014-08-19 19:05:24 +00:00
fast-isel-pic.ll
fast-isel-pred.ll
fast-isel-redefinition.ll
fast-isel-ret.ll
fast-isel-select.ll Reapply [FastISel] Let the target decide first if it wants to materialize a constant (215588). 2014-08-19 19:05:24 +00:00
fast-isel-shifter.ll
fast-isel-static.ll
fast-isel-vararg.ll Reapply [FastISel] Let the target decide first if it wants to materialize a constant (215588). 2014-08-19 19:05:24 +00:00
fast-isel.ll
fast-tail-call.ll
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
fnegs.ll optimize vector fneg of bitcasted integer value 2014-08-14 15:15:28 +00:00
fnmacs.ll
fnmscs.ll
fnmul.ll
fnmuls.ll
fold-const.ll
fold-stack-adjust.ll Fix large stack alignment codegen for ARM and Thumb2 targets 2015-01-08 15:09:14 +00:00
formal.ll
fp16.ll ARM: __gnu_h2f_ieee and __gnu_f2h_ieee always use the soft-float calling convention 2014-08-11 09:12:32 +00:00
fp_convert.ll
fp-arg-shuffle.ll
fp-fast.ll
fp.ll
fparith.ll
fpcmp_ueq.ll
fpcmp-f64-neon-opt.ll Do not emit intermediate register for zero FP immediate 2014-10-23 15:31:50 +00:00
fpcmp-opt.ll
fpcmp.ll
fpconsts.ll
fpconv.ll
fpmem.ll
fpow.ll
fpowi.ll
fptoint.ll
frame-register.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +00:00
fsubs.ll
func-argpassing-endian.ll
fusedMAC.ll
ghc-tcreturn-lowered.ll Parse 'ghccc' in .ll files as the GHC convention (cc 10) 2014-12-01 21:04:44 +00:00
global-merge-1.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
global-merge-addrspace.ll
global-merge.ll
globals.ll ARM: correctly expand LDR-lit based globals. 2014-12-10 23:40:50 +00:00
gpr-paired-spill-thumbinst.ll
gpr-paired-spill.ll
gv-stubs-crash.ll
half.ll ARM: support legalisation of "fptrunc ... to half" operations. 2014-07-18 13:01:19 +00:00
hardfloat_neon.ll
hello.ll
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 IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
ifcvt-branch-weight.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
illegal-vector-bitcast.ll
imm.ll
indirect-hidden.ll
indirect-reg-input.ll
indirectbr-2.ll
indirectbr-3.ll
indirectbr.ll
inline-diagnostics.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
inlineasm2.ll
inlineasm3.ll
inlineasm4.ll
inlineasm-64bit.ll
inlineasm-global.ll llvm/test/CodeGen/ARM/inlineasm-global.ll: Add explicit triple to appease targeting *-win32. 2014-07-25 09:55:01 +00:00
inlineasm-imm-arm.ll
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 Fix large stack alignment codegen for ARM and Thumb2 targets 2015-01-08 15:09:14 +00:00
intrinsics-crypto.ll
intrinsics-memory-barrier.ll
intrinsics-overflow.ll
intrinsics-v8.ll
intrinsics.ll
invalid-target.ll Fix ARM triple parsing 2014-11-17 14:08:57 +00:00
invoke-donothing-assert.ll
isel-v8i32-crash.ll [ARM] Prevent PerformVCVTCombine from combining a vmul/vcvt with 8 lanes 2014-12-16 10:59:27 +00:00
ispositive.ll
jumptable-label.ll
large-stack.ll
ldaex-stlex.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-m.ll
ldstrex.ll
lit.local.cfg
load_i1_select.ll
load-address-masked.ll
load-global.ll
load.ll
log2_not_readnone.ll
long_shift.ll
long-setcc.ll
long.ll
longMAC.ll This patch fixes issue with lowering below mentioned pattern :- 2015-01-23 09:10:03 +00:00
lsr-code-insertion.ll
lsr-icmp-imm.ll
lsr-scale-addr-mode.ll
lsr-unfolded-offset.ll
machine-cse-cmp.ll
machine-licm.ll
mature-mc-support.ll
mem.ll
memcpy-inline.ll [ARM] Re-re-apply VLD1/VST1 base-update combine. 2015-02-19 23:52:41 +00:00
memfunc.ll
memset-inline.ll
MergeConsecutiveStores.ll
metadata-default.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
metadata-short-enums.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
metadata-short-wchar.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
minsize-imms.ll
minsize-litpools.ll
misched-copy-arm.ll
mls.ll
movt-movw-global.ll
movt.ll
mul_const.ll
mul.ll
mulhi.ll
mult-alt-generic-arm.ll
mvn.ll
named-reg-alloc.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
named-reg-notareg.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
negative-offset.ll ARM: Negative offset support problem 2014-09-09 09:57:59 +00:00
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-fma.ll
neon-spfp.ll
no-fpu.ll
no-tail-call.ll [ARM] Do not perform a tail call when the caller returns several values. 2014-09-18 21:17:50 +00:00
none-macho-v4t.ll Fix thumbv4t indirect calls 2014-12-04 19:34:50 +00:00
none-macho.ll ARM: do not generate BLX instructions on Cortex-M CPUs. 2014-08-06 11:13:14 +00:00
nop_concat_vectors.ll
noreturn.ll
null-streamer.ll llvm-mc: Use Target::createNullStreamer to fix crashes on target-specific asm directives. 2015-02-19 00:45:04 +00:00
opt-shuff-tstore.ll
optimize-dmbs-v7.ll
optselect-regclass.ll
out-of-registers.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
pack.ll
peephole-bitcast.ll
phi.ll
pic.ll
popcnt.ll
pr3502.ll
pr13249.ll
pr18364-movw.ll Missing test from r216989 2014-09-02 22:46:18 +00:00
PR15053.ll
preferred-align.ll ARM: remove ARM/Thumb distinction for preferred alignment. 2014-10-14 22:12:17 +00:00
prefetch.ll Remove the cortex-a9-mp CPU. 2014-11-03 17:38:00 +00:00
private.ll
rbit.ll ARM: Fix codegen for rbit intrinsic 2014-08-20 10:40:20 +00:00
readcyclecounter.ll
reg_sequence.ll
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
saxpy10-a9.ll
sbfx.ll ARM: spot SBFX-compatbile code expressed with sign_extend_inreg 2014-07-23 13:59:12 +00:00
section-name.ll Bring r226038 back. 2015-01-19 15:16:06 +00:00
section.ll
segmented-stacks-dynamic.ll
segmented-stacks.ll
select_xform.ll Fix optimisations of SELECT_CC which assumed result is boolean 2014-11-17 10:49:31 +00:00
select-imm.ll
select-undef.ll
select.ll
setcc-sentinals.ll
setcc-type-mismatch.ll ARM & AArch64: teach LowerVSETCC that output type size may differ from input. 2015-02-08 00:50:47 +00:00
shifter_operand.ll
shuffle.ll
sincos.ll
sjlj-prepare-critical-edge.ll Fix a bug in DemoteRegToStack where a reload instruction was inserted into the 2015-02-09 06:38:23 +00:00
sjljehprepare-lower-empty-struct.ll Unify the lowering of arguments during SjLj prepare. 2014-07-14 18:21:11 +00:00
smml.ll
smul.ll
smulw.ll [ARM] Do not select SMULW[BT] or SMLAW[BT] 2014-10-20 11:30:35 +00:00
space-directive.ll ARM: add @llvm.arm.space intrinsic for testing ConstantIslands. 2014-11-13 17:58:48 +00:00
spill-q.ll Fix large stack alignment codegen for ARM and Thumb2 targets 2015-01-08 15:09:14 +00:00
ssp-data-layout.ll
stack_guard_remat.ll ARM: correctly expand LDR-lit based globals. 2014-12-10 23:40:50 +00:00
stack-alignment.ll Fix large stack alignment codegen for ARM and Thumb2 targets 2015-01-08 15:09:14 +00:00
stack-frame.ll
stack-protector-bmovpcb_call.ll
stackpointer.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
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 Fix ARM peephole optimizeCompare to avoid optimizing unsigned cmp to 0. 2015-02-02 16:56:50 +00:00
sub.ll
subreg-remat.ll
swift-atomics.ll Fix swift-atomics testcase 2014-09-23 23:18:01 +00:00
swift-vldm.ll
sxt_rot.ll [SDAG] Make the DAGCombine worklist not grow endlessly due to duplicate 2014-07-23 07:08:53 +00:00
t2-imm.ll
tail-call-weak.ll ARM: permit tail calls to weak externals on COFF 2015-01-03 21:35:00 +00:00
tail-call.ll Add a new string member to the TargetOptions struct for the name 2014-12-18 02:20:58 +00:00
tail-dup.ll
tail-merge-branch-weight.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
tail-opts.ll
taildup-branch-weight.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
test-sharedidx.ll
this-return.ll
thread_pointer.ll
thumb1_return_sequence.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +00:00
thumb1-varalloc.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +00:00
thumb2-it-block.ll ARM: try harder to detect non-IT eligible instructions 2014-08-11 20:13:25 +00:00
thumb2-size-opt.ll [ARM] Add Thumb-2 code size optimization regression test for LSR (register). 2014-09-11 10:45:50 +00:00
thumb_indirect_calls.ll Fix thumbv4t indirect calls 2014-12-04 19:34:50 +00:00
thumb-litpool.ll
tls1.ll Convert a few tests to FileCheck. NFC. 2014-12-22 13:29:46 +00:00
tls2.ll
tls3.ll
tls-models.ll
trap.ll
trunc_ldr.ll
truncstore-dag-combine.ll
tst_teq.ll
twoaddrinstr.ll
uint64tof64.ll
umulo-32.ll
unaligned_load_store_vector.ll
unaligned_load_store.ll
undef-sext.ll
undefined.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
vararg_no_start.ll ARM / x86_64 varargs: Don't save regparms in prologue without va_start 2014-08-22 21:59:26 +00:00
varargs-spill-stack-align-nacl.ll ARM: try to add extra CS-register whenever stack alignment >= 8. 2014-11-05 00:27:20 +00:00
vargs_align.ll ARM / x86_64 varargs: Don't save regparms in prologue without va_start 2014-08-22 21:59:26 +00:00
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 Canonicalize splats as build_vectors (PR22283) 2015-02-17 16:54:32 +00:00
vector-DAGCombine.ll Added test case for PR22678 (check CONCAT_VECTORS DAG combiner pass doesn't introduce illegal types) 2015-02-24 21:46:23 +00:00
vector-extend-narrow.ll
vector-load.ll [ARM] Re-re-apply VLD1/VST1 base-update combine. 2015-02-19 23:52:41 +00:00
vector-promotion.ll [CodeGenPrepare] Move extractelement close to store if they can be combined. 2014-10-31 17:52:53 +00:00
vector-spilling.ll [RegisterCoalescer] Add new subtarget hook allowing targets to opt-out of coalescing. 2014-07-15 17:18:41 +00:00
vector-store.ll [ARM] Re-re-apply VLD1/VST1 base-update combine. 2015-02-19 23:52:41 +00:00
vext.ll
vfcmp.ll
vfloatintrinsics.ll
vfp-libcalls.ll
vfp-regs-dwarf.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
vfp.ll
vget_lane.ll
vhadd.ll
vhsub.ll
vicmp.ll
vld1.ll [ARM] Also support v2f64 vld1/vst1. 2014-12-09 21:25:00 +00:00
vld2.ll
vld3.ll
vld4.ll
vlddup.ll
vldlane.ll
vldm-liveness.ll
vldm-sched-a9.ll Revert 202433 - Provide a target override for the latest regalloc heuristic 2014-10-03 12:20:53 +00:00
vminmax.ll
vminmaxnm.ll [ARM] Select VMAXNM and VMINNM regardless of operand order 2014-10-27 09:23:02 +00:00
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 [ARM] Also support v2f64 vld1/vst1. 2014-12-09 21:25:00 +00:00
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
widen-vmovs.ll
wrong-t2stmia-size-opt.ll ARM: don't size-reduce STMs using the LR register. 2014-09-10 12:53:28 +00:00
zero-cycle-zero.ll
zextload_demandedbits.ll