..
2002-12-23-LocalRAProblem.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2002-12-23-SubProblem.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2003-08-03-CallArgLiveRanges.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2003-08-23-DeadBlockTest.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2003-11-03-GlobalBool.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2004-02-12-Memcpy.ll
Fix a number of byval / memcpy / memset related codegen issues.
2008-08-21 21:00:15 +00:00
2004-02-13-FrameReturnAddress.ll
Targets sometimes assign fixed stack object to spill certain callee-saved
2009-07-09 06:53:48 +00:00
2004-02-14-InefficientStackPointer.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2004-02-22-Casts.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2004-03-30-Select-Max.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2004-04-09-SameValueCoalescing.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2004-04-13-FPCMOV-Crash.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2004-06-10-StackifierCrash.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2004-10-08-SelectSetCCFold.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
2005-01-17-CycleInDAG.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2005-02-14-IllegalAssembler.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2005-05-08-FPStackifierPHI.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2006-01-19-ISelFoldingBug.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-03-01-InstrSchedBug.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-03-02-InstrSchedBug.ll
Remove -unwind-tables-optional everywhere, since
2008-04-14 17:56:54 +00:00
2006-04-04-CrossBlockCrash.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-04-27-ISelFoldingBug.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
2006-05-01-SchedCausingSpills.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-05-02-InstrSched1.ll
Remove -unwind-tables-optional everywhere, since
2008-04-14 17:56:54 +00:00
2006-05-02-InstrSched2.ll
Remove -unwind-tables-optional everywhere, since
2008-04-14 17:56:54 +00:00
2006-05-08-CoalesceSubRegClass.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-05-08-InstrSched.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-05-11-InstrSched.ll
Change these tests to use regular loads instead of llvm.x86.sse2.loadu.dq.
2009-02-16 00:44:23 +00:00
2006-05-17-VectorArg.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
2006-05-22-FPSetEQ.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-05-25-CycleInDAG.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2006-07-10-InlineAsmAConstraint.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-07-12-InlineAsmQConstraint.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-07-19-ATTAsm.ll
Do not use buggy llvm-gcc to generate testcases.
2009-01-22 18:28:11 +00:00
2006-07-20-InlineAsm.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-07-28-AsmPrint-Long-As-Pointer.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-07-31-SingleRegClass.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
2006-08-07-CycleInDAG.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-08-16-CycleInDAG.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-08-21-ExtraMovInst.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-09-01-CycleInDAG.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-10-02-BoolRetCrash.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-10-07-ScalarSSEMiscompile.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-10-09-CycleInDAG.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-10-10-FindModifiedNodeSlotBug.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-10-12-CycleInDAG.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-10-13-CycleInDAG.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-10-19-SwitchUnnecessaryBranching.ll
eliminate some uses of prcontext. Any help here would be appreciated :)
2009-08-30 21:45:23 +00:00
2006-11-12-CSRetCC.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
2006-11-17-IllegalMove.ll
add nounwind
2009-07-12 00:46:16 +00:00
2006-11-27-SelectLegalize.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2006-11-28-Memcpy.ll
test doesn't need eh info
2008-06-27 03:14:20 +00:00
2006-12-19-IntelSyntax.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2007-01-08-InstrSched.ll
eliminate some uses of prcontext. Any help here would be appreciated :)
2009-08-30 21:45:23 +00:00
2007-01-13-StackPtrIndex.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-01-29-InlineAsm-ir.ll
test that the 'ir' constraint works.
2007-01-29 23:55:20 +00:00
2007-02-04-OrAddrMode.ll
Change the x86 assembly output to use tab characters to separate the
2007-07-31 20:11:57 +00:00
2007-02-19-LiveIntervalAssert.ll
Doh. .cpp -> .ll
2007-05-14 20:43:28 +00:00
2007-02-25-FastCCStack.ll
new testcase
2007-02-25 22:23:15 +00:00
2007-03-01-SpillerCrash.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-03-15-GEP-Idx-Sink.ll
Convert tests using "| wc -l | grep ..." to use the count script.
2007-08-15 13:36:28 +00:00
2007-03-16-InlineAsm.ll
Remove use of implementation keyword.
2007-03-28 02:38:26 +00:00
2007-03-18-LiveIntervalAssert.ll
Add test for PR1259.
2007-05-21 23:30:33 +00:00
2007-03-24-InlineAsmMultiRegConstraint.ll
new testcase
2007-03-25 02:17:58 +00:00
2007-03-24-InlineAsmPModifier.ll
For PR1319: Upgrade to new test harness.
2007-04-15 22:20:47 +00:00
2007-03-24-InlineAsmVectorOp.ll
For PR1319: Upgrade to new test harness.
2007-04-15 22:20:47 +00:00
2007-03-24-InlineAsmXConstraint.ll
For PR1319: Upgrade to new test harness.
2007-04-15 22:20:47 +00:00
2007-03-26-CoalescerBug.ll
Avoid commuting a def MI in order to coalesce a copy instruction away if any use of the same val# is a copy instruction that has already been coalesced.
2008-03-26 19:03:01 +00:00
2007-04-08-InlineAsmCrash.ll
update for new inline asm syntax
2007-04-28 05:20:26 +00:00
2007-04-11-InlineAsmVectorResult.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-04-17-LiveIntervalAssert.ll
New crasher test case.
2007-04-18 02:35:10 +00:00
2007-04-24-Huge-Stack.ll
PR1348 test case.
2007-04-26 01:14:14 +00:00
2007-04-24-VectorCrash.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-04-25-MMX-PADDQ.ll
Enable -coalescer-commute-instrs by default.
2008-02-26 20:40:22 +00:00
2007-04-27-InlineAsm-IntMemInput.ll
new testcase for PR1356
2007-04-28 06:41:13 +00:00
2007-05-05-VecCastExpand.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
2007-05-07-InvokeSRet.ll
Try fixing it again.
2007-07-19 23:53:29 +00:00
2007-05-14-LiveIntervalAssert.ll
For PR1553:
2007-07-19 23:13:04 +00:00
2007-05-15-maskmovq.ll
testcase for maskmovq
2007-05-16 06:14:10 +00:00
2007-05-17-ShuffleISelBug.ll
Fix sse2.psrl.w and sse2.psrl.q definitions.
2008-01-09 02:16:44 +00:00
2007-06-04-tailmerge4.ll
Add an explicit -asm-verbose to these tests, to make it
2009-03-31 18:20:47 +00:00
2007-06-04-X86-64-CtorAsmBugs.ll
New test.
2007-06-05 01:45:08 +00:00
2007-06-05-LSR-Dominator.ll
new testcase for PR1495
2007-06-06 01:21:46 +00:00
2007-06-14-branchfold.ll
Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away.
2008-04-10 02:32:10 +00:00
2007-06-15-IntToMMX.ll
Allow a GR64 to be moved into an MMX register via the "movd" instruction.
2007-07-04 00:19:54 +00:00
2007-06-28-X86-64-isel.ll
Remove double pipes in RUN commandlines.
2008-06-10 15:11:36 +00:00
2007-06-29-DAGCombinerBug.ll
Remove double pipes in RUN commandlines.
2008-06-10 15:11:36 +00:00
2007-06-29-VecFPConstantCSEBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-07-03-GR64ToVR64.ll
Fix PR2287. Darwin passes mmx values in register in 64-mode, not Linux.
2008-05-06 07:23:50 +00:00
2007-07-10-StackerAssert.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-07-18-Vector-Extract.ll
Change the x86 assembly output to use tab characters to separate the
2007-07-31 20:11:57 +00:00
2007-08-01-LiveVariablesBug.ll
New test. Bogus implicit-def prevented a copy from being coalesced.
2007-08-01 20:26:40 +00:00
2007-08-09-IllegalX86-64Asm.ll
Now capable of rematerializing coalesced live intervals.
2007-08-13 23:54:16 +00:00
2007-08-10-SignExtSubreg.ll
Revert 67132. This is breaking some objective-c apps.
2009-03-25 20:20:11 +00:00
2007-08-13-AppendingLinkage.ll
Fix PR1607
2007-08-13 18:42:37 +00:00
2007-08-13-SpillerReuse.ll
For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries.
2008-09-04 22:59:58 +00:00
2007-09-03-X86-64-EhSelector.ll
Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register
2007-09-07 11:39:35 +00:00
2007-09-05-InvalidAsm.ll
Fix a bug in X86InstrInfo::convertToThreeAddress that caused it to codegen:
2007-09-06 00:14:41 +00:00
2007-09-06-ExtWeakAliasee.ll
Proper handle case, when aliasee is external weak symbol referenced only by alias itself.
2007-09-06 17:21:48 +00:00
2007-09-17-ObjcFrameEH.ll
Remove -unwind-tables-optional everywhere, since
2008-04-14 17:56:54 +00:00
2007-09-18-ShuffleXformBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-09-27-LDIntrinsics.ll
Add sqrt and powi intrinsics for long double.
2007-09-28 01:08:20 +00:00
2007-10-04-AvoidEFLAGSCopy.ll
Specify a target so that this tests tests what it's intended to test.
2008-05-27 17:55:57 +00:00
2007-10-05-3AddrConvert.ll
Teach LSR sink to sink the immediate portion of the common expression back into uses if they fit in address modes of all the uses.
2009-02-21 02:06:47 +00:00
2007-10-12-CoalesceExtSubReg.ll
Doh.
2007-10-12 09:10:27 +00:00
2007-10-12-SpillerUnfold1.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-10-12-SpillerUnfold2.ll
New tests.
2007-10-13 03:10:54 +00:00
2007-10-14-CoalescerCrash.ll
Fix run line.
2007-10-15 16:35:13 +00:00
2007-10-15-CoalescerCrash.ll
Fix PR1729: watch out for val# with no def.
2007-10-15 18:33:50 +00:00
2007-10-16-CoalescerCrash.ll
Yet another test case for extract_subreg coalescing crash.
2007-10-17 02:15:06 +00:00
2007-10-16-fp80_select.ll
New test for svn rev 43033, radar 5538745.
2007-10-16 18:10:14 +00:00
2007-10-16-IllegalAsm.ll
Fix PR1734.
2007-10-16 19:29:47 +00:00
2007-10-17-IllegalAsm.ll
Really fix PR1734. Carefully track which register uses are sub-register uses by
2007-10-18 07:49:59 +00:00
2007-10-19-SpillerUnfold.ll
New test case.
2007-10-19 22:05:00 +00:00
2007-10-28-inlineasm-q-modifier.ll
Add support for the x86-64 'q' regigster modifier, and add support for the
2007-10-29 03:09:07 +00:00
2007-10-29-ExtendSetCC.ll
Enable more fold (sext (load x)) -> (sext (truncate (sextload x)))
2007-10-29 19:58:20 +00:00
2007-10-30-LSRCrash.ll
It's not safe to tell SplitCriticalEdge to merge identical edges. It may delete the phi instruction that's being processed.
2007-10-30 22:27:26 +00:00
2007-10-31-extractelement-i64.ll
Test that expand_vector_elt(v2i64) works in 32-bit mode.
2007-11-01 02:38:24 +00:00
2007-11-01-ISelCrash.ll
Add run line.
2007-11-02 17:36:58 +00:00
2007-11-02-BadAsm.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-11-03-x86-64-q-constraint.ll
Fix PR1763 by allowing the 'q' constraint to work with 64-bit
2007-11-04 06:51:12 +00:00
2007-11-04-LiveIntervalCrash.ll
Doh. PR1187 -> PR1766.
2007-11-05 01:00:44 +00:00
2007-11-04-LiveVariablesBug.ll
Handle cases where a register and one of its super-register are both marked as
2007-11-05 03:11:55 +00:00
2007-11-04-rip-immediate-constant.ll
Fix PR1761 by not printing (rip) suffix when in -static mode.
2007-11-04 19:23:28 +00:00
2007-11-06-InstrSched.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-11-07-MulBy4.ll
If both parts of smul_lohi, etc. are used, don't simplify. If only one part is used, try simplify it.
2007-11-08 09:25:29 +00:00
2007-11-14-Coalescer-Bug.ll
Enable cross register class coalescing.
2009-07-18 02:10:10 +00:00
2007-11-30-LoadFolding-Bug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-11-30-TestLoadFolding.ll
Remove another -disable-correct-folding use.
2008-08-05 18:05:58 +00:00
2007-12-11-FoldImpDefSpill.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2007-12-16-BURRSchedCrash.ll
FIX for PR1799: When a load is unfolded from an instruction, check if it is a new node. If not, do not create a new SUnit.
2007-12-18 08:42:10 +00:00
2007-12-18-LoadCSEBug.ll
Fix PR1872: SrcValue and SrcValueOffset should not be used to compute load / store node id.
2007-12-18 19:38:14 +00:00
2008-01-08-IllegalCMP.ll
Crashes llc when using Chris's new legalization logic.
2008-01-08 21:51:53 +00:00
2008-01-08-SchedulerCrash.ll
Add CMP32mr and friends to the load-unfolding table. Among
2008-03-25 16:53:19 +00:00
2008-01-09-LongDoubleSin.ll
Output sinl for a long double FSIN node, not sin.
2008-01-10 10:28:30 +00:00
2008-01-16-FPStackifierAssert.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-01-16-InvalidDAGCombineXform.ll
Fixes a nasty dag combiner bug that causes a bunch of tests to fail at -O0.
2008-01-16 23:11:54 +00:00
2008-01-16-Trampoline.ll
Trampoline support for x86-64. This looks like
2008-01-16 22:55:25 +00:00
2008-01-25-EmptyFunction.ll
Add target triples to these so they don't fail on linux.
2008-01-29 06:26:07 +00:00
2008-02-05-ISelCrash.ll
Fix PR1975: dag isel emitter produces patterns that isel wrong flag result.
2008-02-05 22:50:29 +00:00
2008-02-06-LoadFoldingBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-02-08-LoadFoldingBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-02-14-BitMiscompile.ll
Fix a miscompilation from Dan's recent apintification.
2008-02-14 18:48:56 +00:00
2008-02-18-TailMergingBug.ll
Considering predecessors of exit blocks gets
2008-07-01 21:50:49 +00:00
2008-02-20-InlineAsmClobber.ll
Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies.
2009-03-23 08:01:15 +00:00
2008-02-22-LocalRegAllocBug.ll
Really. Why doesn't every arch support MMX?
2008-02-23 00:56:14 +00:00
2008-02-22-ReMatBug.ll
Don't use special heuristics for nodes with no data predecessors
2009-02-11 21:29:39 +00:00
2008-02-25-InlineAsmBug.ll
Fix PR2076. CodeGenPrepare now sinks address computation for inline asm memory
2008-02-26 02:42:37 +00:00
2008-02-25-X86-64-CoalescerBug.ll
This is possible:
2008-02-26 08:03:41 +00:00
2008-02-26-AsmDirectMemOp.ll
Fix for pr2093: direct operands aren't necessarily addresses, so don't
2008-02-26 18:37:49 +00:00
2008-02-27-DeadSlotElimBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-02-27-PEICrash.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-03-06-frem-fpstack.ll
mark frem as expand for all legal fp types on x86, regardless of whether
2008-03-07 06:36:32 +00:00
2008-03-07-APIntBug.ll
A test case I forgot to check in.
2008-03-13 06:42:46 +00:00
2008-03-10-RegAllocInfLoop.ll
Experimental scheduler change to schedule / coalesce the copies added for function livein's. Take 2008-03-10-RegAllocInfLoop.ll, the schedule looks like this after these copies are inserted:
2008-03-12 22:19:41 +00:00
2008-03-12-ThreadLocalAlias.ll
Testcase for PR2137
2008-03-11 22:43:42 +00:00
2008-03-13-TwoAddrPassCrash.ll
New test case.
2008-03-13 08:05:02 +00:00
2008-03-14-SpillerCrash.ll
Fix PR2138. Apparently any modification to a std::multimap (including remove entries for a different key) can invalidate multimap iterators.
2008-03-14 20:44:01 +00:00
2008-03-18-CoalescerBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-03-19-DAGCombinerBug.ll
Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, result_size - n - m)))
2008-03-20 02:18:41 +00:00
2008-03-23-DarwinAsmComments.ll
Add an explicit -asm-verbose to these tests, to make it
2009-03-31 18:20:47 +00:00
2008-03-25-TwoAddrPassBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-03-31-SpillerFoldingBug.ll
It's not safe to fold a load from GV stub or constantpool into a two-address use.
2008-03-31 23:19:51 +00:00
2008-04-02-unnamedEH.ll
Check for the correct unnamed name.
2009-07-14 00:53:58 +00:00
2008-04-08-CoalescerCrash.ll
Missed a hasInterval check.
2008-04-09 01:30:15 +00:00
2008-04-09-BranchFolding.ll
Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away.
2008-04-10 02:32:10 +00:00
2008-04-15-LiveVariableBug.ll
Second attempt:
2009-04-29 00:15:41 +00:00
2008-04-16-CoalescerBug.ll
Fix a sub-register indice propagation bug.
2008-04-17 00:06:42 +00:00
2008-04-16-ReMatBug.ll
Don't forget about sub-register indices when rematting instructions.
2008-04-16 23:44:44 +00:00
2008-04-17-CoalescerBug.ll
Update the remaining tests not to use -disable-correct-folding, and remove two
2008-08-05 18:19:14 +00:00
2008-04-24-MemCpyBug.ll
Fix bug in x86 memcpy / memset lowering. If there are trailing bytes not handled by rep instructions, a new memcpy / memset is introduced for them. However, since source / destination addresses are already adjusted, their offsets should be zero.
2008-04-25 00:26:43 +00:00
2008-04-24-pblendw-fold-crash.ll
Loosen up an assertion to allow intrinsics. I really have no
2008-04-25 05:13:01 +00:00
2008-04-26-Asm-Optimize-Imm.ll
Implement a signficant optimization for inline asm:
2008-04-27 00:37:18 +00:00
2008-04-28-CoalescerBug.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
2008-04-28-CyclicSchedUnit.ll
Add -march=x86.
2008-04-28 23:31:41 +00:00
2008-05-01-InvalidOrdCompare.ll
specify an arch for non-x86 hosts.
2008-05-02 15:11:58 +00:00
2008-05-09-PHIElimBug.ll
If all sources of a PHI node are defined by an implicit_def, just emit an implicit_def instead of a copy.
2008-05-10 00:17:50 +00:00
2008-05-09-ShuffleLoweringBug.ll
When transforming a vector_shuffle to a load, the base address must not be an undef.
2008-05-10 06:46:49 +00:00
2008-05-12-tailmerge-5.ll
New test for tail merging
2008-05-12 22:59:44 +00:00
2008-05-21-CoalescerBug.ll
Second attempt:
2009-04-29 00:15:41 +00:00
2008-05-22-FoldUnalignedLoad.ll
Bug: rcpps can only folds a load if the address is 16-byte aligned. Fixed many 'ps' load folding patterns in X86InstrSSE.td which are missing the proper alignment checks.
2008-05-23 00:37:07 +00:00
2008-05-28-CoalescerBug.ll
Fix PR2289: vr defined by multiple implicit_def as result of coalescing.
2008-05-28 17:40:10 +00:00
2008-05-28-LocalRegAllocBug.ll
Teach local register allocator to deal with landing pad MBB's.
2008-05-28 17:22:32 +00:00
2008-06-04-MemCpyLoweringBug.ll
Fix a memcpy lowering bug. Even though the memcpy alignment is smaller than the desired alignment, the frame destination alignment may still be larger than the desired alignment. Don't change its alignment to something smaller.
2008-06-04 23:37:54 +00:00
2008-06-13-NotVolatileLoadStore.ll
Disable some DAG combiner optimizations that may be
2008-06-13 19:07:40 +00:00
2008-06-13-VolatileLoadStore.ll
Make test work on non-x86 machines (like my G4 PPC).
2008-06-23 06:16:31 +00:00
2008-06-16-SubregsBug.ll
Do not issue identity copies.
2008-06-16 22:52:53 +00:00
2008-06-18-BadShuffle.ll
Fix a bug with <8 x i16> shuffle lowering on X86 where parts of the
2008-06-19 06:09:51 +00:00
2008-06-25-VecISelBug.ll
- Fix a x86 vector isel bug: illegal transformation of a vector_shuffle into a
2008-06-25 20:52:59 +00:00
2008-07-07-DanglingDeadInsts.ll
Fix two serious LSR bugs.
2008-07-07 19:51:32 +00:00
2008-07-09-ELFSectionAttributes.ll
Testcase for PR2024
2008-07-09 14:09:41 +00:00
2008-07-11-SHLBy1.ll
Port a shift-by-1 optimization from LegalizeDAG: it
2008-07-11 16:54:57 +00:00
2008-07-11-SpillerBug.ll
eliminate some uses of prcontext. Any help here would be appreciated :)
2009-08-30 21:45:23 +00:00
2008-07-16-CoalescerCrash.ll
Subreg live interval valno may not have a corresponding def machineinstr since it's less precise.
2008-07-17 19:48:53 +00:00
2008-07-19-movups-spills.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-07-22-CombinerCrash.ll
Fix pr2566: incorrect assumption about bit_convert. It doesn't not have to output a vector value. Patch by Nicolas Capens!
2008-07-22 20:42:56 +00:00
2008-07-23-VSetCC.ll
eliminate the v[if]cmp versions of these tests, now that [if]cmp+sext works.
2009-07-08 00:49:35 +00:00
2008-08-05-SpillerBug.ll
Added a linearscan register allocation optimization. When the register allocator spill an interval with multiple uses in the same basic block, it creates a different virtual register for each of the reloads. e.g.
2009-04-20 08:01:12 +00:00
2008-08-06-RewriterBug.ll
Fix PR2596: out of bound reference.
2008-08-05 21:51:46 +00:00
2008-08-17-UComiCodeGenBug.ll
Fix a (u)comiss intrinsic lowering bug. It was using anyext which can return junk in higher bits. Patch by Nate Begeman.
2008-08-17 19:22:34 +00:00
2008-08-19-SubAndFetch.ll
Optimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and __sync_sub_and_fetch.
2009-07-30 08:33:02 +00:00
2008-08-23-64Bit-maskmovq.ll
Testcase for 64bit maskmovq
2008-08-23 15:53:47 +00:00
2008-08-23-X86-64AsmBug.ll
Changed my mind. We now allow remat of instructions whose defs have subreg indices.
2009-07-16 20:15:00 +00:00
2008-08-25-AsmRegTypeMismatch.ll
Fix another test to not use -mcpu=yonah with 64-bit code.
2009-02-02 23:43:59 +00:00
2008-08-31-EH_RETURN32.ll
Targets sometimes assign fixed stack object to spill certain callee-saved
2009-07-09 06:53:48 +00:00
2008-08-31-EH_RETURN64.ll
Targets sometimes assign fixed stack object to spill certain callee-saved
2009-07-09 06:53:48 +00:00
2008-09-05-sinttofp-2xi32.ll
Fix for PR2687: Add patterns to match sint_to_fp and fp_to_sint for <2 x
2008-09-05 23:07:03 +00:00
2008-09-09-LinearScanBug.ll
Fix PR2757. Ignore liveinterval register allocation preference if the preference register is not in the right register class. This can happen due to sub-register coalescing.
2008-09-09 20:22:01 +00:00
2008-09-11-CoalescerBug2.ll
Fix PR2748. Avoid coalescing physical register with virtual register which would create illegal extract_subreg. e.g.
2008-09-11 20:07:10 +00:00
2008-09-11-CoalescerBug.ll
Fix PR2783 - coalescer bug. Missing a TargetRegisterInfo::isVirtualRegister check.
2008-09-11 18:40:32 +00:00
2008-09-17-inline-asm-1.ll
Remove SelectionDag early allocation of registers
2008-09-24 23:13:09 +00:00
2008-09-18-inline-asm-2.ll
Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies.
2009-03-23 08:01:15 +00:00
2008-09-19-RegAllocBug.ll
Fix PR2808. When regalloc runs out of register, it spill a physical register around the live interval being allocated. Do not continue to try to spill another register, just grab the physical register and move on.
2008-09-20 01:28:05 +00:00
2008-09-25-sseregparm-1.ll
Accept 'inreg' attribute on x86 functions as
2008-09-25 20:47:45 +00:00
2008-09-26-FrameAddrBug.ll
Re-apply 56683 with fixes.
2008-09-27 01:56:22 +00:00
2008-09-29-ReMatBug.ll
Re-apply 56835 along with header file changes.
2008-09-30 15:44:16 +00:00
2008-09-29-VolatileBug.ll
Fix PR2835. Do not change the width of a volatile load.
2008-09-29 17:26:18 +00:00
2008-10-02-Atomics32-2.ll
Help DejaGnu avoid pipe-jam by producing less output from certain test cases.
2009-05-16 00:34:42 +00:00
2008-10-06-MMXISelBug.ll
Fix PR2850 and PR2863. Only generate movddup for 128-bit SSE vector shuffles.
2008-10-06 21:13:08 +00:00
2008-10-06-x87ld-nan-1.ll
Be more precise about which conversions of NaNs
2008-10-06 22:59:10 +00:00
2008-10-06-x87ld-nan-2.ll
Be more precise about which conversions of NaNs
2008-10-06 22:59:10 +00:00
2008-10-07-SSEISelBug.ll
Certain patterns involving the "movss" instruction were marked as requiring SSE2, when in reality movss is an SSE1 instruction.
2008-10-07 16:14:11 +00:00
2008-10-11-CallCrash.ll
Change CALLSEQ_BEGIN and CALLSEQ_END to take TargetConstant's as
2008-10-11 22:08:30 +00:00
2008-10-13-CoalescerBug.ll
Also update sub-register intervals after a trivial computation is rematt'ed for a copy instruction. PR2775.
2008-10-13 18:35:52 +00:00
2008-10-16-SpillerBug.ll
Added a linearscan register allocation optimization. When the register allocator spill an interval with multiple uses in the same basic block, it creates a different virtual register for each of the reloads. e.g.
2009-04-20 08:01:12 +00:00
2008-10-16-VecUnaryOp.ll
Turn on LegalizeTypes, the new type legalization
2008-10-27 08:42:46 +00:00
2008-10-17-Asm64bitRConstraint.ll
Fix a bug where the x86 backend would reject 64-bit r constraints when
2008-10-17 17:59:52 +00:00
2008-10-20-AsmDoubleInI32.ll
Fix gcc.c-torture/compile/920520-1.c by inserting bitconverts
2008-10-21 00:45:36 +00:00
2008-10-24-FlippedCompare.ll
Turn on LegalizeTypes, the new type legalization
2008-10-27 08:42:46 +00:00
2008-10-27-CoalescerBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-10-27-StackRealignment.ll
Fix a nasty miscompilation of 176.gcc on linux/x86 where we synthesized
2008-10-28 05:49:35 +00:00
2008-10-29-ExpandVAARG.ll
Fix PR2977: LegalizeTypes support for expanding
2008-10-29 14:25:28 +00:00
2008-11-03-F80VAARG.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-11-06-testb.ll
Fix the testb optimization so x86 also bootstraps.
2008-11-12 02:00:35 +00:00
2008-11-13-inlineasm-3.ll
testcase for PR 1779.
2008-11-13 22:17:10 +00:00
2008-11-29-DivideConstant16bit.ll
Fix for PR2164: allow transforming arbitrary-width unsigned divides into
2008-11-30 06:02:26 +00:00
2008-11-29-DivideConstant16bitSigned.ll
Followup to r60283: optimize arbitrary width signed divisions as well
2008-11-30 06:35:39 +00:00
2008-11-29-ULT-Sign.ll
APIntify a test which is potentially unsafe otherwise, and fix the
2008-11-30 04:59:26 +00:00
2008-12-01-loop-iv-used-outside-loop.ll
Add rdar reference, make this actually fail when the patch isn't applied.
2008-12-01 22:35:31 +00:00
2008-12-01-SpillerAssert.ll
Fix PR3124: overly strict assert.
2008-12-02 02:15:36 +00:00
2008-12-02-dagcombine-1.ll
testcases for recent dag combiner changes
2008-12-03 00:52:41 +00:00
2008-12-02-dagcombine-2.ll
testcases for recent dag combiner changes
2008-12-03 00:52:41 +00:00
2008-12-02-dagcombine-3.ll
testcases for recent dag combiner changes
2008-12-03 00:52:41 +00:00
2008-12-02-IllegalResultType.ll
Fix PR3117: not all nodes being legalized. The
2008-12-09 21:33:20 +00:00
2008-12-05-SpillerCrash.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2008-12-12-PrivateEHSymbol.ll
fix some pastos in triple lines.
2009-08-12 06:49:12 +00:00
2008-12-16-BadShift.ll
Fix for PR3225: disable a broken optimization in
2008-12-17 03:35:17 +00:00
2008-12-16-dagcombine-4.ll
A new dag combine; several permutations of this
2008-12-16 22:13:49 +00:00
2008-12-19-EarlyClobberBug.ll
eliminate some uses of prcontext. Any help here would be appreciated :)
2009-08-30 21:45:23 +00:00
2008-12-22-dagcombine-5.ll
One more permutation of subtracting off a base value.
2008-12-23 01:59:54 +00:00
2008-12-23-crazy-address.ll
Fix a compiler-abort on a testcase where the stack-pointer is added to
2008-12-24 00:27:51 +00:00
2008-12-23-dagcombine-6.ll
Add another permutation where we should get rid of a-a.
2008-12-23 23:01:27 +00:00
2009-01-12-CoalescerBug.ll
FIX llvm-gcc bootstrap on x86_64 linux. If a virtual register is copied to a physical register, it's not necessarily defined by a copy. We have to watch out it doesn't clobber any sub-register that might be live during its live interval. If the live interval crosses a basic block, then it's not safe to check with the less conservative check (by scanning uses and defs) because it's possible a sub-register might be live out of the block.
2009-01-13 03:57:45 +00:00
2009-01-13-DoubleUpdate.ll
When replacing uses and the same node is reached
2009-01-13 15:17:14 +00:00
2009-01-16-SchedulerBug.ll
CreateVirtualRegisters does trivial copy coalescing. If a node def is used by a single CopyToReg, it reuses the virtual register assigned to the CopyToReg. This won't work for SDNode that is a clone or is itself cloned. Disable this optimization for those nodes or it can end up with non-SSA machine instructions.
2009-01-16 20:57:18 +00:00
2009-01-16-UIntToFP.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2009-01-18-ConstantExprCrash.ll
Fix rdar://6505632, an llc crash on 483.xalancbmk
2009-01-18 20:35:00 +00:00
2009-01-25-NoSSE.ll
Implement -mno-sse: if SSE is disabled on x86-64, don't store XMM on stack for
2009-02-01 18:15:56 +00:00
2009-01-26-WrongCheck.ll
Fix PR3393, which amounts to a bug in the expensive
2009-01-26 21:54:18 +00:00
2009-01-27-NullStrings.ll
Make the big switch: Change MCSectionMachO to represent a section *semantically*
2009-08-10 01:39:42 +00:00
2009-01-29-LocalRegAllocBug.ll
Local register allocator shouldn't assume only the entry and landing pad basic blocks have live-ins.
2009-01-29 18:37:30 +00:00
2009-01-31-BigShift2.ll
Fix PR3401: when using large integers, the type
2009-01-31 15:50:11 +00:00
2009-01-31-BigShift3.ll
Fix PR3401: when using large integers, the type
2009-01-31 15:50:11 +00:00
2009-01-31-BigShift.ll
Fix PR3401: when using large integers, the type
2009-01-31 15:50:11 +00:00
2009-02-01-LargeMask.ll
Fix PR3453 and probably a bunch of other potential
2009-02-01 18:06:53 +00:00
2009-02-03-AnalyzedTwice.ll
Fix PR3411. When replacing values, nodes are analyzed
2009-02-03 10:23:33 +00:00
2009-02-04-sext-i64-gep.ll
if we have a large GEP offset on a 32-bit or other target, make
2009-02-05 06:55:21 +00:00
2009-02-05-CoalescerBug.ll
Fix test. It produces unexpected code if sse4.1 is on.
2009-02-06 01:49:19 +00:00
2009-02-07-CoalescerBug.ll
Re-enable machine sinking pass now that the coalescer bugs and the AnalyzeBrnach bug are fixed.
2009-02-09 08:45:39 +00:00
2009-02-08-CoalescerBug.ll
Fix PR3486. Fix a bug in code that manually patch physical register live interval after its sub-register is coalesced with a virtual register.
2009-02-08 11:04:35 +00:00
2009-02-11-codegenprepare-reuse.ll
fix PR3537: if resetting bbi back to the start of a block, we need to
2009-02-12 06:56:08 +00:00
2009-02-12-DebugInfoVLA.ll
fix the X86 backend to just drop llvm.declare nodes for VLAs instead of
2009-02-12 17:33:11 +00:00
2009-02-12-InlineAsm-nieZ-constraints.ll
Arrange to print constants that match "n" and "i" constraints
2009-02-12 20:58:09 +00:00
2009-02-12-SpillerBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2009-02-20-PreAllocSplit-Crash.ll
Fix a crash in the pre-alloc splitter exposed by recent codegen changes.
2009-02-20 10:02:23 +00:00
2009-02-21-ExtWeakInitializer.ll
Drop bunch of half-working stuff in the ext_weak linkage support.
2009-02-21 11:53:32 +00:00
2009-02-25-CommuteBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2009-02-26-MachineLICMBug.ll
MachineLICM CSE should match destination register classes; avoid hoisting implicit_def's.
2009-02-27 00:02:22 +00:00
2009-03-03-BitcastLongDouble.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2009-03-03-BTHang.ll
The DAG combiner was performing a BT combine. The BT combine had a value of -1,
2009-03-04 00:18:06 +00:00
2009-03-05-burr-list-crash.ll
Fix ScheduleDAGRRList::CopyAndMoveSuccessors' handling of nodes
2009-03-06 02:23:01 +00:00
2009-03-07-FPConstSelect.ll
reapply my previous patch (r66358) with a tweak to set the
2009-03-11 05:08:08 +00:00
2009-03-09-APIntCrash.ll
Fix PR3763 by using proper APInt methods instead of uint64_t's.
2009-03-09 20:22:18 +00:00
2009-03-09-SpillerBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2009-03-10-CoalescerBug.ll
Two coalescer fixes in one.
2009-03-11 00:03:21 +00:00
2009-03-11-CoalescerBug.ll
My last coalescer fix introduced a subtler one. It's aborting a commuting optimization too late and left the live intervals to be out of sync with instructions. This fixes 8b10b.
2009-03-11 22:18:44 +00:00
2009-03-12-CPAlignBug.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
2009-03-13-PHIElimBug.ll
Reapply r67049, with the test adjusted for darwin
2009-03-17 09:46:22 +00:00
2009-03-16-PHIElimInLPad.ll
Add an explicit -asm-verbose to these tests, to make it
2009-03-31 18:20:47 +00:00
2009-03-16-SpillerBug.ll
THis doesn't fail.
2009-05-07 01:41:42 +00:00
2009-03-23-i80-fp80.ll
Fix internal representation of fp80 to be the
2009-03-23 21:16:53 +00:00
2009-03-23-LinearScanBug.ll
Second attempt:
2009-04-29 00:15:41 +00:00
2009-03-23-MultiUseSched.ll
For Darwin / x86_64, override -relocation-model=static to pic if the output is assembly since Darwin assembler does not really support -static codeine.
2009-06-03 21:13:54 +00:00
2009-03-25-TestBug.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
2009-03-26-NoImplicitFPBug.ll
Change these tests to use function attributes rather than special llc
2009-08-05 16:37:27 +00:00
2009-04-09-InlineAsmCrash.ll
reg0 references are not real registers. This fixes a crash on the
2009-04-09 16:50:43 +00:00
2009-04-12-FastIselOverflowCrash.ll
fix a cross-block fastisel crash handling overflow intrinsics.
2009-04-12 07:51:14 +00:00
2009-04-12-picrel.ll
In X86DAGToDAGISel::MatchWrapper, if base or index are set, avoid matching
2009-04-12 23:00:38 +00:00
2009-04-13-2AddrAssert-2.ll
Fix PR3934 part 2. findOnlyInterestingUse() was not setting IsCopy and IsDstPhys which are returned by value and used by callee. This happened to work on the earlier test cases because of a logic error in the caller side.
2009-04-14 00:32:25 +00:00
2009-04-13-2AddrAssert.ll
PR3934: Fix a bogus two-address pass assertion.
2009-04-13 20:04:24 +00:00
2009-04-14-IllegalRegs.ll
Second attempt:
2009-04-29 00:15:41 +00:00
2009-04-16-SpillerUnfold.ll
Adjust XFAIL syntax, maybe that will help. The other
2009-04-18 02:01:23 +00:00
2009-04-20-LinearScanOpt.ll
Added a linearscan register allocation optimization. When the register allocator spill an interval with multiple uses in the same basic block, it creates a different virtual register for each of the reloads. e.g.
2009-04-20 08:01:12 +00:00
2009-04-21-NoReloadImpDef.ll
It has finally happened. Spiller is now using live interval info.
2009-04-21 22:46:52 +00:00
2009-04-24.ll
Fix the syntax for a PR number in a test.
2009-04-27 15:08:34 +00:00
2009-04-25-CoalescerBug.ll
Do not share a single unknown val# for all the live ranges merged into a physical sub-register live interval. When coalescer is merging in clobbered virtaul register live interval into a physical register live interval, give each virtual register val# a separate val# in the physical register live interval. Otherwise, the coalescer would have lost track of the definitions information it needs to make correct coalescing decisions.
2009-04-25 09:25:19 +00:00
2009-04-27-CoalescerAssert.ll
Fix PR4034. Bug in LiveInterval::join when it's compacting new valno's.
2009-04-28 06:24:09 +00:00
2009-04-27-LiveIntervalsAssert2.ll
Fix for PR4051. When 2address pass delete an instruction, update kill info when necessary.
2009-04-28 02:12:36 +00:00
2009-04-27-LiveIntervalsAssert.ll
Fix PR4056. It's possible a physical register def is dead if its implicit use is deleted by two-address pass.
2009-04-27 17:36:47 +00:00
2009-04-27-LiveIntervalsBug.ll
Fix PR4076. Correctly create live interval of physical register with two-address update.
2009-04-27 20:42:46 +00:00
2009-04-29-IndirectDestOperands.ll
fix a regression handling indirect results: these need to be considered
2009-04-30 00:48:50 +00:00
2009-04-29-LinearScanBug.ll
spillPhysRegAroundRegDefsUses() may have invalidated iterators stored in fixed_ IntervalPtrs. Reset them.
2009-04-29 07:16:34 +00:00
2009-04-29-RegAllocAssert.ll
Mark MOV8mr_NOREX and MOV8rm_NOREX as mayStore / mayLoad respectively.
2009-04-30 00:58:57 +00:00
2009-04-scale.ll
fix PR3995. A scale must be 1, 2, 4 or 8.
2009-04-16 12:34:53 +00:00
2009-05-08-InlineAsmIOffset.ll
Fix PR4152: asm constraint validation happens before dag combine, so we
2009-05-08 18:23:14 +00:00
2009-05-11-tailmerge-crash.ll
Fix PR4188. TailMerging can't tolerate inexact
2009-05-11 21:54:13 +00:00
2009-05-19-SingleElementExtractElement.ll
Add a testcase which got fixed by recent legalization work.
2009-05-28 05:10:20 +00:00
2009-05-23-available_externally.ll
available_externall linkage is not local, this was confusing the codegenerator,
2009-05-23 14:06:57 +00:00
2009-05-23-dagcombine-shifts.ll
Fix PR4254.
2009-05-23 17:29:48 +00:00
2009-05-28-DAGCombineCrash.ll
Do not try to create a MVT type of width 0.
2009-05-28 23:52:18 +00:00
2009-05-30-ISelBug.ll
(i64 (zext (srl GR32 8))) -> movzbl AH is not safe since srl 8 only clear the top 8 bits.
2009-05-30 08:43:27 +00:00
2009-06-02-RewriterBug.ll
Fix for PR4225: When rewriter reuse a value in a physical register , it clear the register kill operand marker and its kill ops information. However, the cleared operand may be a def of a super-register. Clear the kill ops info for the super-register's sub-registers as well.
2009-06-03 09:00:27 +00:00
2009-06-03-Win64DisableRedZone.ll
Unbreak Win64 CC. Step one: honour register save area, fix some alignment and provide a different set of call-clobberred registers.
2009-08-03 08:12:53 +00:00
2009-06-03-Win64SpillXMM.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
2009-06-04-VirtualLiveIn.ll
RALinScan::attemptTrivialCoalescing() was returning a virtual register instead of the physical register it is allocated to. This resulted in virtual register(s) being added the live-in sets.
2009-06-04 20:53:36 +00:00
2009-06-05-ScalarToVectorByteMMX.ll
Get rid of a bogus pattern that interferes with optimization.
2009-06-06 04:17:04 +00:00
2009-06-05-sitofpCrash.ll
PR2598: make sure to expand illegal forms of integer/floating-point
2009-06-06 03:57:58 +00:00
2009-06-05-VariableIndexInsert.ll
Avoid crashing on a variable-index insertelement with element type i16.
2009-06-06 06:32:50 +00:00
2009-06-05-VZextByteShort.ll
Get rid of some bogus patterns for X86vzmovl. Don't create VZEXT_MOVL
2009-06-06 06:05:10 +00:00
2009-06-06-ConcatVectors.ll
Fix the expansion for CONCAT_VECTORS so that it doesn't create illegal
2009-06-06 07:08:26 +00:00
2009-06-07-ExpandMMXBitcast.ll
Fix the run-line for this test to work correctly outside of x86.
2009-06-07 09:44:19 +00:00
2009-06-12-x86_64-tail-call-conv-out-of-sync-bug.ll
Fix Bug 4278: X86-64 with -tailcallopt calling convention
2009-06-12 16:26:57 +00:00
2009-06-15-not-a-tail-call.ll
CheckTailCallReturnConstraints is missing a check on the
2009-06-15 14:43:36 +00:00
2009-06-18-movlp-shuffle-register.ll
Fix for PR2484: add an SSE1 pattern for a shuffle we normally prefer to
2009-06-19 07:00:55 +00:00
2009-07-06-TwoAddrAssert.ll
Avoid adding a duplicate def. This fixes PR4478.
2009-07-06 21:34:05 +00:00
2009-07-07-SplitICmp.ll
Make EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned
2009-07-09 22:01:03 +00:00
2009-07-09-ExtractBoolFromVector.ll
Make EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned
2009-07-09 22:01:03 +00:00
2009-07-15-CoalescerBug.ll
ShortenDeadCopySrcLiveRange needs to be more conservative in multi-kill situations.
2009-07-15 21:39:50 +00:00
2009-07-16-CoalescerBug.ll
Let callers decide the sub-register index on the def operand of rematerialized instructions.
2009-07-16 09:20:10 +00:00
2009-07-16-LoadFoldingBug.ll
With recent MC changes, RIP base register is explicitly modeled. Make sure we add it when x86 V_SET0 / V_SETALLONES (by transforming it into a constpool load) into the use instruction.
2009-07-16 18:44:05 +00:00
2009-07-17-StackColoringBug.ll
Fix pr4552. Stack slot coloring with register must take care not to generate illegal ams.
2009-07-17 22:42:51 +00:00
2009-07-19-AsmExtraOperands.ll
Fix http://llvm.org/bugs/show_bug.cgi?id=4583
2009-07-19 19:09:59 +00:00
2009-07-20-CoalescerBug.ll
Fix some sub-reg coalescing bugs where the coalescer wasn't updating the resulting interval's register class.
2009-07-20 19:47:55 +00:00
2009-07-20-DAGCombineBug.ll
Fix a dagga combiner bug: avoid creating illegal constant.
2009-07-21 05:40:15 +00:00
2009-08-02-mmx-scalar-to-vector.ll
Use movq to move 64 bits in and out of mmx registers.
2009-08-03 02:45:34 +00:00
2009-08-06-branchfolder-crash.ll
Make tail merging handle blocks with repeated predecessors correctly, and
2009-08-18 15:18:18 +00:00
2009-08-06-inlineasm.ll
Add the testcase from PR 4668. This works at the
2009-08-07 00:04:42 +00:00
2009-08-08-CastError.ll
fix an incorrect target triple.
2009-08-12 06:28:51 +00:00
2009-08-12-badswitch.ll
Test for 78821, sort of. While that bug is nondeterministic,
2009-08-12 17:43:47 +00:00
2009-08-14-Win64MemoryIndirectArg.ll
Properly handle indirect win64 args when they're passed in memory
2009-08-14 18:19:10 +00:00
2009-08-19-LoadNarrowingMiscompile.ll
Make this test platform neutral.
2009-08-19 18:51:45 +00:00
2009-08-23-linkerprivate.ll
Split test into 3.
2009-08-24 17:51:19 +00:00
2009-08-23-SubRegReuseUndo.ll
Fix PR4753.
2009-08-23 13:01:45 +00:00
20090313-signext.ll
Revert 67132. This is breaking some objective-c apps.
2009-03-25 20:20:11 +00:00
abi-isel.ll
Switch abi-isel.ll to FileCheck; it's not much faster, but it now tests a lot
2009-08-25 18:45:03 +00:00
add-trick32.ll
Fun x86 encoding tricks: when adding an immediate value of 128,
2008-10-17 01:33:43 +00:00
add-trick64.ll
Fun x86 encoding tricks: when adding an immediate value of 128,
2008-10-17 01:33:43 +00:00
add-with-overflow.ll
Second attempt:
2009-04-29 00:15:41 +00:00
aliases.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
aligned-comm.ll
Use common where we mean common, not weak.
2008-05-16 00:52:30 +00:00
all-ones-vector.ll
nounwind-ify this test.
2008-10-01 15:07:14 +00:00
alloca-align-rounding.ll
this is apparently passing now. Evan/Dan, please check
2009-03-17 20:23:43 +00:00
and-or-fold.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
and-su.ll
Fix a TargetLowering optimization so that it doesn't duplicate
2009-04-03 20:11:30 +00:00
anyext-uses.ll
Generalize ExtendUsesToFormExtLoad to be usable for ANY_EXTEND,
2009-04-09 03:51:29 +00:00
anyext.ll
Don't use INSERT_SUBREG to model anyext operations on x86-64, as it
2009-08-26 14:59:13 +00:00
arg-cast.ll
Fix test.
2008-02-14 01:32:53 +00:00
asm-block-labels.ll
Make labels work in asm blocks; allow labels as
2007-11-05 21:20:28 +00:00
asm-global-imm.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
asm-indirect-mem.ll
testcase for PR2267
2008-05-22 04:45:22 +00:00
asm-modifier-P.ll
We get the P modifier wrong in a lot of cases, just add some more rigorous testing.
2009-07-11 08:30:22 +00:00
asm-modifier.ll
Fix PR 4751, another difficulty with %a modifier on x86.
2009-08-25 00:16:14 +00:00
atomic_add.ll
Optimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and __sync_sub_and_fetch.
2009-07-30 08:33:02 +00:00
atomic_op.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
Atomics-32.ll
Help DejaGnu avoid pipe-jam by producing less output from certain test cases.
2009-05-16 00:34:42 +00:00
Atomics-64.ll
Help DejaGnu avoid pipe-jam by producing less output from certain test cases.
2009-05-16 00:34:42 +00:00
attribute-sections.ll
Change MCSectionELF to represent a section semantically instead of
2009-08-13 05:07:35 +00:00
avoid-lea-scale2.ll
x86 isel tweak: use lea (%reg,%reg) instead of lea (,%reg,2).
2009-07-22 23:26:55 +00:00
avoid-loop-align-2.ll
If header of inner loop is aligned, do not align the outer loop header. We don't want to add nops in the outer loop for the sake of aligning the inner loop.
2009-05-12 23:58:14 +00:00
avoid-loop-align.ll
Avoid inserting noop's in the middle of a loop.
2008-11-27 01:16:00 +00:00
bitcast2.ll
Convert tests using "| wc -l | grep ..." to use the count script.
2007-08-15 13:36:28 +00:00
bitcast-int-to-vector.ll
Fix a DAGCombiner abort on a bitcast from a scalar to a vector.
2007-10-29 20:44:42 +00:00
bitcast.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
break-anti-dependencies.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
bswap-inline-asm.ll
Recognize bswapl as bswap too.
2009-03-17 02:45:40 +00:00
bswap.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
bt.ll
Add explicit -march=x86 to these tests so that they don't
2009-02-03 00:20:22 +00:00
byval2.ll
Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal
2008-04-12 04:36:06 +00:00
byval3.ll
Fix a number of byval / memcpy / memset related codegen issues.
2008-08-21 21:00:15 +00:00
byval4.ll
Fix a number of byval / memcpy / memset related codegen issues.
2008-08-21 21:00:15 +00:00
byval5.ll
Fix a number of byval / memcpy / memset related codegen issues.
2008-08-21 21:00:15 +00:00
byval6.ll
Let each target decide byval alignment. For X86, it's 4-byte unless the aggregare contains SSE vector(s). For x86-64, it's max of 8 or alignment of the type.
2008-01-23 23:17:41 +00:00
byval7.ll
Implement support for using modeling implicit-zero-extension on x86-64
2009-04-08 00:15:30 +00:00
byval.ll
Add support for functions with byval arguments on x86
2007-09-14 15:48:13 +00:00
call-imm.ll
Fix test on non-darwin hosts.
2009-05-20 05:45:36 +00:00
call-push.ll
Convert tests using "| wc -l | grep ..." to use the count script.
2007-08-15 13:36:28 +00:00
change-compare-stride-0.ll
Permit ChangeCompareStride to rewrite a comparison when the factor
2009-04-27 20:35:32 +00:00
change-compare-stride-1.ll
Permit ChangeCompareStride to rewrite a comparison when the factor
2009-04-27 20:35:32 +00:00
clz.ll
Fix ctlz and cttz. llvm definition requires them to return number of bits in of the src type when value is zero.
2007-12-14 08:30:15 +00:00
cmov-i8-eflags.ll
CMOV_GR8 clobbers EFLAGS when its expansion involves an xor to set
2009-08-29 22:19:15 +00:00
cmp0.ll
Use "test reg,reg" in place of "cmp reg,0" for 64-bit operands. This was
2007-09-17 14:35:24 +00:00
cmp1.ll
Emit integer x<1 as x<=0, as comparisons with zero (now includeing
2007-09-17 14:49:27 +00:00
cmp2.ll
Swap fp comparison operands and change predicate to allow load folding (safely this time).
2008-08-29 23:22:12 +00:00
cmp-test.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
coalesce-esp.ll
Enable the new no-SP register classes by default. This is to address
2009-08-05 17:40:24 +00:00
coalescer-commute1.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
coalescer-commute2.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
coalescer-commute3.ll
For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries.
2008-09-04 22:59:58 +00:00
coalescer-commute4.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
coalescer-commute5.ll
- Fix a subtle bug in RemoveCopyByCommutingDef. ALR is the live range where the source is defined; BLR is the live range which is defined by the copy.
2008-03-10 08:11:32 +00:00
coalescer-cross.ll
Enable cross register class coalescing.
2009-07-18 02:10:10 +00:00
coalescer-remat.ll
Re-materalized definition instructions may be dead. Whack them.
2008-09-19 17:38:47 +00:00
code_placement.ll
Enable loop bb placement optimization.
2009-05-08 23:35:49 +00:00
codegen-prepare-cast.ll
Fix CodeGenPrepare's address-mode sinking to handle unusual
2009-06-02 21:29:13 +00:00
codemodel.ll
Fix an x86 code size regression: prefer RIP-relative addressing
2009-08-20 18:23:44 +00:00
combine-lds.ll
For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries.
2008-09-04 22:59:58 +00:00
combiner-aa-0.ll
Fix a bug in x86's PreprocessForRMW logic that was exposed
2009-08-06 09:22:57 +00:00
commute-cmov.ll
convert to filecheck
2009-08-25 20:49:04 +00:00
commute-intrinsic.ll
- Add "Commutative" property to intrinsics. This allows tblgen to generate the commuted variants for dagisel matching code.
2008-06-16 20:29:38 +00:00
commute-two-addr.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
compare_folding.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
compare-add.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
compiler_used.ll
implement a new magic global "llvm.compiler.used" which is like llvm.used, but
2009-07-20 06:14:25 +00:00
complex-fca.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
const-select.ll
Revert 67132. This is breaking some objective-c apps.
2009-03-25 20:20:11 +00:00
constant-pool-remat-0.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
constpool.ll
testcase for PR4466
2009-06-27 01:33:35 +00:00
convert-2-addr-3-addr-inc64.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
copysign-zero.ll
Add target-specific dag combines for FAND(x,0) and FOR(x,0). This allows
2008-01-25 05:46:26 +00:00
critical-edge-split.ll
Explicitly pass -tailcallopt=false to these tests so that they
2009-04-23 19:39:41 +00:00
cstring.ll
GV with null value initializer shouldn't go to BSS if it's meant for a mergeable strings section. Currently it only checks for Darwin. Someone else please check if it should apply to other targets as well.
2009-02-18 02:19:52 +00:00
dag-rauw-cse.ll
At Nick Lewycky's request, rename this test with a more informative name.
2009-01-26 21:36:31 +00:00
dagcombine-buildvector.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
dagcombine-cse.ll
Use target triple in tests, not 'realign-stack=0' option. Per request.
2008-05-06 23:09:29 +00:00
darwin-bzero.ll
Moved this option to the front-end.
2008-10-01 01:02:18 +00:00
darwin-no-dead-strip.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
darwin-stub.ll
No need to print function stubs for Mac OS X 10.5 and up. Linker will handle it.
2008-09-20 00:13:45 +00:00
dg.exp
sabre brings to my attention that the 'tr' suffix is also obsolete
2008-05-20 21:00:03 +00:00
div_const.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
divrem.ll
When both x/y and x%y are needed (x and y both scalar integer), compute
2007-09-25 18:23:27 +00:00
dll-linkage.ll
another bogus triple
2009-08-12 06:36:52 +00:00
dollar-name.ll
Fix some tests.
2008-06-12 21:23:38 +00:00
dyn-stackalloc.ll
Fully escape the grep string for this test.
2009-04-08 00:54:40 +00:00
empty-struct-return-type.ll
reduce testcase.
2009-08-06 16:14:33 +00:00
epilogue.ll
Change the x86 assembly output to use tab characters to separate the
2007-07-31 20:11:57 +00:00
extend.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
extern_weak.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
extmul64.ll
These two tests now require only two multiply instructions,
2007-10-09 15:39:37 +00:00
extmul128.ll
These two tests now require only two multiply instructions,
2007-10-09 15:39:37 +00:00
extract-combine.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
extract-extract.ll
Fix a bug in the DAGCombiner's handling of multiple linked
2009-08-10 23:43:19 +00:00
extractelement-from-arg.ll
Instead of a vector load, shuffle and then extract an element. Load the element from address with an offset.
2008-05-13 08:35:03 +00:00
extractelement-load.ll
Yonah does not support x86-64. Change the -mcpu value to one that does.
2009-02-02 22:50:08 +00:00
extractelement-shuffle.ll
Fixed a bug when trying to optimize a extract vector element of a
2008-12-10 03:59:02 +00:00
extractps.ll
Use MOVSSmr instead of EXTRACTPSmr in the case of extracting
2008-10-31 00:57:24 +00:00
fabs.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
fast-cc-callee-pops.ll
Remove code that pad number of bytes to pop for X86_FastCall CC. The code doesn't do the "aligning" for Cygwin, Mingw, and Windows. But aligning it on Darwin and Linux breaks gcc compatibility. That ruled out all the platforms we support!
2008-09-04 01:04:15 +00:00
fast-cc-merge-stack-adj.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
fast-cc-pass-in-regs.ll
fix bogus test that the more strict lexer is finding.
2007-11-18 18:26:45 +00:00
fast-isel-bail.ll
Second attempt:
2009-04-29 00:15:41 +00:00
fast-isel-bc.ll
Teach X86FastISel how to handle CCValAssign::BCvt, which is used for
2009-08-05 05:33:42 +00:00
fast-isel-call.ll
Handle calls which produce i1 results: promote to i8 but and it with 1 to get the low bit.
2008-09-08 17:15:42 +00:00
fast-isel-constpool.ll
Fix yet-another bug I introduced into fastisel, this time handling
2009-07-02 03:14:25 +00:00
fast-isel-fneg.ll
LLVM currently represents floating-point negation as -0.0 - x. Fix
2009-09-03 22:53:57 +00:00
fast-isel-gep-sext.ll
Second attempt:
2009-04-29 00:15:41 +00:00
fast-isel-gv.ll
@GOTPCREL is also rip-relative. Fix fast-isel to do the right thing.
2009-07-02 04:22:01 +00:00
fast-isel-i1.ll
Fix FastISel's assumption that i1 values are always zero-extended
2009-03-13 20:42:20 +00:00
fast-isel-mem.ll
Refactor X86SelectConstAddr, folding it into X86SelectAddress. This
2008-09-19 22:16:54 +00:00
fast-isel-phys.ll
Improve FastISel's handling of truncates to i1, and implement
2009-03-13 23:53:06 +00:00
fast-isel-shift-imm.ll
Second attempt:
2009-04-29 00:15:41 +00:00
fast-isel-tailcall.ll
X86FastISel doesn't support the -tailcallopt ABI.
2009-05-04 19:50:33 +00:00
fast-isel-tls.ll
Fast-isel can't do TLS yet, so it should fall back to SDISel
2009-02-23 22:03:08 +00:00
fast-isel-trunc.ll
Improve FastISel's handling of truncates to i1, and implement
2009-03-13 23:53:06 +00:00
fast-isel.ll
X86FastISel support for loading and storing values of type i1.
2009-08-27 00:31:47 +00:00
fastcall-correct-mangling.ll
Pass target triple string in to TargetMachine constructor.
2009-08-03 04:03:51 +00:00
fastcc-2.ll
If SSE2 is available, x86 should pass first 3 f32/f64 arguments in XMM registers for fastcc calls.
2008-09-05 17:24:07 +00:00
fastcc-byval.ll
Explicitly pass -tailcallopt=false to these tests so that they
2009-04-23 19:39:41 +00:00
fastcc-sret.ll
Explicitly pass -tailcallopt=false to these tests so that they
2009-04-23 19:39:41 +00:00
fastcc.ll
Fix test.
2008-09-05 20:04:37 +00:00
field-extract-use-trunc.ll
Fix X86's isTruncateFree to not claim that truncate to i1 is free. This fixes Bill's testcase that failed for r48491.
2008-03-19 08:30:06 +00:00
fildll.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
fmul-zero.ll
Update this test to use fmul instead of mul.
2009-06-15 22:49:34 +00:00
fold-add.ll
Enhance address-mode folding of ISD::ADD to handle cases where the
2009-03-13 02:25:09 +00:00
fold-and-shift.ll
Fold some and + shift in x86 addressing mode.
2007-12-13 00:43:27 +00:00
fold-call-2.ll
Try approach to moving call address load inside of callseq_start. Now it's done during the preprocess of x86 isel. callseq_start's chain is changed to load's chain node; while load's chain is the last of callseq_start or the loads or copytoreg nodes inserted to move arguments to the right spot.
2008-08-25 21:27:18 +00:00
fold-call-3.ll
Enhance logic in X86DAGToDAGISel::PreprocessForRMW which move load inside callseq_start to allow it to be folded into a call. It was not considering the cases where a token factor is between the load and the callseq_start.
2009-01-26 18:43:34 +00:00
fold-call.ll
Add patterns for CALL32m and CALL64m. They aren't matched in most
2008-05-29 21:50:34 +00:00
fold-imm.ll
On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size.
2008-11-27 00:49:46 +00:00
fold-load.ll
Add -march=x86.
2008-11-27 00:37:06 +00:00
fold-mul-lohi.ll
Add nounwind to this test.
2009-05-13 22:29:12 +00:00
fold-pcmpeqd-0.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
fold-pcmpeqd-1.ll
Mark x86's V_SET0 and V_SETALLONES with isSimpleLoad, and teach X86's
2008-12-03 05:21:24 +00:00
fold-pcmpeqd-2.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
fold-sext-trunc.ll
When transforming sext(trunc(load(x))) into sext(smaller load(x)),
2009-04-27 02:00:55 +00:00
fp2sint.ll
LowerFP_TO_SINT must not create a stack object if it's not needed.
2007-10-15 20:11:21 +00:00
fp_constant_op.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
fp_load_cast_fold.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
fp_load_fold.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
fp-immediate-shorten.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
fp-in-intregs.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
fp-stack-2results.ll
Add support for calls that return two FP values in
2008-03-21 06:38:26 +00:00
fp-stack-compare.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
fp-stack-direct-ret.ll
Significantly simplify and improve handling of FP function results on x86-32.
2008-01-24 08:07:48 +00:00
fp-stack-ret-conv.ll
Significantly simplify and improve handling of FP function results on x86-32.
2008-01-24 08:07:48 +00:00
fp-stack-ret-store.ll
make sure to use a cpu that has sse.
2008-01-16 06:32:02 +00:00
fp-stack-ret.ll
Convert tests using "| wc -l | grep ..." to use the count script.
2007-08-15 13:36:28 +00:00
fp-stack-retcopy.ll
My previous commit had an incomplete message, it should have been:
2008-01-16 05:56:59 +00:00
fp-stack-set-st1.ll
Implement FpSET_ST1_*.
2009-02-09 23:32:07 +00:00
fsxor-alignment.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
full-lsr.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
ga-offset.ll
For Darwin / x86_64, override -relocation-model=static to pic if the output is assembly since Darwin assembler does not really support -static codeine.
2009-06-03 21:13:54 +00:00
global-sections-tls.ll
Fix PR4639, a ELF-TLS regression from some of my refactoring.
2009-07-28 17:57:51 +00:00
global-sections.ll
Various AsmWriter output cleanups. Use WriteAsOperand instead of
2009-08-13 01:36:44 +00:00
h-register-addressing-32.ll
Implement x86 h-register extract support.
2009-04-13 16:09:41 +00:00
h-register-addressing-64.ll
Implement x86 h-register extract support.
2009-04-13 16:09:41 +00:00
h-register-store.ll
Implement x86 h-register extract support.
2009-04-13 16:09:41 +00:00
h-registers-0.ll
When the result of an EXTRACT_SUBREG, INSERT_SUBREG, or SUBREG_TO_REG
2009-04-14 22:17:14 +00:00
h-registers-1.ll
When the result of an EXTRACT_SUBREG, INSERT_SUBREG, or SUBREG_TO_REG
2009-04-14 22:17:14 +00:00
h-registers-2.ll
Fix the RUN lines so that this test actually tests.
2009-04-14 22:50:17 +00:00
h-registers-3.ll
More h-registers tricks: folding zext nodes.
2009-05-29 01:44:43 +00:00
hidden-vis-2.ll
Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols.
2008-12-05 01:06:39 +00:00
hidden-vis-3.ll
Reference to hidden symbols do not have to go through non-lazy pointer in non-pic mode. rdar://7187172.
2009-09-03 07:04:02 +00:00
hidden-vis-4.ll
Reference to hidden symbols do not have to go through non-lazy pointer in non-pic mode. rdar://7187172.
2009-09-03 07:04:02 +00:00
hidden-vis.ll
Reference to hidden symbols do not have to go through non-lazy pointer in non-pic mode. rdar://7187172.
2009-09-03 07:04:02 +00:00
i2k.ll
Change how extended types are represented in MVTs. Instead of fiddling
2008-11-03 17:56:27 +00:00
i64-mem-copy.ll
Typo.
2009-03-12 17:07:39 +00:00
i128-and-beyond.ll
Split this test and move it into target-specific directories.
2008-10-01 19:46:30 +00:00
i128-immediate.ll
APIntify SelectionDAG's EXTRACT_ELEMENT code.
2008-03-24 16:38:05 +00:00
i128-mul.ll
new testcase, by Dan Gohman
2007-02-13 23:41:24 +00:00
i128-ret.ll
Change the x86 assembly output to use tab characters to separate the
2007-07-31 20:11:57 +00:00
i256-add.ll
Add a testcase for i256 add. i256 isn't fully supported in
2008-10-07 20:39:12 +00:00
iabs.ll
Remove -unwind-tables-optional everywhere, since
2008-04-14 17:56:54 +00:00
illegal-asm.ll
Update test for pr3864.
2009-03-23 18:27:36 +00:00
illegal-insert.ll
Teach SplitVectorOp how to split INSERT_VECTOR_ELT.
2007-09-28 23:53:40 +00:00
illegal-vector-args-return.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
imp-def-copies.ll
New test case.
2008-04-03 21:25:03 +00:00
imul-lea-2.ll
Optimize some 64-bit multiplication by constants into two lea's or one lea + shl since imulq is slow (latency 5). e.g.
2009-03-28 05:57:29 +00:00
imul-lea.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
inline-asm-2addr.ll
Turn a 2-address instruction into a 3-address one when it's profitable even if the two-address operand is killed.
2009-03-30 21:34:07 +00:00
inline-asm-flag-clobber.ll
Rename test.
2009-03-04 02:47:25 +00:00
inline-asm-fpstack2.ll
Fix PR4185.
2009-06-21 12:02:51 +00:00
inline-asm-fpstack3.ll
FIX PR 4459.
2009-06-29 20:29:59 +00:00
inline-asm-fpstack4.ll
Fix PR4485.
2009-06-30 16:40:03 +00:00
inline-asm-fpstack5.ll
Fix PR4485.
2009-06-30 16:40:03 +00:00
inline-asm-fpstack.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
inline-asm-modifier-n.ll
Add x86 support for 'n' inline asm modifier. This will be handled target independently as part of MC work.
2009-06-26 22:00:19 +00:00
inline-asm-mrv.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
inline-asm-out-regs.ll
Implement x86 h-register extract support.
2009-04-13 16:09:41 +00:00
inline-asm-pic.ll
Properly handle 'm' inline asm constraints. If a GV is being selected for the addressing mode, it requires the same logic for PIC relative addressing, etc.
2008-09-24 00:05:32 +00:00
inline-asm-q-regs.ll
Fix x86 inline ams 'q' constraint support. In 32-bit mode, it's just like 'Q', i.e. EAX, EDX, ECX, EBX. In 64-bit mode, it just means all the i64r registers. Yeah, that makes sense.
2009-07-17 22:13:25 +00:00
inline-asm-tied.ll
Assume an inline asm might be a call, so we get
2009-07-16 22:34:45 +00:00
inline-asm-x-scalar.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
inline-asm.ll
Support x86 specific inline asm modifier 'J'.
2008-09-22 23:57:37 +00:00
ins_subreg_coalesce-1.ll
Don't use INSERT_SUBREG to model anyext operations on x86-64, as it
2009-08-26 14:59:13 +00:00
ins_subreg_coalesce-2.ll
- More aggressively coalescing away copies whose source is defined by an implicit_def.
2008-04-09 20:57:25 +00:00
ins_subreg_coalesce-3.ll
Enable the new no-SP register classes by default. This is to address
2009-08-05 17:40:24 +00:00
insertelement-copytoregs.ll
Fix EXTRACT_ELEMENT, EXTRACT_SUBVECTOR, and EXTRACT_VECTOR_ELT to
2007-08-10 14:59:38 +00:00
insertelement-legalize.ll
Added support to LegalizeType for expanding the operands of scalar to vector
2008-12-15 06:57:02 +00:00
invalid-shift-immediate.ll
Avoid aborting on invalid shift counts.
2008-02-26 18:50:50 +00:00
isel-sink2.ll
Don't force promotion of return arguments on the callee.
2009-03-17 23:43:59 +00:00
isel-sink3.ll
On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size.
2008-11-27 00:49:46 +00:00
isel-sink.ll
Change the x86 assembly output to use tab characters to separate the
2007-07-31 20:11:57 +00:00
isint.ll
Be kind to non-x86 hosts.
2008-10-24 21:20:25 +00:00
isnan2.ll
Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
2008-05-20 19:52:04 +00:00
isnan.ll
Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
2008-05-20 19:52:04 +00:00
ispositive.ll
For PR1370:
2007-04-30 05:11:58 +00:00
iv-users-in-other-loops.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
jump_sign.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
ldzero.ll
Some tests for APFloat conversions.
2007-09-25 17:50:55 +00:00
lea-2.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
lea-3.ll
Fix MatchAddress bug that's preventing negative displacement from being folded in 64-bit mode.
2009-01-17 07:09:27 +00:00
lea-4.ll
Fix MatchAddress bug that's preventing negative displacement from being folded in 64-bit mode.
2009-01-17 07:09:27 +00:00
lea-neg.ll
Make this grep line a little more specific so that it doesn't
2009-05-11 18:49:56 +00:00
lea-recursion.ll
Convert tests using "| wc -l | grep ..." to use the count script.
2007-08-15 13:36:28 +00:00
lea.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
legalizedag_vec.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
lfence.ll
llvm.memory.barrier, and impl for x86 and alpha
2008-02-16 01:24:58 +00:00
limited-prec.ll
Now with RUN line.
2009-01-21 21:28:03 +00:00
live-out-reg-info.ll
Add an x86 peep that narrows TEST instructions to forms that use
2009-08-19 18:16:17 +00:00
local-liveness.ll
Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnit
2008-11-13 23:24:17 +00:00
long-setcc.ll
Swap fp comparison operands and change predicate to allow load folding.
2008-08-28 23:48:31 +00:00
longlong-deadload.ll
Make load->store deletion a bit smarter. This allows us to compile this:
2008-01-08 23:08:06 +00:00
loop-hoist.ll
Use WriteAsOperand to print BasicBlock names.
2009-08-12 20:56:56 +00:00
loop-strength-reduce2.ll
Fix some more quoting issues in RUN lines, this time regarding unintended
2008-06-10 16:10:32 +00:00
loop-strength-reduce3.ll
If a loop termination compare instruction is the only use of its stride,
2007-10-25 09:11:16 +00:00
loop-strength-reduce4.ll
If a loop termination compare instruction is the only use of its stride,
2007-10-25 09:11:16 +00:00
loop-strength-reduce5.ll
Loosen up iv reuse to allow reuse of the same stride but a larger type when truncating from the larger type to smaller type is free.
2007-10-26 01:56:11 +00:00
loop-strength-reduce6.ll
- Bug fixes.
2007-10-29 22:07:18 +00:00
loop-strength-reduce7.ll
Fix strange logic in CollectIVUsers used to determine whether all uses are
2009-02-20 22:16:49 +00:00
loop-strength-reduce8.ll
Teach LSR sink to sink the immediate portion of the common expression back into uses if they fit in address modes of all the uses.
2009-02-21 02:06:47 +00:00
loop-strength-reduce-2.ll
Teach LSR sink to sink the immediate portion of the common expression back into uses if they fit in address modes of all the uses.
2009-02-21 02:06:47 +00:00
loop-strength-reduce-3.ll
Make LoopStrengthReduce smarter about hoisting things out of
2008-12-05 21:47:27 +00:00
loop-strength-reduce.ll
Make LoopStrengthReduce smarter about hoisting things out of
2008-12-05 21:47:27 +00:00
lsr-loop-exit-cond.ll
Teach LSR to optimize more loop exit compares, i.e. change them to use postinc iv value. Previously LSR would only optimize those which are in the loop latch block. However, if LSR can prove it is safe (and profitable), it's now possible to change those not in the latch blocks to use postinc values.
2009-05-11 22:33:01 +00:00
lsr-negative-stride.ll
Teach LSR to optimize more loop exit compares, i.e. change them to use postinc iv value. Previously LSR would only optimize those which are in the loop latch block. However, if LSR can prove it is safe (and profitable), it's now possible to change those not in the latch blocks to use postinc values.
2009-05-11 22:33:01 +00:00
lsr-sort.ll
Fix LSR's IV sorting function to explicitly sort by bitwidth
2009-02-13 00:26:43 +00:00
masked-iv-safe.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
masked-iv-unsafe.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
maskmovdqu.ll
Handle llvm.x86.sse2.maskmov.dqu in 64-bit.
2009-02-10 22:06:28 +00:00
memcpy-2.ll
The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and
2008-05-26 20:18:56 +00:00
memcpy.ll
Refactor the memcpy lowering for the x86 target.
2007-09-28 12:53:01 +00:00
memmove-0.ll
Add explicit triples to avoid default behavior that varies by host.
2007-08-27 20:54:48 +00:00
memmove-1.ll
Add explicit triples to avoid default behavior that varies by host.
2007-08-27 20:54:48 +00:00
memmove-2.ll
Add explicit triples to avoid default behavior that varies by host.
2007-08-27 20:54:48 +00:00
memmove-3.ll
Add explicit triples to avoid default behavior that varies by host.
2007-08-27 20:54:48 +00:00
memmove-4.ll
Expand small memmovs using inline code. Set the X86 threshold for expanding
2008-05-29 19:42:22 +00:00
memset64-on-x86-32.ll
Fix a number of byval / memcpy / memset related codegen issues.
2008-08-21 21:00:15 +00:00
memset-2.ll
Pass target triple string in to TargetMachine constructor.
2009-08-03 04:03:51 +00:00
memset.ll
The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and
2008-05-26 20:18:56 +00:00
mfence.ll
llvm.memory.barrier, and impl for x86 and alpha
2008-02-16 01:24:58 +00:00
mingw-alloca.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
mmx-arg-passing2.ll
Update tests.
2008-04-25 20:13:47 +00:00
mmx-arg-passing.ll
Update tests.
2008-04-25 20:13:47 +00:00
mmx-arith.ll
And now support for MMX logical operations.
2007-03-16 09:44:46 +00:00
mmx-bitcast-to-i64.ll
Use movd instead of movq
2009-08-03 05:21:05 +00:00
mmx-copy-gprs.ll
On x86, if the only use of a i64 load is a i64 store, generate a pair of double load and store instead.
2009-03-12 05:59:15 +00:00
mmx-emms.ll
Add the emms intrinsic for MMX support.
2007-03-05 23:09:45 +00:00
mmx-insert-element.ll
Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq.
2008-05-29 08:22:04 +00:00
mmx-pinsrw.ll
Fix for first part of PR2562. Generate the "pinsrw" instruction for inserts
2008-07-20 02:32:23 +00:00
mmx-punpckhdq.ll
Convert tests using "| wc -l | grep ..." to use the count script.
2007-08-15 13:36:28 +00:00
mmx-s2v.ll
Fix PR2574: implement v2f32 scalar_to_vector.
2008-07-22 18:39:19 +00:00
mmx-shift.ll
Select vector shift with non-immediate i32 shift amount operand by first moving the operand into the right register.
2008-05-04 09:15:50 +00:00
mmx-shuffle.ll
testcase for PR1427
2007-05-17 03:29:17 +00:00
mmx-vzmovl-2.ll
Previously, RecursivelyDeleteDeadInstructions provided an option
2009-05-02 18:29:22 +00:00
mmx-vzmovl.ll
Add more vector move low and zero-extend patterns.
2008-11-05 06:04:51 +00:00
movfs.ll
Add basic support for code generation of
2009-05-05 18:52:19 +00:00
movgs.ll
Map address space 256 to gs; similar mappings could be supported for the
2009-01-26 01:24:32 +00:00
mul64.ll
These two tests now require only three multiply instructions,
2007-10-08 20:48:12 +00:00
mul128.ll
These two tests now require only three multiply instructions,
2007-10-08 20:48:12 +00:00
mul-legalize.ll
Move 3 "(add (select cc, 0, c), x) -> (select cc, x, (add, x, c))"
2009-03-12 06:52:53 +00:00
mul-remat.ll
Don't mark scalar integer multiplication as Expand on x86, since x86
2008-02-18 17:55:26 +00:00
mul-shift-reassoc.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
multiple-return-values-cross-block.ll
Handle getresult instructions in different basic blocks
2008-03-21 21:01:32 +00:00
multiple-return-values.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
nancvt.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
narrow_op-1.ll
Added optimization that narrow load / op / store and the 'op' is a bit twiddling instruction and its second operand is an immediate. If bits that are touched by 'op' can be done with a narrower instruction, reduce the width of the load and store as well. This happens a lot with bitfield manipulation code.
2009-05-28 00:35:15 +00:00
narrow_op-2.ll
Added optimization that narrow load / op / store and the 'op' is a bit twiddling instruction and its second operand is an immediate. If bits that are touched by 'op' can be done with a narrower instruction, reduce the width of the load and store as well. This happens a lot with bitfield manipulation code.
2009-05-28 00:35:15 +00:00
neg_fp.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
negate-add-zero.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
negative_zero.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
negative-sin.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
negative-subscript.ll
Make sure constant subscript is truncated to ptr size if it may not fit.
2009-02-09 20:54:38 +00:00
nobt.ll
Make a transformation added in 63266 a bit less aggressive.
2009-02-11 19:19:41 +00:00
nofence.ll
llvm.memory.barrier, and impl for x86 and alpha
2008-02-16 01:24:58 +00:00
nosse-error1.ll
add 2 more testcases for -mattr=-sse (r63495).
2009-02-01 18:24:20 +00:00
nosse-error2.ll
add 2 more testcases for -mattr=-sse (r63495).
2009-02-01 18:24:20 +00:00
nosse-varargs.ll
Implement -mno-sse: if SSE is disabled on x86-64, don't store XMM on stack for
2009-02-01 18:15:56 +00:00
omit-label.ll
Make this test less sensitive to assembler differences.
2009-08-18 17:19:46 +00:00
opt-ext-uses.ll
Be extra careful with extension use optimation. Now turned on by default.
2007-12-13 03:32:53 +00:00
optimize-max-0.ll
Re-apply r73718, now that the fix in r73787 is in, and add a
2009-06-19 23:23:27 +00:00
optimize-max-1.ll
Re-apply r73718, now that the fix in r73787 is in, and add a
2009-06-19 23:23:27 +00:00
optimize-max-2.ll
Re-apply r73718, now that the fix in r73787 is in, and add a
2009-06-19 23:23:27 +00:00
or-branch.ll
Remove -unwind-tables-optional everywhere, since
2008-04-14 17:56:54 +00:00
overlap-shift.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
packed_struct.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
peep-test-0.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
peep-test-1.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
peep-test-2.ll
Arithmetic instructions don't set EFLAGS bits OF and CF bits
2009-03-07 01:58:32 +00:00
peep-vector-extract-concat.ll
Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps.
2008-04-05 00:30:36 +00:00
peep-vector-extract-insert.ll
Change all floating constants that are not exactly
2007-09-05 17:50:36 +00:00
phys_subreg_coalesce-2.ll
Add test case from PR2659.
2009-01-09 21:01:31 +00:00
phys_subreg_coalesce.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pic_jumptable.ll
down with unwind info :)
2009-06-25 21:48:17 +00:00
pic-cpool.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
pic-jtbl.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
pic-load-remat.ll
Update test.
2008-02-23 02:57:25 +00:00
pic.ll
merge all the basic linux/32 pic tests together into one test.
2009-09-03 06:29:23 +00:00
pmul.ll
Don't use special heuristics for nodes with no data predecessors
2009-02-11 21:29:39 +00:00
postalloc-coalescing.ll
There are times when the coalescer would not coalesce away a copy but the copy
2007-11-03 07:20:12 +00:00
pr1462.ll
APIntify SelectionDAG's EXTRACT_ELEMENT code.
2008-03-24 16:38:05 +00:00
pr1489.ll
Second attempt:
2009-04-29 00:15:41 +00:00
pr1505.ll
take these with a pr #
2008-01-24 06:35:44 +00:00
pr1505b.ll
reduce this testcase more
2008-03-09 06:57:21 +00:00
pr2177.ll
Fix a tokenfactor node to use the load chain rather than the
2008-03-28 23:45:16 +00:00
pr2182.ll
Fix a DAGCombiner optimization to respect volatile qualification.
2008-03-31 20:32:52 +00:00
pr2326.ll
When bit-twiddling CondCode values for integer comparisons produces
2008-05-14 18:17:09 +00:00
pr2623.ll
Fix SDISel lowering of PHI nodes to use ComputeValueVTs.
2008-08-04 23:42:46 +00:00
pr2656.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pr2659.ll
PR2659 was fixed by r61847. Add the testcase as a regression test.
2009-01-09 08:16:12 +00:00
pr2849.ll
When doing the very-late shift-and address-mode optimization,
2008-10-13 20:52:04 +00:00
pr2924.ll
Fix SelectionDAGBuild lowering of Select instructions to
2008-10-21 20:00:42 +00:00
pr2982.ll
The ANDMask node folds to a constant, and isn't the node that needs to
2008-11-03 23:43:55 +00:00
pr3154.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pr3216.ll
Fix a dagcombine to not generate loads of non-round integer types,
2009-01-20 01:06:45 +00:00
pr3241.ll
Use the correct Preds and Succs lists in setHeightDirty()
2008-12-20 16:34:57 +00:00
pr3243.ll
Fix PR3243: a LiveVariables bug. When HandlePhysRegKill is checking whether the last reference is also the last def (i.e. dead def), it should also check if last reference is the current machine instruction being processed. This can happen when it is processing a physical register use and setting the current machine instruction as sub-register's last ref.
2009-01-20 21:25:12 +00:00
pr3244.ll
Fix PR3241: Currently EmitCopyFromReg emits a copy from the physical register to a virtual register unless it requires an expensive cross class copy. That means we are only treating "expensive to copy" register dependency as physical register dependency.
2009-01-12 03:19:55 +00:00
pr3250.ll
Fix a DAGCombiner abort on an invalid shift count constant. This fixes PR3250.
2009-01-03 19:22:06 +00:00
pr3317.ll
Simplify ReduceLoadWidth's logic: it doesn't need several different
2009-01-21 15:17:51 +00:00
pr3366.ll
Fix a recent regression. ClrOpcode is not set for i8; for i8, if
2009-01-21 14:50:16 +00:00
pr3457.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pr3495-2.ll
Remove a bogus assertion. It's possible a live-in available value is used by a previous instruction.
2009-02-11 23:41:57 +00:00
pr3495.ll
Stabilize the order of live intervals in the priority_queue used by the
2009-09-05 01:19:16 +00:00
pr3522.ll
Fix PR3522. It's not safe to sink into landing pad BB's.
2009-02-15 08:36:12 +00:00
pre-split1.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pre-split2.ll
Turn on machine LICM in non-fast mode.
2009-02-05 08:46:33 +00:00
pre-split3.ll
- More pre-split fixes: spill slot live interval computation bug; restore point bug.
2008-10-29 08:39:34 +00:00
pre-split4.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pre-split5.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pre-split6.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pre-split7.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pre-split8.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pre-split9.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
pre-split10.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
prefetch.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
private-2.ll
Reapply my previous asmprinter changes now with more testing and two
2009-07-14 18:17:16 +00:00
private.ll
Add the private linkage.
2009-01-15 20:18:42 +00:00
ptrtoint-constexpr.ll
fix a problem Eli noticed where we would compile the attached ptrtoint
2009-08-01 22:25:12 +00:00
rdtsc.ll
upgrade this test
2007-11-24 05:39:29 +00:00
red-zone2.ll
Add new function attribute - noredzone.
2009-06-04 22:05:33 +00:00
red-zone.ll
Change these tests to use function attributes rather than special llc
2009-08-05 16:37:27 +00:00
regpressure.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
rem-2.ll
DIVREM isel deficiency: If sign bit is known zero, zero out DX/EDX/RDX instead of sign extending the low part (in AX/EAX/RAX) into it.
2009-01-19 19:06:11 +00:00
rem.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
remat-constant.ll
factor some logic out into a helper function, allow remat of loads from constant
2009-06-27 04:38:55 +00:00
remat-mov-1.ll
Teach LSR to optimize more loop exit compares, i.e. change them to use postinc iv value. Previously LSR would only optimize those which are in the loop latch block. However, if LSR can prove it is safe (and profitable), it's now possible to change those not in the latch blocks to use postinc values.
2009-05-11 22:33:01 +00:00
ret-addr.ll
Add support for non-zero __builtin_return_address values on X86.
2009-01-16 19:25:27 +00:00
ret-i64-0.ll
remove some unneeded eh generation
2008-10-21 03:49:19 +00:00
ret-mmx.ll
Make sure this test passes on linux-ppc.
2009-02-27 00:51:50 +00:00
rip-rel-address.ll
Fix an x86 code size regression: prefer RIP-relative addressing
2009-08-20 18:23:44 +00:00
rodata-relocs.ll
Tweak test for recent relro stuff
2009-03-30 15:28:40 +00:00
rot16.ll
Define patterns for shld and shrd that match immediate
2008-10-17 01:23:35 +00:00
rot32.ll
Define patterns for shld and shrd that match immediate
2008-10-17 01:23:35 +00:00
rot64.ll
Define patterns for shld and shrd that match immediate
2008-10-17 01:23:35 +00:00
rotate2.ll
ensure we continue matching x86-64 rotates.
2008-03-17 01:35:03 +00:00
rotate.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
scalar_sse_minmax.ll
Fix parameter spelling: sse not sse1
2008-06-10 17:57:58 +00:00
scalar-extract.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
scalar-min-max-fill-operand.ll
Convert tests using "| wc -l | grep ..." to use the count script.
2007-08-15 13:36:28 +00:00
scalarize-bitcast.ll
When scalarizing a vector BITCAST, check whether the operand has vector
2009-05-11 18:30:42 +00:00
scev-interchange.ll
Tidy up this testcase.
2009-08-06 17:11:55 +00:00
select-i8.ll
Expand i8 selects into control flow instead of 16-bit conditional
2009-08-27 00:14:12 +00:00
select-no-cmov.ll
generalize the previous code to use the full generality of LEA
2009-03-13 05:53:31 +00:00
select-zero-one.ll
Test dag xform: Fold C ? 0 : 1 to ~C or zext(~C) or trunc(~C)
2007-08-18 06:11:57 +00:00
select.ll
Remove -unwind-tables-optional everywhere, since
2008-04-14 17:56:54 +00:00
setoeq.ll
- Add target lowering hooks that specify which setcc conditions are illegal,
2008-10-15 02:05:31 +00:00
setuge.ll
Remove -unwind-tables-optional everywhere, since
2008-04-14 17:56:54 +00:00
sext-load.ll
this xform is implemented.
2007-12-29 08:19:39 +00:00
sext-ret-val.ll
Add a test case for PR3779: when to promote the function return value.
2009-03-25 20:30:19 +00:00
sext-select.ll
Use the correct value for InSignBit.
2008-03-11 21:29:43 +00:00
sext-trunc.ll
Revert 67132. This is breaking some objective-c apps.
2009-03-25 20:20:11 +00:00
sfence.ll
llvm.memory.barrier, and impl for x86 and alpha
2008-02-16 01:24:58 +00:00
shift-and.ll
Transform (x << (y&31)) -> (x << y). This takes advantage of the fact x86 shift instructions 2nd operand (shift count) is limited to 0 to 31 (or 63 in the x86-64 case).
2008-08-30 02:03:58 +00:00
shift-coalesce.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
shift-codegen.ll
Convert tests using "| wc -l | grep ..." to use the count script.
2007-08-15 13:36:28 +00:00
shift-combine.ll
third time around: instead of disabling this completely,
2007-12-06 07:47:55 +00:00
shift-double.ll
rename *.llx -> *.ll
2008-04-19 22:29:10 +00:00
shift-folding.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
shift-i128.ll
Fully general expansion of integer shift of any size.
2009-03-31 19:39:24 +00:00
shift-i256.ll
Fully general expansion of integer shift of any size.
2009-03-31 19:39:24 +00:00
shift-one.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
shift-parts.ll
Legalize the shift amount operand of SRL_PARTS, SHL_PARTS, and
2009-08-18 23:36:17 +00:00
shl_elim.ll
Increase efficiency of sign_extend_inreg by using subregisters for truncation. As the README suggests sign_extend_subreg is selected to (sext(trunc)).
2007-08-10 21:48:46 +00:00
shrink-fp-const1.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
shrink-fp-const2.ll
Generalize FP constant shrinking optimization to apply to any vt
2008-03-05 06:48:13 +00:00
sincos.ll
Modernize fabs.ll, add long double. Add tests
2007-09-26 21:12:10 +00:00
small-byval-memcpy.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
smul-with-overflow-2.ll
Implement multiple with overflow by 2 with an add instruction.
2009-01-27 03:30:42 +00:00
smul-with-overflow-3.ll
Teach LowerBRCOND to recognize (xor (setcc x), 1). The xor inverts the condition. It's normally transformed by the dag combiner, unless the condition is set by a arithmetic op with overflow.
2009-02-02 08:07:36 +00:00
smul-with-overflow.ll
- Use patterns instead of creating completely new instruction matching patterns,
2008-12-12 21:15:41 +00:00
soft-fp.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
split-eh-lpad-edges.ll
Revert 67132. This is breaking some objective-c apps.
2009-03-25 20:20:11 +00:00
split-select.ll
v2f32 is now a valid (MMX) type which breaks this
2008-06-24 22:03:36 +00:00
split-vector-rem.ll
Add support in SplitVectorOp for remainder operators.
2007-11-19 15:15:03 +00:00
sret.ll
Fix a fastcc + sret bug. If fastcc and sret, callee doesn't need to pop the hidden struct ptr; Re-enable fastcc.
2008-09-10 18:25:29 +00:00
sse2.ll
Fix test on Linux.
2009-08-15 21:28:17 +00:00
sse3.ll
specify a target triple so global variable manglings are consistent etc.
2009-08-15 17:35:05 +00:00
sse41.ll
Add a couple more tests for the ptest intrinsics to make sure we're
2009-07-29 00:51:15 +00:00
sse42.ll
Add crc32 instruction and intrinsics. Add a new class of prefix
2009-08-08 21:55:08 +00:00
sse_reload_fold.ll
Don't use special heuristics for nodes with no data predecessors
2009-02-11 21:29:39 +00:00
sse-align-0.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
sse-align-1.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-2.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
sse-align-3.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-4.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-5.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-6.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-7.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-8.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-9.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-10.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-11.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
sse-align-12.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
sse-fcopysign.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
sse-load-ret.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
sse-minmax.ll
Recognize more opportunities to use SSE min and max instructions,
2009-09-03 20:34:31 +00:00
sse-varargs.ll
SSE varargs arguments are passed in memory.
2008-01-22 23:26:53 +00:00
stack-align.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
stack-color-with-reg-2.ll
Fixed a stack slot coloring with reg bug: do not update implicit use / def when doing forward / backward propagation.
2009-05-12 18:31:57 +00:00
stack-color-with-reg.ll
Stabilize the order of live intervals in the priority_queue used by the
2009-09-05 01:19:16 +00:00
stdarg.ll
On x86-64, for a varargs function, don't store the xmm registers to
2009-08-15 01:38:56 +00:00
store_op_load_fold2.ll
Byebye llvm-upgrade!
2008-03-25 04:26:08 +00:00
store_op_load_fold.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
store-fp-constant.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
store-global-address.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
storetrunc-fp.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
stride-nine-with-base-reg.ll
Expand GEPs in ScalarEvolution expressions. SCEV expressions can now
2009-04-16 03:18:22 +00:00
stride-reuse.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
sub-with-overflow.ll
X86_COND_C and X86_COND_NC are alternate mnemonics for
2009-01-07 00:15:08 +00:00
subreg-to-reg-0.ll
Re-enable elimination of unnecessary SUBREG_TO_REG instructions in
2008-08-07 02:54:50 +00:00
subreg-to-reg-1.ll
Fix PR3934 part 2. findOnlyInterestingUse() was not setting IsCopy and IsDstPhys which are returned by value and used by callee. This happened to work on the earlier test cases because of a logic error in the caller side.
2009-04-14 00:32:25 +00:00
subreg-to-reg-2.ll
Do not fold away subreg_to_reg if the source register has a sub-register index. That means the source register is taking a sub-register of a larger register. e.g. On x86
2009-03-23 07:19:58 +00:00
subreg-to-reg-3.ll
Implement support for using modeling implicit-zero-extension on x86-64
2009-04-08 00:15:30 +00:00
subreg-to-reg-4.ll
Implement support for using modeling implicit-zero-extension on x86-64
2009-04-08 00:15:30 +00:00
subreg-to-reg-5.ll
Factor the code for collecting IV users out of LSR into an IVUsers class,
2009-05-12 02:17:14 +00:00
subreg-to-reg-6.ll
Implement support for using modeling implicit-zero-extension on x86-64
2009-04-08 00:15:30 +00:00
switch-zextload.ll
Generalize ExtendUsesToFormExtLoad to be usable for ANY_EXTEND,
2009-04-09 03:51:29 +00:00
swizzle.ll
The memory alignment requirement on some of the mov{h|l}p{d|s} patterns are 16-byte. That is overly strict. These instructions read / write f64 memory locations without alignment requirement.
2009-01-28 08:35:02 +00:00
tailcall1.ll
Added missing -march=x86 flag.
2007-10-12 07:49:48 +00:00
tailcall-i1.ll
Enable tail call optimization for functions that return a struct (bug 3664) and for functions that return types that need extending (e.g i1).
2009-03-28 08:33:27 +00:00
tailcall-stackalign.ll
Change the calling convention used when tail call optimization is enabled from CC_X86_32_TailCall to CC_X86_32_FastCC.
2008-09-22 14:50:07 +00:00
tailcall-structret.ll
Enable tail call optimization for functions that return a struct (bug 3664) and for functions that return types that need extending (e.g i1).
2009-03-28 08:33:27 +00:00
tailcall-void.ll
Make check in CheckTailCallReturnConstraints for ignorable instructions between
2009-03-28 12:36:29 +00:00
tailcallbyval64.ll
This patch corrects the handling of byval arguments for tailcall
2008-04-12 18:11:06 +00:00
tailcallbyval.ll
Fix byval arguments in the fastcc calling convention. The fastcc convention
2008-12-03 01:28:04 +00:00
tailcallfp2.ll
Change the calling convention used when tail call optimization is enabled from CC_X86_32_TailCall to CC_X86_32_FastCC.
2008-09-22 14:50:07 +00:00
tailcallfp.ll
Add indirect tail call (function pointer) examples.
2008-09-11 22:24:28 +00:00
tailcallpic1.ll
Added tail call optimization to the x86 back end. It can be
2007-10-11 19:40:01 +00:00
tailcallpic2.ll
Added tail call optimization to the x86 back end. It can be
2007-10-11 19:40:01 +00:00
tailcallstack64.ll
Major calling convention code refactoring.
2009-08-05 01:29:28 +00:00
test-nofold.ll
Set to default: x86 no longer fold and into test if it has more than one use.
2008-02-28 07:46:38 +00:00
test-shrink.ll
Add an x86 peep that narrows TEST instructions to forms that use
2009-08-19 18:16:17 +00:00
testl-commute.ll
add a testcase.
2009-01-07 01:48:08 +00:00
tls1.ll
no need for unwind info here.
2009-06-20 19:43:09 +00:00
tls2.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls3.ll
Reimplement rip-relative addressing in the X86-64 backend. The new
2009-06-27 04:16:01 +00:00
tls4.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls5.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls6.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls7.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls8.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls9.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls10.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls11.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls12.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls13.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls14.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls15.ll
X86-64 TLS support for local exec and initial exec.
2009-04-13 13:02:49 +00:00
tls-pic.ll
rename test
2009-08-07 23:57:30 +00:00
trap.ll
verify x86 generates ud2 for llvm.trap
2008-01-15 22:22:02 +00:00
trunc-to-bool.ll
When promoting the result of fp_to_uint/fp_to_sint,
2008-11-10 17:28:30 +00:00
twoaddr-coalesce-2.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
twoaddr-coalesce.ll
Implement support for using modeling implicit-zero-extension on x86-64
2009-04-08 00:15:30 +00:00
twoaddr-delete.ll
If two-address def is dead and the instruction does not define other registers, and it doesn't produce side effects, just delete the instruction.
2009-02-21 03:14:25 +00:00
twoaddr-pass-sink.ll
TwoAddressInstructionPass enhancement. After it converts a two address instruction into a 3-address one, sink it past the instruction that kills the read-mod-write register if its definition is used past the kill. This reduces the number of live register by one.
2008-03-13 06:37:55 +00:00
twoaddr-remat.ll
Enable two-address remat by default.
2008-06-25 01:16:38 +00:00
uint_to_fp-2.ll
Make linear scan's trivial coalescer slightly more aggressive.
2009-01-20 00:16:18 +00:00
uint_to_fp.ll
Now not UINT_TO_FP is legal (it's marked custom), dag combiner won't
2009-01-19 08:08:22 +00:00
umul-with-carry.ll
- Use patterns instead of creating completely new instruction matching patterns,
2008-12-12 21:15:41 +00:00
umul-with-overflow.ll
Add some generic expansion logic for SMULO and UMULO. Fixes UMULO
2009-06-16 06:58:29 +00:00
urem-i8-constant.ll
Fix for PR2164: allow transforming arbitrary-width unsigned divides into
2008-11-30 06:02:26 +00:00
v4f32-immediate.ll
Change all floating constants that are not exactly
2007-09-05 17:50:36 +00:00
variable-sized-darwin-bzero.ll
Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal
2008-04-12 04:36:06 +00:00
variadic-node-pic.ll
Fix the position of MemOperands in nodes that use variadic_ops
2008-06-02 17:40:38 +00:00
vec_add.ll
Remove double pipes in RUN commandlines.
2008-06-10 15:11:36 +00:00
vec_align.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
vec_call.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
vec_clear.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_compare.ll
add some more check for vector compares.
2009-07-08 18:51:25 +00:00
vec_ctbits.ll
Add nounwind.
2008-05-29 07:09:24 +00:00
vec_extract-sse4.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_extract.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_fneg.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
vec_i64.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_ins_extract-1.ll
make these tests pass when run on a G5.
2009-02-20 07:10:11 +00:00
vec_ins_extract.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
vec_insert_4.ll
Feedback from chris
2008-04-25 21:47:35 +00:00
vec_insert-2.ll
Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory.
2009-01-02 05:29:08 +00:00
vec_insert-3.ll
Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory.
2009-01-02 05:29:08 +00:00
vec_insert-5.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
vec_insert-6.ll
Add target triples so these tests behave as expected on non-darwin hosts.
2008-07-24 18:08:01 +00:00
vec_insert-7.ll
Fix test RUN line
2008-07-25 19:08:59 +00:00
vec_insert-8.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_insert.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
vec_loadsingles.ll
Slightly generalize the code that handles shuffles of consecutive loads
2009-06-07 06:52:44 +00:00
vec_logical.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
vec_return.ll
Convert several tests to use temporary files instead of redundantly
2008-06-10 00:36:41 +00:00
vec_select.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
vec_set-2.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
vec_set-3.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_set-4.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
vec_set-5.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_set-6.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_set-7.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
vec_set-8.ll
One readme entry is done, one is really easy (Evan, want to investigate
2007-12-29 19:31:47 +00:00
vec_set-9.ll
Prefer movlhps over punpcklqdq, etc. in more cases.
2008-09-25 23:35:16 +00:00
vec_set-A.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
vec_set-B.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
vec_set-C.ll
Handle a few more cases of folding load i64 into xmm and zero top bits.
2008-05-09 21:53:03 +00:00
vec_set-D.ll
Handle vector move / load which zero the destination register top bits (i.e. movd, movq, movss (addr), movsd (addr)) with X86 specific dag combine.
2008-05-08 00:57:18 +00:00
vec_set-E.ll
Simplify test.
2008-05-09 19:56:32 +00:00
vec_set-F.ll
Handle a few more cases of folding load i64 into xmm and zero top bits.
2008-05-09 21:53:03 +00:00
vec_set-G.ll
Add a pattern to do move the low element of a v4f32 and zero extend the rest.
2008-05-09 23:37:55 +00:00
vec_set-H.ll
On x86, it's safe to treat i32 load anyext as a normal i32 load. Ditto for i8 anyext load to i16.
2008-05-13 00:54:02 +00:00
vec_set-I.ll
Add missing patterns.
2008-05-22 18:56:56 +00:00
vec_set-J.ll
Fix for PR2472. Use movss to set lower 32-bits of a zero XMM vector.
2008-07-10 01:08:23 +00:00
vec_set.ll
Add nounwind.
2008-05-07 22:59:08 +00:00
vec_shift2.ll
- When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check if it's essentially a SCALAR_TO_VECTOR. Avoid turning (v8i16) <10, u, u, u> to <10, 0, u, u, u, u, u, u>. Instead, simply convert it to a SCALAR_TO_VECTOR of the proper type.
2008-02-18 23:04:32 +00:00
vec_shift3.ll
Select vector shift with non-immediate i32 shift amount operand by first moving the operand into the right register.
2008-05-04 09:15:50 +00:00
vec_shift.ll
Fix sse2.psrl.w and sse2.psrl.q definitions.
2008-01-09 02:16:44 +00:00
vec_shuffle-3.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-4.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
vec_shuffle-5.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-6.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-7.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-8.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
vec_shuffle-9.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-10.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-11.ll
Add nounwind.
2008-07-17 19:48:04 +00:00
vec_shuffle-14.ll
Make better use of instructions that clear high bits; fix various 2-wide shuffle bugs.
2007-12-15 03:00:47 +00:00
vec_shuffle-15.ll
Make better use of instructions that clear high bits; fix various 2-wide shuffle bugs.
2007-12-15 03:00:47 +00:00
vec_shuffle-16.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-17.ll
A better fix for my previous patch, MOVZQI2PQIrr just requires SSE2.
2008-04-20 05:52:46 +00:00
vec_shuffle-18.ll
The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and
2008-05-26 20:18:56 +00:00
vec_shuffle-19.ll
Add target triples so these tests behave as expected on non-darwin hosts.
2008-07-24 18:08:01 +00:00
vec_shuffle-20.ll
Add target triples so these tests behave as expected on non-darwin hosts.
2008-07-24 18:08:01 +00:00
vec_shuffle-22.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-23.ll
Remove OptimizeForSize global. Use function attribute optsize.
2008-10-01 23:18:38 +00:00
vec_shuffle-24.ll
Remove OptimizeForSize global. Use function attribute optsize.
2008-10-01 23:18:38 +00:00
vec_shuffle-25.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-26.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-27.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-28.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-30.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-31.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-34.ll
merge a bunch more sse3 tests into sse3.ll
2009-08-15 17:21:44 +00:00
vec_shuffle-35.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle-36.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_shuffle.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_splat-2.ll
Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps.
2008-04-05 00:30:36 +00:00
vec_splat-3.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_splat-4.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_splat.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
vec_ss_load_fold.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
vec_zero_cse.ll
fix this when run on non x86 hosts.
2007-12-06 01:05:52 +00:00
vec_zero-2.ll
Avoid creating BUILD_VECTOR of all zero elements of "non-normalized" type (e.g. v8i16 on x86) after legalizer. Instruction selection does not expect to see them. In all likelihood this can only be an issue in a bugpoint reduced test case.
2008-03-10 07:19:13 +00:00
vec_zero.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
vector-intrinsics.ll
Add intrinsics for sin, cos, and pow. These use llvm_anyfloat_ty, and so
2007-10-12 00:01:22 +00:00
vector-rem.ll
Add support for vector remainder operations.
2007-11-05 23:35:22 +00:00
vector-variable-idx.ll
Allow SelectionDAG to create EXTRACT_VECTOR_ELT nodes with
2008-08-13 21:51:37 +00:00
vector.ll
Split the Add, Sub, and Mul instruction opcodes into separate
2009-06-04 22:49:04 +00:00
vfcmp.ll
eliminate the v[if]cmp versions of these tests, now that [if]cmp+sext works.
2009-07-08 00:49:35 +00:00
volatile.ll
Second attempt:
2009-04-29 00:15:41 +00:00
vortex-bug.ll
Run vortex-bug as x86-64, which is what the original bug was triggered on.
2008-05-20 00:54:39 +00:00
vshift_scalar.ll
Added support for splitting and scalarizing vector shifts.
2008-12-15 21:44:00 +00:00
vshift_split2.ll
make these tests pass when run on a G5.
2009-02-20 07:10:11 +00:00
vshift_split.ll
Make x86 test actually test x86 code generation. Fix the
2009-08-22 03:13:10 +00:00
vshift-1.ll
Test cases for vector shifts changes r80935
2009-09-03 19:57:35 +00:00
vshift-2.ll
Test cases for vector shifts changes r80935
2009-09-03 19:57:35 +00:00
vshift-3.ll
Test cases for vector shifts changes r80935
2009-09-03 19:57:35 +00:00
vshift-4.ll
Remove dead greps.
2009-09-03 20:59:02 +00:00
vshift-5.ll
Test cases for vector shifts changes r80935
2009-09-03 19:57:35 +00:00
weak.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
wide-integer-fold.ll
Fix a few places in DAGCombiner that were creating all-ones-bits
2009-08-06 09:18:59 +00:00
widen_arith-1.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_arith-2.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_arith-3.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_arith-4.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_arith-5.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_arith-6.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_cast-1.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_cast-2.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_cast-3.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_cast-4.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_cast-5.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_cast-6.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_conv-1.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_conv-2.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_conv-3.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_conv-4.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_select-1.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_shuffle-1.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
widen_shuffle-2.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-and-mask.ll
Compile x86-64-and-mask.ll into:
2008-02-27 05:47:54 +00:00
x86-64-arg.ll
Change the x86 assembly output to use tab characters to separate the
2007-07-31 20:11:57 +00:00
x86-64-asm.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
x86-64-dead-stack-adjust.ll
actually run llc, thanks Dan :)
2008-02-27 17:46:54 +00:00
x86-64-disp.ll
Don't create TargetGlobalAddress nodes with offsets that don't fit
2008-10-21 03:38:42 +00:00
x86-64-frameaddr.ll
Re-apply 56683 with fixes.
2008-09-27 01:56:22 +00:00
x86-64-gv-offset.ll
Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing mode.
2008-02-07 08:53:49 +00:00
x86-64-malloc.ll
Fix codegen to compute the size of an allocation by multiplying the
2009-03-17 19:36:00 +00:00
x86-64-mem.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-1.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-2.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-3.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-4.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-5.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-6.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-7.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-8.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-9.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-10.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-pic-11.ll
Remove obsolete -f flags.
2009-08-25 15:38:29 +00:00
x86-64-ret0.ll
Fix live variables issues:
2008-03-19 00:52:20 +00:00
x86-64-shortint.ll
For PR1553:
2007-07-19 23:13:04 +00:00
x86-64-sret-return.ll
Enable cross register class coalescing.
2009-07-18 02:10:10 +00:00
x86-64-varargs.ll
Fix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs function implicitly reads X86::AL, don't clobber it!
2008-03-18 23:36:35 +00:00
x86-frameaddr2.ll
Re-apply 56683 with fixes.
2008-09-27 01:56:22 +00:00
x86-frameaddr.ll
Re-apply 56683 with fixes.
2008-09-27 01:56:22 +00:00
x86-store-gv-addr.ll
Revert r72734. The Darwin assembler doesn't support the static
2009-06-03 00:37:20 +00:00
xmm-r64.ll
Remove llvm-upgrade and update tests.
2008-02-21 07:42:26 +00:00
xor_not.ll
Favors generating "not" over "xor -1". For example.
2009-01-21 02:09:05 +00:00
xor-undef.ll
Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it.
2008-03-25 20:08:07 +00:00
xorl.ll
It might be nice to have this run as x86 on non-x86 platforms...
2008-03-18 22:38:22 +00:00
zero-remat.ll
convert a test to "FileCheck" style.
2009-07-08 18:48:24 +00:00
zext-inreg-0.ll
Re-introduce the 8-bit subreg zext-inreg patterns for x86-32,
2008-08-06 18:27:21 +00:00
zext-inreg-1.ll
Add an extra example that shouldn't get an and instruction.
2008-08-07 02:23:06 +00:00