1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/CodeGen/ARM
Evan Cheng 86dd733bc8 Some enhancements for memcpy / memset inline expansion.
1. Teach it to use overlapping unaligned load / store to copy / set the trailing
   bytes. e.g. On 86, use two pairs of movups / movaps for 17 - 31 byte copies.
2. Use f64 for memcpy / memset on targets where i64 is not legal but f64 is. e.g.
   x86 and ARM.
3. When memcpy from a constant string, do *not* replace the load with a constant
   if it's not possible to materialize an integer immediate with a single
   instruction (required a new target hook: TLI.isIntImmLegal()).
4. Use unaligned load / stores more aggressively if target hooks indicates they
   are "fast".
5. Update ARM target hooks to use unaligned load / stores. e.g. vld1.8 / vst1.8.
   Also increase the threshold to something reasonable (8 for memset, 4 pairs
   for memcpy).

This significantly improves Dhrystone, up to 50% on ARM iOS devices.

rdar://12760078

llvm-svn: 169791
2012-12-10 23:21:26 +00:00
..
2006-11-10-CycleInDAG.ll
2007-01-19-InfiniteLoop.ll
2007-03-07-CombinerCrash.ll
2007-03-13-InstrSched.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
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 Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
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 Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2007-08-15-ReuseBug.ll
2008-02-04-LocalRegAllocBug.ll Don't run RAFast in the optimizing regalloc pipeline. 2012-06-08 23:15:12 +00:00
2008-02-29-RegAllocLocal.ll Don't run RAFast in the optimizing regalloc pipeline. 2012-06-08 23:15:12 +00:00
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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
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-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 Don't run RAFast in the optimizing regalloc pipeline. 2012-06-08 23:15:12 +00:00
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
2010-09-21-OptCmpBug.ll
2010-09-29-mc-asm-header-test.ll
2010-10-19-mc-elf-objheader.ll Recommit modified r167540. 2012-11-08 09:51:45 +00:00
2010-10-25-ifcvt-ldm.ll
2010-11-15-SpillEarlyClobber.ll
2010-11-29-PrologueBug.ll
2010-11-30-reloc-movt.ll Added Mapping Symbols for ARM ELF 2012-12-07 16:50:23 +00:00
2010-12-07-PEIBug.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
2010-12-08-tpsoft.ll
2010-12-15-elf-lcomm.ll Never use .lcomm on platforms where it does not accept an alignment 2012-11-27 16:11:16 +00:00
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 Rework test so that it reproduces the error without the horrible flag. 2012-08-15 21:10:18 +00:00
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 ARM: tail-call inside a function where part of a byval argument is on caller's 2012-10-12 23:39:43 +00:00
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 Some enhancements for memcpy / memset inline expansion. 2012-12-10 23:21:26 +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 Use vld1 / vst2 for unaligned v2f64 load / store. e.g. Use vld1.16 for 2-byte 2012-09-18 01:42:45 +00:00
2011-11-30-MergeAlignment.ll
2011-12-14-machine-sink.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2011-12-19-sjlj-clobber.ll
2012-01-23-PostRA-LICM.ll
2012-01-24-RegSequenceLiveRange.ll Preserve <undef> flags in ARMExpandPseudo. 2012-06-15 17:46:54 +00:00
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 Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
2012-05-10-PreferVMOVtoVDUP32.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
2012-05-29-TailDupBug.ll
2012-06-12-SchedMemLatency.ll misched: Infrastructure for weak DAG edges. 2012-11-12 19:28:57 +00:00
2012-08-04-DtripleSpillReload.ll Add stack spill / reload instructions for DTriple and DQuad register classes, which 2012-08-04 13:16:12 +00:00
2012-08-08-legalize-unaligned.ll Fix the legalization of ExtLoad on ARM. ExpandUnalignedLoad did not properly 2012-08-09 01:56:44 +00:00
2012-08-09-neon-extload.ll Add test for previous commit correcting NEON load patterns. 2012-08-13 10:38:45 +00:00
2012-08-13-bfi.ll Do not optimize (or (and X,Y), Z) into BFI and other sequences if the AND ISDNode has more than one user. 2012-08-13 18:52:44 +00:00
2012-08-23-legalize-vmull.ll Codegen failure for vmull with small vectors 2012-11-30 19:08:04 +00:00
2012-08-27-CopyPhysRegCrash.ll Make sure we add the predicate after all of the registers are added. 2012-08-27 22:12:44 +00:00
2012-08-30-select.ll Not all targets have efficient ISel code generation for select instructions. 2012-09-02 12:10:19 +00:00
2012-09-18-ARMv4ISelBug.ll MOVi16 (movw) is only legal on cpus with V6T2 support. rdar://12300648 2012-09-18 21:24:16 +00:00
2012-09-25-InlineAsmScalarToVectorConv2.ll Generate an error message instead of asserting or segfaulting when we have a 2012-09-26 06:16:18 +00:00
2012-09-25-InlineAsmScalarToVectorConv.ll Generate an error message instead of asserting or segfaulting when we have a 2012-09-26 04:04:19 +00:00
2012-10-04-AAPCS-byval-align8.ll Issue: 2012-10-16 07:16:47 +00:00
2012-10-04-FixedFrame-vs-byval.ll Issue description: 2012-10-10 11:37:36 +00:00
2012-10-04-LDRB_POST_IMM-Crash.ll Issue: 2012-10-16 07:16:47 +00:00
2012-10-18-PR14099-ByvalFrameAddress.ll ARM: 2012-10-19 08:23:06 +00:00
2012-11-14-subs_carry.ll The code pattern "imm0_255_neg" is used for checking if an immediate value is a small negative number. 2012-11-14 19:39:15 +00:00
a15-mla.ll Removed the VMLxForwarding feature for the Cortex-A15 target. 2012-09-17 14:10:54 +00:00
a15.ll This patch introduces A15 as a target in LLVM. 2012-09-13 15:05:10 +00:00
addrmode.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
aliases.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
align.ll
alloc-no-stack-realign.ll Stack Alignment: when creating stack objects in MachineFrameInfo, make sure 2012-12-04 00:52:33 +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
arm-and-tst-peephole.ll
arm-asm.ll
arm-frameaddr.ll
arm-modifier.ll Add support for the %H output modifier. 2012-08-13 18:18:52 +00:00
arm-negative-stride.ll
arm-returnaddr.ll
arm-ttype-target2.ll Use TARGET2 relocation for TType references on ARM. 2012-11-14 01:47:00 +00:00
armv4.ll
atomic-64bit.ll Added atomic 64 min/max/umin/umax instrinsics support in the ARM backend. 2012-11-29 14:41:25 +00:00
atomic-cmp.ll
atomic-load-store.ll
atomic-op.ll Fix a couple of typos in EmitAtomic. 2012-08-31 02:08:34 +00:00
atomicrmw_minmax.ll ARM/atomicrmw_minmax.ll: Fix RUN line. 2012-09-26 10:12:20 +00:00
available_externally.ll
avoid-cpsr-rmw.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
bfc.ll
bfi.ll
bfx.ll
bic.ll
bicZext.ll This change handles a another case for generating the bic instruction 2012-06-18 14:51:32 +00:00
bits.ll
bswap-inline-asm.ll
bx_fold.ll
call_nolink.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
call-noret-minsize.ll Disable the Thumb no-return call optimization: 2012-11-10 02:09:05 +00:00
call-noret.ll Disable the Thumb no-return call optimization: 2012-11-10 02:09:05 +00:00
call-tc.ll
call.ll
carry.ll Fix a miscompilation caused by a typo. When turning a adde with negative value 2012-10-24 19:53:01 +00:00
clz.ll
cmn.ll Re-enable the CMN instruction. 2012-06-11 08:07:26 +00:00
coalesce-subregs.ll Avoid rewriting instructions twice. 2012-11-29 00:26:11 +00:00
code-placement.ll
commute-movcc.ll
compare-call.ll
constants.ll Fix constant folding through bitcasts by no longer relying on undefined behaviour (converting NaN values between float and double). 2012-09-12 11:25:02 +00:00
crash-greedy-v6.ll
crash-greedy.ll Clear kill flags in removeCopyByCommutingDef(). 2012-07-31 02:47:24 +00:00
crash-O0.ll
crash-shufflevector.ll Fix an assertion failure when optimising a shufflevector incorrectly into concat_vectors, and a followup bug with SelectionDAG::getNode() creating nodes with invalid types. 2012-09-10 14:01:21 +00:00
crash.ll Handle the situation where CodeGenPrepare removes a reference to a BB that has 2012-11-29 19:38:06 +00:00
cse-call.ll
cse-libcalls.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
ctor_order.ll
ctors_dtors.ll
ctz.ll
dagcombine-anyexttozeroext.ll
darwin-section-order.ll ARM: locate user-defined text sections next to default text. 2012-10-04 21:33:24 +00:00
data-in-code-annotations.ll
debug-info-arg.ll
debug-info-blocks.ll
debug-info-branch-folding.ll Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
debug-info-d16-reg.ll
debug-info-qreg.ll Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
debug-info-s16-reg.ll
debug-info-sreg2.ll
deps-fix.ll Fixed a bug in the ExecutionDependencyFix pass that caused dependencies to not propagate through implicit defs. 2012-10-03 08:29:36 +00:00
div.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
divmod.ll Legalizer optimize a pair of div / mod to a call to divrem libcall if they are 2012-10-12 01:15:47 +00:00
domain-conv-vmovs.ll Fix typos in CHECK lines. 2012-12-06 21:24:47 +00:00
dyn-stackalloc.ll
eh-resume-darwin.ll
ehabi-filters.ll Factor out type info emission into separate routine. 2012-11-19 21:06:26 +00:00
ehabi-no-landingpad.ll Fix really stupid ARM EHABI info generation bug: we should not emit 2012-11-14 19:13:30 +00:00
ehabi-unwind.ll
elf-lcomm-align.ll Never use .lcomm on platforms where it does not accept an alignment 2012-11-27 16:11:16 +00:00
extload-knownzero.ll Properly fix the tes. 2012-12-06 02:29:29 +00:00
extloadi1.ll
fabs-neon.ll Make sure FABS on v2f32 and v4f32 is legal on ARM NEON 2012-11-16 21:15:20 +00:00
fabss.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
fadds.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
fast-isel-binary.ll
fast-isel-br-const.ll [fast-isel] Add the -verify-machineinstrs to these test cases. The remaining 2012-11-17 00:42:06 +00:00
fast-isel-br-phi.ll
fast-isel-call-multi-reg-return.ll [fast-isel] Add the -verify-machineinstrs to these test cases. The remaining 2012-11-17 00:42:06 +00:00
fast-isel-call.ll [arm-fast-isel] Add support for fastcc. 2012-08-16 05:15:53 +00:00
fast-isel-cmp-imm.ll
fast-isel-conversion.ll
fast-isel-crash2.ll [fast-isel] Add the -verify-machineinstrs to these test cases. The remaining 2012-11-17 00:42:06 +00:00
fast-isel-crash.ll [fast-isel] Add the -verify-machineinstrs to these test cases. The remaining 2012-11-17 00:42:06 +00:00
fast-isel-deadcode.ll [fast-isel] Add the -verify-machineinstrs to these test cases. The remaining 2012-11-17 00:42:06 +00:00
fast-isel-fold.ll [fast-isel] Add the -verify-machineinstrs to these test cases. The remaining 2012-11-17 00:42:06 +00:00
fast-isel-frameaddr.ll [fast-isel] Add the -verify-machineinstrs to these test cases. The remaining 2012-11-17 00:42:06 +00:00
fast-isel-GEP-coalesce.ll [fast-isel] Add the -verify-machineinstrs to these test cases. The remaining 2012-11-17 00:42:06 +00:00
fast-isel-icmp.ll Extend test case for r168657. 2012-11-27 01:10:48 +00:00
fast-isel-indirectbr.ll Add -verify-machineinstrs to these fast-isel test cases. 2012-11-27 20:49:56 +00:00
fast-isel-intrinsic.ll [arm fast-isel] Make the fast-isel implementation of memcpy respect alignment. 2012-12-06 01:34:31 +00:00
fast-isel-ldr-str-arm.ll
fast-isel-ldr-str-thumb-neg-index.ll
fast-isel-ldrh-strh-arm.ll
fast-isel-mvn.ll
fast-isel-pic.ll [arm-fast-isel] Add support for ELF PIC. 2012-09-27 05:21:41 +00:00
fast-isel-pred.ll Add -verify-machineinstrs to these fast-isel test cases. 2012-11-27 20:49:56 +00:00
fast-isel-redefinition.ll Add -verify-machineinstrs to these fast-isel test cases. 2012-11-27 20:49:56 +00:00
fast-isel-ret.ll
fast-isel-select.ll
fast-isel-shifter.ll [arm-fast-isel] Add support for shl, lshr, and ashr. 2012-08-03 02:37:48 +00:00
fast-isel-static.ll Add -verify-machineinstrs to these fast-isel test cases. 2012-11-27 20:49:56 +00:00
fast-isel.ll [fast-isel] Fallback to SelectionDAG isel if we require strict alignment for 2012-09-21 16:58:35 +00:00
fcopysign.ll Refactor and check "onlyReadsMemory" before optimizing builtins. 2012-08-03 23:29:17 +00:00
fdivs.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
fixunsdfdi.ll
flag-crash.ll
floorf.ll llvm/test/CodeGen/ARM/floorf.ll: Add explicit -mtriple=arm-unknown-unknown, or it fails on msvc. 2012-08-14 00:56:06 +00:00
fmacs.ll
fmdrr-fmrrd.ll
fmscs.ll
fmuls.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
fnegs.ll
fnmacs.ll
fnmscs.ll
fnmul.ll
fnmuls.ll
fold-const.ll
formal.ll
fp16.ll The names of VFP variants of half-to-float conversion instructions were 2012-08-14 23:36:01 +00:00
fp_convert.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
fp-arg-shuffle.ll
fp-fast.ll Teach DAG combine a number of tricks to simplify FMA expressions in fast-math mode. 2012-09-01 06:04:27 +00:00
fp.ll
fparith.ll Add test triples to fix win32 failures. Revert workaround from r161292. 2012-08-08 20:31:37 +00:00
fpcmp_ueq.ll
fpcmp-opt.ll
fpcmp.ll
fpconsts.ll
fpconv.ll
fpmem.ll
fpow.ll
fpowi.ll
fptoint.ll
fsubs.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
fusedMAC.ll DAG legalisation can now handle illegal fma vector types by scalarisation 2012-06-24 00:05:44 +00:00
global-merge.ll
globals.ll
gv-stubs-crash.ll
hardfloat_neon.ll
hello.ll
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis.ll
iabs.ll ARM: optimization for sub+abs. 2012-06-15 21:32:12 +00:00
ifcvt1.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
ifcvt2.ll
ifcvt3.ll
ifcvt4.ll
ifcvt5.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
ifcvt6.ll
ifcvt7.ll
ifcvt8.ll
ifcvt9.ll
ifcvt10.ll
ifcvt11.ll
ifcvt12.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
illegal-vector-bitcast.ll
imm.ll
indirectbr-2.ll When a block ends in an indirect branch, add its successors to the machine basic block. 2012-10-22 23:30:04 +00:00
indirectbr.ll
inlineasm2.ll
inlineasm3.ll
inlineasm4.ll
inlineasm-imm-arm.ll
inlineasm.ll
insn-sched1.ll
int-to-fp.ll
integer_insertelement.ll Revert r163298 "Optimize codegen for VSETLNi{8,16,32} operating on Q registers." 2012-10-26 23:39:46 +00:00
intrinsics.ll
ispositive.ll
jumptable-label.ll
large-stack.ll
ldm.ll
ldr_ext.ll
ldr_frame.ll
ldr_post.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
ldr_pre.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
ldr.ll
ldrd-memoper.ll
ldrd.ll Don't run RAFast in the optimizing regalloc pipeline. 2012-06-08 23:15:12 +00:00
ldst-f32-2-i32.ll
ldstrexd.ll
lit.local.cfg
load_i1_select.ll
load-global.ll
load.ll
log2_not_readnone.ll
long_shift.ll
long-setcc.ll
long.ll
longMAC.ll Patch to implement UMLAL/SMLAL instructions for the ARM architecture 2012-09-04 14:37:49 +00:00
lsr-code-insertion.ll
lsr-icmp-imm.ll
lsr-scale-addr-mode.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
lsr-unfolded-offset.ll
machine-cse-cmp.ll CSE: allow PerformTrivialCoalescing to check copies across basic block 2012-11-27 18:58:41 +00:00
machine-licm.ll
mem.ll
memcpy-inline.ll Some enhancements for memcpy / memset inline expansion. 2012-12-10 23:21:26 +00:00
memfunc.ll
memset-inline.ll Some enhancements for memcpy / memset inline expansion. 2012-12-10 23:21:26 +00:00
mls.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
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 ARM scheduling fix: compute predicated implicit use properly. 2012-06-22 02:50:31 +00:00
neon_fpconv.ll Mark FP_EXTEND form v2f32 to v2f64 as "expand" for ARM NEON. Patch by Pete Couperus. 2012-11-17 01:52:46 +00:00
neon_ld1.ll
neon_ld2.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
neon_minmax.ll
neon_shift.ll
neon_spill.ll
neon-fma.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
odr_comdat.ll
opt-shuff-tstore.ll Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
pack.ll
peephole-bitcast.ll
phi.ll
popcnt.ll ARM custom lower ctpop for vector types. Patch by Pete Couperus. 2012-12-04 22:41:50 +00:00
pr3502.ll
pr13249.ll Now that RegistersDefinedFromSameValue handles one instruction being an 2012-07-01 17:08:01 +00:00
prefetch.ll
private.ll
reg_sequence.ll Enable the new coalescer algorithm by default. 2012-09-27 21:06:02 +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 ARM: Implement CanLowerReturn so large vectors get expanded into sret. 2012-11-28 20:55:10 +00:00
ret_void.ll
rev.ll
sbfx.ll
section.ll
select_xform.ll Use predication instead of pseudo-opcodes when folding into MOVCC. 2012-09-05 23:58:02 +00:00
select-imm.ll
select.ll Use predication instead of pseudo-opcodes when folding into MOVCC. 2012-09-05 23:58:02 +00:00
shifter_operand.ll
shuffle.ll
smml.ll
smul.ll
spill-q.ll
stack-frame.ll
stm.ll
str_post.ll
str_pre-2.ll Fix test that depends on register allocation. 2012-06-11 21:14:28 +00:00
str_pre.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
str_trunc.ll
struct_byval.ll ARM: tail-call inside a function where part of a byval argument is on caller's 2012-10-12 23:39:43 +00:00
sub-cmp-peephole.ll Don't attempt to use flags from predicated instructions. 2012-09-10 19:17:25 +00:00
sub.ll MOVi16 (movw) is only legal on cpus with V6T2 support. rdar://12300648 2012-09-18 21:24:16 +00:00
subreg-remat.ll Simplify REG_SEQUENCE lowering. 2012-12-01 01:06:44 +00:00
sxt_rot.ll
t2-imm.ll
tail-dup.ll
tail-opts.ll
test-sharedidx.ll
thread_pointer.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
thumb1-varalloc.ll
thumb2-it-block.ll ARM: optimization for sub+abs. 2012-06-15 21:32:12 +00:00
tls1.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
tls2.ll
tls3.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
tls-models.ll Extend the IL for selecting TLS models (PR9788) 2012-06-23 11:37:03 +00:00
trap.ll This patch is to fix radar://8426430. It is about llvm support of __builtin_debugtrap() 2012-10-19 20:11:16 +00:00
trunc_ldr.ll
truncstore-dag-combine.ll
tst_teq.ll
twoaddrinstr.ll Try to make these tests more portable. 2012-09-20 21:35:21 +00:00
uint64tof64.ll
umulo-32.ll
unaligned_load_store_vector.ll Use vld1 / vst2 for unaligned v2f64 load / store. e.g. Use vld1.16 for 2-byte 2012-09-18 01:42:45 +00:00
unaligned_load_store.ll Use vld1 / vst2 for unaligned v2f64 load / store. e.g. Use vld1.16 for 2-byte 2012-09-18 01:42:45 +00:00
undef-sext.ll
unord.ll
unsafe-fsub.ll
uxt_rot.ll
uxtb.ll
va_arg.ll
vaba.ll
vabd.ll
vabs.ll
vadd.ll
vargs_align.ll
vargs.ll
vbits.ll
vbsl-constant.ll Try to make these tests more portable. 2012-09-20 21:35:21 +00:00
vbsl.ll ARM: v1i64 and v2i64 VBSL intrinsic support. 2012-10-15 21:23:40 +00:00
vceq.ll
vcge.ll
vcgt.ll
vcnt.ll More replacing of target-dependent intrinsics with target-indepdent 2012-07-18 00:02:16 +00:00
vcombine.ll
vcvt_combine.ll
vcvt.ll
vdiv_combine.ll
vdup.ll Fixed PR13938: the ARM backend was crashing because it couldn't select a VDUPLANE node with the vector input size different from the output size. This was bacause the BUILD_VECTOR lowering code didn't check that the size of the input vector was correct for using VDUPLANE. 2012-10-15 09:41:32 +00:00
vector-DAGCombine.ll
vector-extend-narrow.ll Fixed the DAG combiner to better handle the folding of AND nodes for vector types. The previous code was making the assumption that the length of the bitmask returned by isConstantSplat was equal to the size of the vector type. Now we first make sure that the splat value has at least the length of the vector lane type, then we only use as many fields as we have available in the splat value. 2012-09-05 08:57:21 +00:00
vext.ll Vext Lowering was missing opportunities 2012-11-02 21:32:17 +00:00
vfcmp.ll
vfp.ll Add test triples to fix win32 failures. Revert workaround from r161292. 2012-08-08 20:31:37 +00:00
vget_lane.ll Revert r163298 "Optimize codegen for VSETLNi{8,16,32} operating on Q registers." 2012-10-26 23:39:46 +00:00
vhadd.ll
vhsub.ll
vicmp.ll
vld1.ll
vld2.ll
vld3.ll
vld4.ll
vlddup.ll
vldlane.ll
vminmax.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
vselect_imax.ll ARM: Mark VSELECT as 'expand'. 2012-10-12 22:59:21 +00:00
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
weak2.ll
weak.ll
widen-vmovs.ll