llvm-6502/test/CodeGen/ARM
Jakob Stoklund Olesen 9d548d0343 Prevent remat of partial register redefinitions.
An instruction that redefines only part of a larger register can never
be rematerialized since the virtual register value depends on the old
value in other parts of the register.

This was fixed for the inline spiller in r138794.  This patch fixes the
problem for all register allocators, and includes a small test case.

<rdar://problem/10032939>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138944 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01 17:18:50 +00:00
..
2006-11-10-CycleInDAG.ll
2007-01-19-InfiniteLoop.ll Fix test. 2010-11-03 18:21:33 +00:00
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 manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2007-05-07-tailmerge-1.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
2007-05-09-tailmerge-2.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
2007-05-14-InlineAsmCstCrash.ll
2007-05-14-RegScavengerAssert.ll
2007-05-22-tailmerge-3.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
2007-05-23-BadPreIndexedStore.ll
2007-08-15-ReuseBug.ll
2008-02-04-LocalRegAllocBug.ll Remove the local register allocator. 2010-06-15 21:58:33 +00:00
2008-02-29-RegAllocLocal.ll Remove the local register allocator. 2010-06-15 21:58:33 +00:00
2008-03-05-SxtInRegBug.ll
2008-03-07-RegScavengerAssert.ll
2008-04-04-ScavengerAssert.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2008-04-10-ScavengerAssert.ll make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
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 rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
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 Correct some bogus target triples. 2010-05-07 17:03:48 +00:00
2009-05-07-RegAllocLocal.ll Remove the local register allocator. 2010-06-15 21:58:33 +00:00
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 Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-06-30-RegScavengerAssert2.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-06-30-RegScavengerAssert3.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-06-30-RegScavengerAssert4.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-06-30-RegScavengerAssert5.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-06-30-RegScavengerAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-01-CommuteBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-09-asm-p-constraint.ll
2009-07-18-RewriterBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-22-ScavengerAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-22-SchedulerAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-29-VFP3Registers.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-02-RegScavengerAssert-Neon.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-04-RegScavengerAssert-2.ll Set the mtriple in some tests so that they use AAPCS. 2010-06-15 20:42:00 +00:00
2009-08-04-RegScavengerAssert.ll Set the mtriple in some tests so that they use AAPCS. 2010-06-15 20:42:00 +00:00
2009-08-15-RegScavenger-EarlyClobber.ll Set the mtriple in some tests so that they use AAPCS. 2010-06-15 20:42:00 +00:00
2009-08-15-RegScavengerAssert.ll Set the mtriple in some tests so that they use AAPCS. 2010-06-15 20:42:00 +00:00
2009-08-21-PostRAKill2.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-21-PostRAKill3.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2009-08-21-PostRAKill.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-23-linkerprivate.ll Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
2009-08-26-ScalarToVector.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-27-ScalarToVector.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-29-ExtractEltf32.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-29-TooLongSplat.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-31-LSDA-Name.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
2009-08-31-TwoRegShuffle.ll
2009-09-09-AllOnes.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-09-09-fpcmp-ole.ll Correction. Use explicit target triple in the test. 2011-05-12 21:55:34 +00:00
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 Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-09-27-CoalescerBug.ll
2009-09-28-LdStOptiBug.ll User proper libcall names & condcodes while compiling for ARM EABI. 2010-09-28 21:39:26 +00:00
2009-10-02-NEONSubregsBug.ll
2009-10-16-Scope.ll Move arch specific tests in arch specific directories. 2011-02-24 19:06:27 +00:00
2009-10-21-InvalidFNeg.ll
2009-10-27-double-align.ll These tests no longer require linear scan because reserved register coalescing is now universal. 2011-04-05 21:40:41 +00:00
2009-10-30.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
2009-11-01-NeonMoves.ll Remove VMOVDneon and VMOVQ, which are just aliases for VORR. This continues to simplify the path towards an auto-generated disassembler. 2011-07-15 18:46:47 +00:00
2009-11-02-NegativeLane.ll Add NEON VLD1-dup instructions (load 1 element to all lanes). 2010-11-27 06:35:16 +00:00
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 Add a testcase for svn 111208. 2010-08-16 23:44:29 +00:00
2010-03-04-eabi-fp-spill.ll
2010-03-04-stm-undef-addr.ll
2010-03-18-ldm-rtrn.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
2010-04-07-DbgValueOtherTargets.ll If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. 2010-12-06 22:39:26 +00:00
2010-04-09-NeonSelect.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-04-13-v2f64SplitArg.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-04-14-SplitVector.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-04-15-ScavengerDebugValue.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-05-14-IllegalType.ll Allow TargetLowering::getRegClassFor() to be called on illegal types. Also 2010-05-15 02:18:07 +00:00
2010-05-17-FastAllocCrash.ll Avoid allocating the same physreg to multiple virtregs in one instruction. 2010-05-17 17:18:59 +00:00
2010-05-18-LocalAllocCrash.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-05-18-PostIndexBug.ll don't test for codegen of 'store undef' 2011-04-09 02:31:26 +00:00
2010-05-19-Shuffles.ll Handle Neon v2f64 and v2i64 vector shuffles as register copies. 2010-05-20 18:39:53 +00:00
2010-05-20-NEONSpillCrash.ll Add alignment arguments to all the NEON load/store intrinsics. 2010-08-27 17:13:24 +00:00
2010-05-21-BuildVector.ll Add alignment arguments to all the NEON load/store intrinsics. 2010-08-27 17:13:24 +00:00
2010-06-11-vmovdrr-bitcast.ll Add alignment arguments to all the NEON load/store intrinsics. 2010-08-27 17:13:24 +00:00
2010-06-21-LdStMultipleBug.ll Fix PR7421: bug in kill transferring logic. It was ignoring loads / stores which have already been processed. 2010-06-21 21:21:14 +00:00
2010-06-21-nondarwin-tc.ll Temporarily disable tail calls on ARM to work around some linker problems. 2010-08-13 22:43:33 +00:00
2010-06-25-Thumb2ITInvalidIterator.ll Thumb2ITBlockPass: Fix a possible dereference of an invalid iterator. This was 2010-06-25 23:14:54 +00:00
2010-06-29-PartialRedefFastAlloc.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
2010-06-29-SubregImpDefs.ll Fix a register scavenger crash when dealing with undefined subregs. 2010-06-29 18:42:49 +00:00
2010-07-26-GlobalMerge.ll Currently EH lowering code expects typeinfo to be global only. 2010-07-26 18:45:39 +00:00
2010-08-04-EHCrash.ll Testcase for r110248. 2010-08-04 21:56:30 +00:00
2010-08-04-StackVariable.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2010-09-21-OptCmpBug.ll OptimizeCompareInstr should avoid iterating pass the beginning of the MBB when the 'and' instruction is after the comparison. 2010-09-21 23:49:07 +00:00
2010-09-29-mc-asm-header-test.ll Rework some .ARM.attribute work for improved gcc compatibility. 2011-02-07 00:49:53 +00:00
2010-10-19-mc-elf-objheader.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
2010-10-25-ifcvt-ldm.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
2010-11-15-SpillEarlyClobber.ll Fix PR8612 in the standard spiller, take two. 2010-11-16 00:40:59 +00:00
2010-11-29-PrologueBug.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
2010-11-30-reloc-movt.ll Print r_sym with the correct number of bits. 2011-08-04 14:48:27 +00:00
2010-12-07-PEIBug.ll Fix a bad prologue / epilogue codegen bug where the compiler would emit illegal 2010-12-07 23:08:38 +00:00
2010-12-08-tpsoft.ll ARM/MC/ELF TPsoft is now a proper pseudo inst. 2010-12-08 23:14:44 +00:00
2010-12-15-elf-lcomm.ll print st_shndx with the correct number of bits. 2011-08-04 15:50:13 +00:00
2010-12-17-LocalStackSlotCrash.ll During local stack slot allocation, the materializeFrameBaseRegister function 2010-12-17 23:09:14 +00:00
2011-01-19-MergedGlobalDbg.ll Enable GlobalMerge on darwin. 2011-03-23 23:34:19 +00:00
2011-02-04-AntidepMultidef.ll PostRA antidependence breaker unit test for rdar://8959122. 2011-02-08 17:41:12 +00:00
2011-02-07-AntidepClobber.ll PostRA antidependence breaker unit test for PR8986. 2011-02-08 17:42:05 +00:00
2011-03-10-DAGCombineCrash.ll Avoid replacing the value of a directly stored load with the stored value if the load is indexed. rdar://9117613. 2011-03-11 00:48:56 +00:00
2011-03-15-LdStMultipleBug.ll Do not form thumb2 ldrd / strd if the offset is by multiple of 4. rdar://9133587 2011-03-15 18:41:52 +00:00
2011-03-23-PeepholeBug.ll Cmp peephole optimization isn't always safe for signed arithmetics. 2011-03-23 22:52:04 +00:00
2011-04-07-schediv.ll Fix a bunch of ARM tests to be register allocation independent. 2011-05-03 22:31:21 +00:00
2011-04-11-MachineLICMBug.ll Fix a bunch of ARM tests to be register allocation independent. 2011-05-03 22:31:21 +00:00
2011-04-12-AlignBug.ll Fix an obvious problem with an alignment computation. AsmPrinter actually does 2011-04-13 09:02:43 +00:00
2011-04-12-FastRegAlloc.ll Fix a bug where we were counting the alias sets as completely used 2011-04-18 19:26:25 +00:00
2011-04-15-AndVFlagPeepholeBug.ll The AND instruction leaves the V flag unmodified, so it falls victim to the same 2011-04-15 20:45:00 +00:00
2011-04-15-RegisterCmpPeephole.ll Add ORR and EOR to the CMP peephole optimizer. It's hard to get isel to generate 2011-04-15 21:24:38 +00:00
2011-04-26-SchedTweak.ll Be careful about scheduling nodes above previous calls. It increase usages of 2011-04-26 21:31:35 +00:00
2011-04-27-IfCvtBug.ll If converter was being too cute. It look for root BBs (which don't have 2011-04-27 19:32:43 +00:00
2011-05-04-MultipleLandingPadSuccs.ll SjLj EH could produce a machine basic block that legitimately has more than one 2011-05-04 22:54:05 +00:00
2011-06-09-TailCallByVal.ll A CCState was being created without setting whether it is in the Call or Prologue state, 2011-06-09 22:30:07 +00:00
2011-06-16-TailCallByVal.ll Update an insertion point iterator after replacing a return instruction with a 2011-06-17 02:16:43 +00:00
2011-06-29-MergeGlobalsAlign.ll In the ARM global merging pass, allow extraneous alignment specifiers. This pass 2011-06-29 22:24:25 +00:00
2011-07-10-GlobalMergeBug.ll Add a missing test for r134882. 2011-07-11 08:35:17 +00:00
2011-08-02-MergedGlobalDbg.ll Use byte offset, instead of element number, to access merged global. 2011-08-03 01:25:46 +00:00
2011-08-12-vmovqqqq-pseudo.ll With the fix in r138164: "Add <imp-def> operands to QQ and QQQQ stack loads." 2011-08-20 00:34:45 +00:00
2011-08-25-ldmia_ret.ll ARM fix for missing implicit operands on ldmia_ret. 2011-08-25 17:50:53 +00:00
2011-08-29-ldr_pre_imm.ll Add testcase for r138746. 2011-08-29 18:02:40 +00:00
2011-08-29-SchedCycle.ll Change ARM / Thumb2 addc / adde and subc / sube modeling to use physical 2011-08-30 01:34:54 +00:00
addrmode.ll
aliases.ll
align.ll CodeGen: Eliminate a use of getDarwinMajorNumber(). 2011-04-19 20:32:39 +00:00
alloca.ll In the presence of variable sized objects, allocate an emergency spill slot. 2010-07-09 20:27:06 +00:00
argaddr.ll
arguments2.ll
arguments3.ll
arguments4.ll
arguments5.ll
arguments6.ll
arguments7.ll Fix declarations in a few more tests. 2010-04-17 21:29:25 +00:00
arguments8.ll Fix declarations in a few more tests. 2010-04-17 21:29:25 +00:00
arguments_f64_backfill.ll
arguments-nosplit-double.ll
arguments-nosplit-i64.ll
arguments.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
arm-and-tst-peephole.ll Weekly fix of register allocation dependent unit tests. 2011-04-30 01:37:52 +00:00
arm-asm.ll
arm-frameaddr.ll Remove the arm_aapcscc marker from the tests. It is the default 2010-06-15 19:04:29 +00:00
arm-modifier.ll Allow lr in the register options here. 2011-06-27 20:31:01 +00:00
arm-negative-stride.ll
arm-returnaddr.ll These tests no longer require linear scan because reserved register coalescing is now universal. 2011-04-05 21:40:41 +00:00
armv4.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
atomic-64bit.ll Generic expansion for atomic load/store into cmpxchg/atomicrmw xchg; implements 64-bit atomic load/store for ARM. 2011-08-31 18:26:09 +00:00
atomic-cmp.ll Fix an obvious typo which caused an isel assertion. rdar://8964854. 2011-02-07 18:50:47 +00:00
atomic-load-store.ll Atomic load/store on ARM/Thumb. 2011-08-26 02:59:24 +00:00
atomic-op.ll Fix the remaining atomic intrinsics to use the right register classes on Thumb2, 2011-05-27 23:54:00 +00:00
available_externally.ll available_externally (hidden or not) GVs are always accessed via stubs. rdar://9027648. 2011-02-22 06:58:34 +00:00
avoid-cpsr-rmw.ll Use regex to remove false dependencies on register allocation. 2011-08-19 23:10:31 +00:00
bfc.ll
bfi.ll PerformBFICombine - (bfi A, (and B, Mask1), Mask2) -> (bfi A, B, Mask2) iff 2011-06-15 01:12:31 +00:00
bfx.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
bic.ll
bits.ll FileCheck-ize 2010-09-17 21:46:16 +00:00
bswap-inline-asm.ll Recognize inline asm 'rev /bin/bash, ' as a bswap intrinsic call. 2011-01-08 01:24:27 +00:00
bx_fold.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
call_nolink.ll
call-tc.ll Use ARMPseudoExpand for ARM tail calls. 2011-07-08 18:50:22 +00:00
call.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
carry.ll Don't depend on the optimization reverted in r134067. 2011-06-29 14:07:18 +00:00
clz.ll FileCheck-ize a few tests. 2010-10-22 21:55:03 +00:00
code-placement.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
compare-call.ll
constants.ll Simplify printing of ARM shifted immediates. 2011-07-11 16:48:36 +00:00
crash-greedy-v6.ll Fix a crash when building 177.mesa for armv6. 2011-07-18 18:47:13 +00:00
crash-greedy.ll Also add <imp-def> operands for defined and dead super-registers when rewriting. 2011-04-27 17:42:31 +00:00
crash-O0.ll When using ADDri to get the address of a stack object, 255 is a conservative 2010-06-18 20:59:25 +00:00
crash.ll Transfer implicit operands in NEONMoveFixPass. 2011-07-29 00:27:35 +00:00
cse-libcalls.ll
ctors_dtors.ll Be nice to Xcore and the XMOS assembler and avoid quoting section names 2011-03-04 20:03:14 +00:00
ctz.ll
debug-info-blocks.ll FastISel: avoid function calls between the materialization of the constant and its use. 2011-08-18 22:06:10 +00:00
debug-info-branch-folding.ll During post RA scheduling, do not try to chase reg defs. to preserve DBG_VALUEs. This approach has several downsides, for example, it does not work when dbg value is a constant integer, it does not work if reg is defined more than once, it places end of debug value range markers in the wrong place. It even causes misleading incorrect debug info when duplicate DBG_VALUE instructions point to same reg def. 2011-06-02 20:07:12 +00:00
debug-info-d16-reg.ll Test case for r129922 2011-04-21 20:16:43 +00:00
debug-info-qreg.ll Fix DWARF description of Q registers. 2011-04-21 23:22:35 +00:00
debug-info-s16-reg.ll Fix DWARF description of S registers. 2011-04-21 22:48:26 +00:00
debug-info-sreg2.ll Do not use named md nodes to track variables that are completely optimized. This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly. 2011-08-19 23:28:12 +00:00
dg.exp
div.ll These tests are looking for library function names that 2010-11-17 21:57:32 +00:00
dyn-stackalloc.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
eh-resume-darwin.ll On Darwin ARM, set the UNWIND_RESUME libcall to _Unwind_SjLj_Resume. 2011-05-29 19:50:32 +00:00
extloadi1.ll
fabss.ll Inflate register classes after coalescing. 2011-08-09 18:19:41 +00:00
fadds.ll Avoid write-after-write issue hazards for Cortex-A9. 2011-04-19 18:11:45 +00:00
fast-isel-crash2.ll And fix the test in r132194. 2011-05-27 18:14:28 +00:00
fast-isel-crash.ll Add a testcase for my last checkin. 2011-01-27 06:01:17 +00:00
fast-isel-pred.ll Fix this test up a bit. 2011-03-14 21:05:21 +00:00
fast-isel-redefinition.ll Fix run-line, again. :( 2011-04-29 21:33:03 +00:00
fast-isel-static.ll Be less aggressive about hinting in RAFast. 2011-06-13 03:26:46 +00:00
fast-isel.ll Simplify printing of ARM shifted immediates. 2011-07-11 16:48:36 +00:00
fcopysign.ll Fix a bunch of ARM tests to be register allocation independent. 2011-05-03 22:31:21 +00:00
fdivs.ll Avoid write-after-write issue hazards for Cortex-A9. 2011-04-19 18:11:45 +00:00
fixunsdfdi.ll
flag-crash.ll It's possible that a flag is added to the SDNode that points back to the 2010-06-24 22:00:37 +00:00
fmacs.ll This patch combines several changes from Evan Cheng for rdar://8659675. 2011-04-19 18:11:57 +00:00
fmdrr-fmrrd.ll
fmscs.ll Add some missing isel predicates on def : pat patterns to avoid generating VFP vmla / vmls (they cause stalls). Disabling them in isel is properly not a right solution, I'll look into a proper solution next. 2010-11-12 20:32:20 +00:00
fmuls.ll Avoid write-after-write issue hazards for Cortex-A9. 2011-04-19 18:11:45 +00:00
fnegs.ll Convert -enable-sched-cycles and -enable-sched-hazard to -disable 2011-01-21 05:51:33 +00:00
fnmacs.ll Add some missing isel predicates on def : pat patterns to avoid generating VFP vmla / vmls (they cause stalls). Disabling them in isel is properly not a right solution, I'll look into a proper solution next. 2010-11-12 20:32:20 +00:00
fnmscs.ll Make the test less likely to fail with minor changes. 2011-05-03 19:09:32 +00:00
fnmul.ll
fnmuls.ll Fix an unnecessary XFAIL 2010-09-02 20:19:24 +00:00
fold-const.ll Add a testcase for r135123. 2011-07-14 06:23:09 +00:00
formal.ll
fp16.ll
fp_convert.ll Inflate register classes after coalescing. 2011-08-09 18:19:41 +00:00
fp-arg-shuffle.ll Split a store of a VMOVDRR into two integer stores to avoid mixing NEON and ARM 2011-04-12 02:24:17 +00:00
fp.ll Simplify printing of ARM shifted immediates. 2011-07-11 16:48:36 +00:00
fparith.ll
fpcmp_ueq.ll These tests are looking for library function names that 2010-11-17 21:57:32 +00:00
fpcmp-opt.ll LDRD/STRD instructions should print both Rt and Rt2 in the asm string. 2011-04-01 20:26:57 +00:00
fpcmp.ll
fpconsts.ll Convert -enable-sched-cycles and -enable-sched-hazard to -disable 2011-01-21 05:51:33 +00:00
fpconv.ll These tests are looking for library function names that 2010-11-17 21:57:32 +00:00
fpmem.ll
fpow.ll
fpowi.ll Correct bogus module triple specifications. 2010-08-30 10:48:29 +00:00
fptoint.ll
fsubs.ll
global-merge.ll Enable GlobalMerge on darwin. 2011-03-23 23:34:19 +00:00
globals.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
hardfloat_neon.ll
hello.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
hidden-vis-2.ll
hidden-vis-3.ll Start function numbering at 0. 2010-04-17 16:29:15 +00:00
hidden-vis.ll
iabs.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
ifcvt1.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
ifcvt2.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
ifcvt3.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
ifcvt4.ll Remove underscore that's breaking linux buildbots. 2011-08-03 23:13:01 +00:00
ifcvt5.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
ifcvt6.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
ifcvt7.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
ifcvt8.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
ifcvt9.ll
ifcvt10.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
ifcvt11.ll Two sets of changes. Sorry they are intermingled. 2010-11-03 00:45:17 +00:00
illegal-vector-bitcast.ll
imm.ll
indirectbr.ll Use MachineBranchProbabilityInfo in If-Conversion instead of its own heuristics. 2011-08-03 22:34:43 +00:00
inlineasm2.ll
inlineasm3.ll Add support for the 'Q' constraint. 2011-07-29 21:18:58 +00:00
inlineasm4.ll Add support for the R and Q constraints. 2011-08-10 16:26:42 +00:00
inlineasm-imm-arm.ll
inlineasm.ll llvm can't correctly support 'H', 'Q' and 'R' modifiers. Just mark it an error. 2010-05-27 22:08:38 +00:00
insn-sched1.ll Remove more tail calls. 2010-06-04 01:01:24 +00:00
int-to-fp.ll Add Neon SINT_TO_FP and UINT_TO_FP lowering from v4i16 to v4f32. Fixes 2011-03-29 21:41:55 +00:00
intrinsics.ll Add a few ARM coprocessor intrinsics. Testcases included 2011-05-03 17:29:22 +00:00
ispositive.ll Update tests to handle MC-inst instruction printing of shift operations. The 2010-09-17 21:58:46 +00:00
jumptable-label.ll Testcase for previous commit. 2011-06-15 21:18:51 +00:00
large-stack.ll
ldm.ll Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side- 2011-03-11 22:51:41 +00:00
ldr_ext.ll
ldr_frame.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
ldr_post.ll
ldr_pre.ll
ldr.ll
ldrd.ll Weekly fix of register allocation dependent unit tests. 2011-04-30 01:37:52 +00:00
ldst-f32-2-i32.ll Fix a bunch of ARM tests to be register allocation independent. 2011-05-03 22:31:21 +00:00
ldstrexd.ll Add support for ARM ldrexd/strexd intrinsics. They both use i32 register pairs 2011-05-28 04:07:29 +00:00
load-global.ll Last round of fixes for movw + movt global address codegen. 2011-01-21 18:55:51 +00:00
load.ll
long_shift.ll Cmp peephole optimization isn't always safe for signed arithmetics. 2011-03-23 22:52:04 +00:00
long-setcc.ll
long.ll Simplify printing of ARM shifted immediates. 2011-07-11 16:48:36 +00:00
lsr-code-insertion.ll Weekly fix of register allocation dependent unit tests. 2011-04-30 01:37:52 +00:00
lsr-on-unrolled-loops.ll remove a bunch of CHECK lines that aren't checking what 2011-04-09 06:31:06 +00:00
lsr-scale-addr-mode.ll
lsr-unfolded-offset.ll Be more aggressive about following hints. 2011-07-08 20:46:18 +00:00
machine-cse-cmp.ll Re-apply 105308 with fix. 2010-06-04 23:28:13 +00:00
machine-licm.ll Last round of fixes for movw + movt global address codegen. 2011-01-21 18:55:51 +00:00
mem.ll
memcpy-inline.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
memfunc.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
mls.ll
movt-movw-global.ll Don't use movw / movt for iOS static codegen for now to workaround some tools issues. rdar://9514789 2011-05-27 20:11:27 +00:00
movt.ll
mul_const.ll Update tests to handle MC-inst instruction printing of shift operations. The 2010-09-17 21:58:46 +00:00
mul.ll
mulhi.ll
mult-alt-generic-arm.ll Inline asm mult-alt constraint tests. 2010-11-02 23:01:44 +00:00
mvn.ll
neon_arith1.ll
neon_div.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
neon_ld1.ll
neon_ld2.ll
neon_minmax.ll
neon_shift.ll Narrow right shifts need to encode their immediates differently from a normal 2011-03-01 01:00:59 +00:00
pack.ll Remove duplicate test. 2010-10-22 22:04:28 +00:00
peephole-bitcast.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
phi.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
pr3502.ll
prefetch.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
private.ll make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
reg_sequence.ll Remove VMOVDneon and VMOVQ, which are just aliases for VORR. This continues to simplify the path towards an auto-generated disassembler. 2011-07-15 18:46:47 +00:00
ret0.ll
ret_arg1.ll
ret_arg2.ll
ret_arg3.ll
ret_arg4.ll
ret_arg5.ll
ret_f32_arg2.ll
ret_f32_arg5.ll
ret_f64_arg2.ll
ret_f64_arg_reg_split.ll
ret_f64_arg_split.ll
ret_f64_arg_stack.ll
ret_i64_arg2.ll
ret_i64_arg3.ll
ret_i64_arg_split.ll
ret_i128_arg2.ll
ret_void.ll
rev.ll Teach dag combine to match halfword byteswap patterns. 2011-06-21 06:01:08 +00:00
sbfx.ll add a simple dag combine to replace trivial shl+lshr with 2010-04-15 05:28:43 +00:00
section.ll FileCheck-ize and simplify RUN lines. 2011-07-02 20:43:11 +00:00
select_xform.ll Simplify printing of ARM shifted immediates. 2011-07-11 16:48:36 +00:00
select-imm.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
select.ll Thumb assembly parsing and encoding for ADR. 2011-08-17 20:37:40 +00:00
shifter_operand.ll Be careful about scheduling nodes above previous calls. It increase usages of 2011-04-26 21:31:35 +00:00
shuffle.ll Testcase for r127630. 2011-03-15 01:49:08 +00:00
smul.ll FileCheck'ify test. 2011-04-01 03:36:33 +00:00
spill-q.ll Add ARM patterns to match EXTRACT_SUBVECTOR nodes. 2011-01-07 04:59:04 +00:00
stack-frame.ll
stm.ll Fix a bunch of ARM tests to be register allocation independent. 2011-05-03 22:31:21 +00:00
str_post.ll
str_pre-2.ll ARM push of a single register encodes as pre-indexed STR. 2011-08-11 18:07:11 +00:00
str_pre.ll
str_trunc.ll
sub.ll Simplify printing of ARM shifted immediates. 2011-07-11 16:48:36 +00:00
subreg-remat.ll Prevent remat of partial register redefinitions. 2011-09-01 17:18:50 +00:00
sxt_rot.ll FileCheck'ize test. 2011-07-26 20:49:44 +00:00
t2-imm.ll Fix borken test 2010-08-30 23:41:49 +00:00
tail-opts.ll Last round of fixes for movw + movt global address codegen. 2011-01-21 18:55:51 +00:00
thread_pointer.ll
thumb1-varalloc.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
tls1.ll
tls2.ll
tls3.ll
trap.ll Change -arm-trap-func= into a non-arm specific option. Now Intrinsic::trap is lowered into a call to the specified trap function at sdisel time. 2011-04-08 21:37:21 +00:00
trunc_ldr.ll
truncstore-dag-combine.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
tst_teq.ll
uint64tof64.ll
umulo-32.ll Rewrite the expander for umulo/smulo to remember to sign extend the input 2011-04-20 01:19:45 +00:00
unaligned_load_store.ll Weekly fix of register allocation dependent unit tests. 2011-04-30 01:37:52 +00:00
undef-sext.ll Minor optimization. sign-ext/anyext of undef is still undef. 2011-03-14 18:15:55 +00:00
unord.ll
uxt_rot.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
uxtb.ll
va_arg.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
vaba.ll Replace NEON vabdl, vaba, and vabal intrinsics with combinations of the 2010-09-03 01:35:08 +00:00
vabd.ll Replace NEON vabdl, vaba, and vabal intrinsics with combinations of the 2010-09-03 01:35:08 +00:00
vabs.ll
vadd.ll Remove NEON vaddl, vaddw, vsubl, and vsubw intrinsics. Instead, use llvm 2010-08-29 05:57:34 +00:00
vargs_align.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
vargs.ll
vbits.ll Add missing colon. 2010-11-29 22:39:38 +00:00
vbsl-constant.ll Fix a typo in an ARM-specific DAG combine. This fixes <rdar://problem/9278274>. 2011-04-13 21:01:19 +00:00
vbsl.ll
vceq.ll Add support for ARM's specialized vector-compare-against-zero instructions. 2010-11-08 23:21:22 +00:00
vcge.ll Fix result type of Neon floating-point comparisons against zero. 2010-12-18 00:04:33 +00:00
vcgt.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
vcnt.ll
vcombine.ll Add testcases for PR8411 (vget_low and vget_high implemented as shuffles). 2011-01-07 06:44:14 +00:00
vcvt_combine.ll The Neon VCVT (between floating-point and fixed-point, Advanced SIMD) 2011-06-24 19:23:04 +00:00
vcvt.ll Add Neon VCVT instructions for f32 <-> f16 conversions. 2010-12-15 22:14:12 +00:00
vdiv_combine.ll The Neon VCVT (between floating-point and fixed-point, Advanced SIMD) 2011-06-24 19:23:04 +00:00
vdup.ll Add float patterns for Neon vld1-lane/dup and vst1-lane operations. 2010-12-10 22:13:32 +00:00
vector-DAGCombine.ll Prevent ARM DAG Combiner from doing an AND or OR combine on an illegal vector type (vectors of size 3). Also included test cases. 2011-04-07 15:24:20 +00:00
vext.ll Some minor cleanups based on feedback. 2011-03-15 20:47:26 +00:00
vfcmp.ll
vfp.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
vget_lane.ll Add codegen patterns for VST1-lane instructions. Radar 8599955. 2010-11-03 16:24:53 +00:00
vhadd.ll
vhsub.ll
vicmp.ll
vld1.ll Do not lose mem_operands while lowering VLD / VST intrinsics. 2011-04-19 00:04:03 +00:00
vld2.ll Add codegen support for using post-increment NEON load/store instructions. 2011-02-07 17:43:21 +00:00
vld3.ll Fix ARM tests to be register allocator independent. 2011-03-31 22:14:03 +00:00
vld4.ll Add codegen support for using post-increment NEON load/store instructions. 2011-02-07 17:43:21 +00:00
vlddup.ll Add codegen support for using post-increment NEON load/store instructions. 2011-02-07 17:43:21 +00:00
vldlane.ll Teach LiveInterval::isZeroLength about null SlotIndexes. 2011-05-16 23:50:05 +00:00
vminmax.ll
vmla.ll Remove DAG combiner patch to fold vector splats. Instcombiner does it now. 2010-10-29 22:03:02 +00:00
vmls.ll Remove NEON vmull, vmlal, and vmlsl intrinsics, replacing them with multiply, 2010-09-01 23:50:19 +00:00
vmov.ll NEON does not support truncating vector stores. Radar 8598391. 2010-11-01 18:31:39 +00:00
vmul.ll Typos. 2011-06-16 01:24:24 +00:00
vneg.ll Fix tests to use fadd, fsub, and fmul, instead of add, sub, and mul, 2010-05-03 22:36:46 +00:00
vpadal.ll
vpadd.ll Add an optimization that looks for a specific pair-wise add pattern and generates a vpaddl instruction instead of scalarizing the add. 2011-06-14 23:48:48 +00:00
vpminmax.ll
vqadd.ll
vqdmul.ll make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
vqshl.ll
vqshrn.ll
vqsub.ll
vrec.ll
vrev.ll Handle perfect shuffle case that generates a vrev for vectors of floats. 2011-05-18 21:44:54 +00:00
vshift.ll
vshiftins.ll
vshl.ll
vshll.ll
vshrn.ll
vsra.ll
vst1.ll Add codegen support for using post-increment NEON load/store instructions. 2011-02-07 17:43:21 +00:00
vst2.ll Add codegen support for using post-increment NEON load/store instructions. 2011-02-07 17:43:21 +00:00
vst3.ll Make this test disable fast isel as it's not needed. 2011-04-25 22:39:46 +00:00
vst4.ll Add codegen support for using post-increment NEON load/store instructions. 2011-02-07 17:43:21 +00:00
vstlane.ll Fixes a bug in the DAGCombiner. LoadSDNodes have two values (data, chain). 2011-05-11 14:40:50 +00:00
vsub.ll Remove NEON vaddl, vaddw, vsubl, and vsubw intrinsics. Instead, use llvm 2010-08-29 05:57:34 +00:00
vtbl.ll
vtrn.ll Allow more cases of undef shuffle indices and add tests for them. 2010-08-17 05:54:34 +00:00
vuzp.ll Allow more cases of undef shuffle indices and add tests for them. 2010-08-17 05:54:34 +00:00
vzip.ll Allow more cases of undef shuffle indices and add tests for them. 2010-08-17 05:54:34 +00:00
weak2.ll
weak.ll