llvm-6502/test/CodeGen/X86
Chandler Carruth 3071363bcd Completely re-write the algorithm behind MachineBlockPlacement based on
discussions with Andy. Fundamentally, the previous algorithm is both
counter productive on several fronts and prioritizing things which
aren't necessarily the most important: static branch prediction.

The new algorithm uses the existing loop CFG structure information to
walk through the CFG itself to layout blocks. It coalesces adjacent
blocks within the loop where the CFG allows based on the most likely
path taken. Finally, it topologically orders the block chains that have
been formed. This allows it to choose a (mostly) topologically valid
ordering which still priorizes fallthrough within the structural
constraints.

As a final twist in the algorithm, it does violate the CFG when it
discovers a "hot" edge, that is an edge that is more than 4x hotter than
the competing edges in the CFG. These are forcibly merged into
a fallthrough chain.

Future transformations that need te be added are rotation of loop exit
conditions to be fallthrough, and better isolation of cold block chains.
I'm also planning on adding statistics to model how well the algorithm
does at laying out blocks based on the probabilities it receives.

The old tests mostly still pass, and I have some new tests to add, but
the nested loops are still behaving very strangely. This almost seems
like working-as-intended as it rotated the exit branch to be
fallthrough, but I'm not convinced this is actually the best layout. It
is well supported by the probabilities for loops we currently get, but
those are pretty broken for nested loops, so this may change later.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142743 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-23 09:18:45 +00:00
..
GC
3addr-16bit.ll
3addr-or.ll
3dnow-intrinsics.ll
4char-promote.ll
2003-08-03-CallArgLiveRanges.ll
2003-08-23-DeadBlockTest.ll
2003-11-03-GlobalBool.ll
2004-02-13-FrameReturnAddress.ll
2004-02-14-InefficientStackPointer.ll
2004-02-22-Casts.ll
2004-03-30-Select-Max.ll
2004-04-09-SameValueCoalescing.ll
2004-04-13-FPCMOV-Crash.ll
2004-06-10-StackifierCrash.ll
2004-10-08-SelectSetCCFold.ll
2005-01-17-CycleInDAG.ll
2005-02-14-IllegalAssembler.ll
2005-05-08-FPStackifierPHI.ll
2006-01-19-ISelFoldingBug.ll
2006-03-01-InstrSchedBug.ll
2006-03-02-InstrSchedBug.ll
2006-04-04-CrossBlockCrash.ll
2006-04-27-ISelFoldingBug.ll
2006-05-01-SchedCausingSpills.ll
2006-05-02-InstrSched1.ll
2006-05-02-InstrSched2.ll
2006-05-08-CoalesceSubRegClass.ll
2006-05-08-InstrSched.ll
2006-05-11-InstrSched.ll Attempt to fix -mtriple=i686-{cygwin|mingw|win32} regressions. Nakamura, 2011-09-20 00:08:12 +00:00
2006-05-17-VectorArg.ll
2006-05-22-FPSetEQ.ll
2006-05-25-CycleInDAG.ll
2006-07-10-InlineAsmAConstraint.ll
2006-07-12-InlineAsmQConstraint.ll
2006-07-20-InlineAsm.ll
2006-07-28-AsmPrint-Long-As-Pointer.ll
2006-07-31-SingleRegClass.ll
2006-08-07-CycleInDAG.ll
2006-08-16-CycleInDAG.ll
2006-08-21-ExtraMovInst.ll
2006-09-01-CycleInDAG.ll
2006-10-02-BoolRetCrash.ll
2006-10-07-ScalarSSEMiscompile.ll
2006-10-09-CycleInDAG.ll
2006-10-10-FindModifiedNodeSlotBug.ll
2006-10-12-CycleInDAG.ll
2006-10-13-CycleInDAG.ll
2006-10-19-SwitchUnnecessaryBranching.ll
2006-11-12-CSRetCC.ll
2006-11-17-IllegalMove.ll
2006-11-27-SelectLegalize.ll
2006-12-16-InlineAsmCrash.ll
2006-12-19-IntelSyntax.ll
2007-01-08-InstrSched.ll
2007-01-08-X86-64-Pointer.ll
2007-01-13-StackPtrIndex.ll
2007-01-29-InlineAsm-ir.ll
2007-02-04-OrAddrMode.ll
2007-02-16-BranchFold.ll
2007-02-19-LiveIntervalAssert.ll
2007-02-23-DAGCombine-Miscompile.ll
2007-02-25-FastCCStack.ll
2007-03-01-SpillerCrash.ll
2007-03-15-GEP-Idx-Sink.ll
2007-03-16-InlineAsm.ll
2007-03-18-LiveIntervalAssert.ll
2007-03-24-InlineAsmMultiRegConstraint.ll
2007-03-24-InlineAsmPModifier.ll
2007-03-24-InlineAsmVectorOp.ll
2007-03-24-InlineAsmXConstraint.ll
2007-03-26-CoalescerBug.ll
2007-04-08-InlineAsmCrash.ll
2007-04-11-InlineAsmVectorResult.ll
2007-04-17-LiveIntervalAssert.ll
2007-04-24-Huge-Stack.ll
2007-04-24-VectorCrash.ll
2007-04-25-MMX-PADDQ.ll
2007-04-27-InlineAsm-IntMemInput.ll
2007-05-05-Personality.ll
2007-05-05-VecCastExpand.ll
2007-05-07-InvokeSRet.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
2007-05-14-LiveIntervalAssert.ll
2007-05-15-maskmovq.ll
2007-05-17-ShuffleISelBug.ll
2007-06-04-X86-64-CtorAsmBugs.ll
2007-06-15-IntToMMX.ll
2007-06-28-X86-64-isel.ll
2007-06-29-DAGCombinerBug.ll
2007-06-29-VecFPConstantCSEBug.ll
2007-07-03-GR64ToVR64.ll
2007-07-10-StackerAssert.ll
2007-07-18-Vector-Extract.ll
2007-08-01-LiveVariablesBug.ll
2007-08-09-IllegalX86-64Asm.ll
2007-08-10-SignExtSubreg.ll
2007-08-13-AppendingLinkage.ll
2007-09-05-InvalidAsm.ll
2007-09-06-ExtWeakAliasee.ll
2007-09-17-ObjcFrameEH.ll
2007-09-18-ShuffleXformBug.ll
2007-09-27-LDIntrinsics.ll
2007-10-04-AvoidEFLAGSCopy.ll
2007-10-12-CoalesceExtSubReg.ll
2007-10-12-SpillerUnfold1.ll
2007-10-12-SpillerUnfold2.ll
2007-10-14-CoalescerCrash.ll
2007-10-15-CoalescerCrash.ll
2007-10-16-CoalescerCrash.ll
2007-10-17-IllegalAsm.ll
2007-10-19-SpillerUnfold.ll
2007-10-28-inlineasm-q-modifier.ll
2007-10-29-ExtendSetCC.ll
2007-10-30-LSRCrash.ll
2007-10-31-extractelement-i64.ll
2007-11-01-ISelCrash.ll
2007-11-03-x86-64-q-constraint.ll
2007-11-04-LiveIntervalCrash.ll
2007-11-04-LiveVariablesBug.ll
2007-11-04-rip-immediate-constant.ll
2007-11-06-InstrSched.ll
2007-11-07-MulBy4.ll
2007-11-30-LoadFolding-Bug.ll
2007-12-16-BURRSchedCrash.ll
2007-12-18-LoadCSEBug.ll
2008-01-08-IllegalCMP.ll
2008-01-08-SchedulerCrash.ll This test depends on cmov being available. 2011-09-01 18:40:01 +00:00
2008-01-09-LongDoubleSin.ll
2008-01-16-FPStackifierAssert.ll
2008-01-16-InvalidDAGCombineXform.ll
2008-01-16-Trampoline.ll
2008-02-05-ISelCrash.ll
2008-02-06-LoadFoldingBug.ll
2008-02-08-LoadFoldingBug.ll
2008-02-14-BitMiscompile.ll
2008-02-18-TailMergingBug.ll
2008-02-20-InlineAsmClobber.ll
2008-02-22-LocalRegAllocBug.ll
2008-02-22-ReMatBug.ll
2008-02-25-InlineAsmBug.ll
2008-02-25-X86-64-CoalescerBug.ll
2008-02-26-AsmDirectMemOp.ll
2008-02-27-DeadSlotElimBug.ll
2008-02-27-PEICrash.ll
2008-03-06-frem-fpstack.ll
2008-03-07-APIntBug.ll
2008-03-10-RegAllocInfLoop.ll
2008-03-12-ThreadLocalAlias.ll
2008-03-13-TwoAddrPassCrash.ll
2008-03-14-SpillerCrash.ll
2008-03-18-CoalescerBug.ll
2008-03-19-DAGCombinerBug.ll
2008-03-23-DarwinAsmComments.ll
2008-03-25-TwoAddrPassBug.ll
2008-03-31-SpillerFoldingBug.ll
2008-04-02-unnamedEH.ll
2008-04-08-CoalescerCrash.ll
2008-04-09-BranchFolding.ll
2008-04-15-LiveVariableBug.ll
2008-04-16-CoalescerBug.ll
2008-04-16-ReMatBug.ll
2008-04-17-CoalescerBug.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
2008-04-24-MemCpyBug.ll
2008-04-24-pblendw-fold-crash.ll
2008-04-26-Asm-Optimize-Imm.ll
2008-04-28-CoalescerBug.ll
2008-04-28-CyclicSchedUnit.ll
2008-05-01-InvalidOrdCompare.ll
2008-05-09-PHIElimBug.ll
2008-05-09-ShuffleLoweringBug.ll
2008-05-12-tailmerge-5.ll
2008-05-21-CoalescerBug.ll
2008-05-22-FoldUnalignedLoad.ll
2008-05-28-CoalescerBug.ll
2008-05-28-LocalRegAllocBug.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
2008-06-13-NotVolatileLoadStore.ll
2008-06-13-VolatileLoadStore.ll
2008-06-16-SubregsBug.ll
2008-06-18-BadShuffle.ll
2008-06-25-VecISelBug.ll
2008-07-07-DanglingDeadInsts.ll
2008-07-09-ELFSectionAttributes.ll
2008-07-11-SHLBy1.ll
2008-07-16-CoalescerCrash.ll
2008-07-19-movups-spills.ll
2008-07-22-CombinerCrash.ll
2008-07-23-VSetCC.ll
2008-08-06-CmpStride.ll
2008-08-06-RewriterBug.ll
2008-08-17-UComiCodeGenBug.ll
2008-08-19-SubAndFetch.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
2008-08-23-64Bit-maskmovq.ll
2008-08-25-AsmRegTypeMismatch.ll
2008-08-31-EH_RETURN32.ll
2008-08-31-EH_RETURN64.ll
2008-09-05-sinttofp-2xi32.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
2008-09-09-LinearScanBug.ll
2008-09-11-CoalescerBug2.ll
2008-09-11-CoalescerBug.ll
2008-09-17-inline-asm-1.ll
2008-09-18-inline-asm-2.ll Fix test typo. 2011-08-31 00:02:59 +00:00
2008-09-19-RegAllocBug.ll
2008-09-25-sseregparm-1.ll
2008-09-26-FrameAddrBug.ll
2008-09-29-ReMatBug.ll
2008-09-29-VolatileBug.ll
2008-10-06-MMXISelBug.ll
2008-10-06-x87ld-nan-1.ll
2008-10-06-x87ld-nan-2.ll
2008-10-07-SSEISelBug.ll
2008-10-11-CallCrash.ll
2008-10-13-CoalescerBug.ll
2008-10-16-VecUnaryOp.ll
2008-10-17-Asm64bitRConstraint.ll
2008-10-20-AsmDoubleInI32.ll
2008-10-24-FlippedCompare.ll
2008-10-27-CoalescerBug.ll
2008-10-27-StackRealignment.ll
2008-10-29-ExpandVAARG.ll
2008-11-03-F80VAARG.ll
2008-11-06-testb.ll
2008-11-13-inlineasm-3.ll
2008-11-29-ULT-Sign.ll
2008-12-01-loop-iv-used-outside-loop.ll
2008-12-01-SpillerAssert.ll
2008-12-02-dagcombine-1.ll
2008-12-02-dagcombine-2.ll
2008-12-02-dagcombine-3.ll
2008-12-02-IllegalResultType.ll
2008-12-12-PrivateEHSymbol.ll
2008-12-16-BadShift.ll
2008-12-16-dagcombine-4.ll
2008-12-19-EarlyClobberBug.ll
2008-12-22-dagcombine-5.ll
2008-12-23-crazy-address.ll
2008-12-23-dagcombine-6.ll
2009-01-13-DoubleUpdate.ll
2009-01-16-SchedulerBug.ll
2009-01-16-UIntToFP.ll
2009-01-18-ConstantExprCrash.ll
2009-01-25-NoSSE.ll
2009-01-26-WrongCheck.ll
2009-01-27-NullStrings.ll
2009-01-31-BigShift2.ll
2009-01-31-BigShift3.ll
2009-01-31-BigShift.ll
2009-02-01-LargeMask.ll
2009-02-03-AnalyzedTwice.ll
2009-02-04-sext-i64-gep.ll
2009-02-05-CoalescerBug.ll
2009-02-08-CoalescerBug.ll
2009-02-09-ivs-different-sizes.ll
2009-02-11-codegenprepare-reuse.ll
2009-02-12-DebugInfoVLA.ll
2009-02-12-InlineAsm-nieZ-constraints.ll
2009-02-12-SpillerBug.ll
2009-02-21-ExtWeakInitializer.ll
2009-02-25-CommuteBug.ll
2009-02-26-MachineLICMBug.ll
2009-03-03-BitcastLongDouble.ll
2009-03-03-BTHang.ll
2009-03-05-burr-list-crash.ll
2009-03-07-FPConstSelect.ll
2009-03-09-APIntCrash.ll
2009-03-09-SpillerBug.ll
2009-03-10-CoalescerBug.ll
2009-03-12-CPAlignBug.ll
2009-03-13-PHIElimBug.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
2009-03-16-PHIElimInLPad.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
2009-03-16-SpillerBug.ll
2009-03-23-i80-fp80.ll
2009-03-23-LinearScanBug.ll
2009-03-23-MultiUseSched.ll
2009-03-25-TestBug.ll
2009-03-26-NoImplicitFPBug.ll
2009-04-12-FastIselOverflowCrash.ll
2009-04-12-picrel.ll
2009-04-13-2AddrAssert-2.ll
2009-04-13-2AddrAssert.ll
2009-04-14-IllegalRegs.ll
2009-04-16-SpillerUnfold.ll
2009-04-21-NoReloadImpDef.ll
2009-04-24.ll
2009-04-25-CoalescerBug.ll
2009-04-27-CoalescerAssert.ll
2009-04-27-LiveIntervalsAssert2.ll
2009-04-27-LiveIntervalsAssert.ll
2009-04-29-IndirectDestOperands.ll
2009-04-29-LinearScanBug.ll
2009-04-29-RegAllocAssert.ll
2009-04-scale.ll
2009-05-08-InlineAsmIOffset.ll
2009-05-11-tailmerge-crash.ll
2009-05-19-SingleElementExtractElement.ll
2009-05-23-available_externally.ll
2009-05-23-dagcombine-shifts.ll
2009-05-28-DAGCombineCrash.ll
2009-05-30-ISelBug.ll
2009-06-02-RewriterBug.ll
2009-06-03-Win64DisableRedZone.ll
2009-06-03-Win64SpillXMM.ll
2009-06-04-VirtualLiveIn.ll
2009-06-05-ScalarToVectorByteMMX.ll Attempt to fix -mtriple=i686-{cygwin|mingw|win32} regressions. Nakamura, 2011-09-20 00:08:12 +00:00
2009-06-05-sitofpCrash.ll
2009-06-05-VariableIndexInsert.ll
2009-06-05-VZextByteShort.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
2009-06-06-ConcatVectors.ll
2009-06-07-ExpandMMXBitcast.ll Add tripple and stabalize a few more tests. 2011-10-16 21:20:54 +00:00
2009-06-12-x86_64-tail-call-conv-out-of-sync-bug.ll
2009-06-15-not-a-tail-call.ll
2009-06-18-movlp-shuffle-register.ll - Move all MOVSS and MOVSD patterns close to their definitions 2011-08-31 03:04:20 +00:00
2009-07-06-TwoAddrAssert.ll
2009-07-07-SplitICmp.ll
2009-07-09-ExtractBoolFromVector.ll
2009-07-15-CoalescerBug.ll
2009-07-16-CoalescerBug.ll
2009-07-17-StackColoringBug.ll
2009-07-19-AsmExtraOperands.ll
2009-07-20-CoalescerBug.ll
2009-07-20-DAGCombineBug.ll
2009-08-02-mmx-scalar-to-vector.ll
2009-08-06-branchfolder-crash.ll
2009-08-06-inlineasm.ll
2009-08-08-CastError.ll
2009-08-12-badswitch.ll
2009-08-14-Win64MemoryIndirectArg.ll
2009-08-19-LoadNarrowingMiscompile.ll
2009-08-23-linkerprivate.ll
2009-08-23-SubRegReuseUndo.ll
2009-09-10-LoadFoldingBug.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
2009-09-10-SpillComments.ll
2009-09-16-CoalescerBug.ll
2009-09-19-earlyclobber.ll
2009-09-21-NoSpillLoopCount.ll
2009-09-22-CoalescerBug.ll
2009-09-23-LiveVariablesBug.ll
2009-10-14-LiveVariablesBug.ll
2009-10-16-Scope.ll Add a new wrapper node for a DILexicalBlock that encapsulates it and a 2011-10-11 22:59:11 +00:00
2009-10-19-atomic-cmp-eflags.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
2009-10-19-EmergencySpill.ll
2009-10-25-RewriterBug.ll
2009-11-04-SubregCoalescingBug.ll
2009-11-13-VirtRegRewriterBug.ll
2009-11-16-MachineLICM.ll
2009-11-16-UnfoldMemOpBug.ll
2009-11-17-UpdateTerminator.ll
2009-11-18-TwoAddrKill.ll
2009-11-25-ImpDefBug.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
2009-12-01-EarlyClobberBug.ll
2009-12-11-TLSNoRedZone.ll
2010-01-05-ZExt-Shl.ll
2010-01-07-ISelBug.ll
2010-01-07-UAMemFeature.ll
2010-01-08-Atomic64Bug.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
2010-01-11-ExtraPHIArg.ll
2010-01-13-OptExtBug.ll
2010-01-15-SelectionDAGCycle.ll
2010-01-18-DbgValue.ll
2010-01-19-OptExtBug.ll
2010-02-01-DbgValueCrash.ll
2010-02-01-TaillCallCrash.ll
2010-02-03-DualUndef.ll
2010-02-04-SchedulerBug.ll
2010-02-11-NonTemporal.ll
2010-02-12-CoalescerBug-Impdef.ll
2010-02-15-ImplicitDefBug.ll
2010-02-19-TailCallRetAddrBug.ll
2010-02-23-DAGCombineBug.ll
2010-02-23-DIV8rDefinesAX.ll
2010-02-23-RematImplicitSubreg.ll
2010-02-23-SingleDefPhiJoin.ll
2010-03-04-Mul8Bug.ll
2010-03-05-ConstantFoldCFG.ll
2010-03-05-EFLAGS-Redef.ll
2010-03-17-ISelBug.ll
2010-04-06-SSEDomainFixCrash.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
2010-04-07-DbgValueOtherTargets.ll
2010-04-08-CoalescerBug.ll
2010-04-13-AnalyzeBranchCrash.ll
2010-04-21-CoalescerBug.ll
2010-04-23-mmx-movdq2q.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
2010-04-29-CoalescerCrash.ll
2010-04-30-LocalAlloc-LandingPad.ll Cannot have an llvm.eh.exception call in a non-landing pad block. 2011-08-27 04:53:28 +00:00
2010-05-03-CoalescerSubRegClobber.ll
2010-05-05-LocalAllocEarlyClobber.ll
2010-05-06-LocalInlineAsmClobber.ll
2010-05-07-ldconvert.ll
2010-05-10-DAGCombinerBug.ll
2010-05-12-FastAllocKills.ll
2010-05-16-nosseconversion.ll
2010-05-25-DotDebugLoc.ll
2010-05-26-DotDebugLoc.ll
2010-05-26-FP_TO_INT-crash.ll
2010-05-28-Crash.ll
2010-06-01-DeadArg-DbgInfo.ll
2010-06-09-FastAllocRegisters.ll
2010-06-14-fast-isel-fs-load.ll
2010-06-15-FastAllocEarlyCLobber.ll
2010-06-24-g-constraint-crash.ll
2010-06-25-asm-RA-crash.ll
2010-06-25-CoalescerSubRegDefDead.ll
2010-06-28-DbgEntryPC.ll
2010-06-28-FastAllocTiedOperand.ll
2010-06-28-matched-g-constraint.ll
2010-07-02-asm-alignstack.ll
2010-07-02-UnfoldBug.ll
2010-07-06-asm-RIP.ll
2010-07-06-DbgCrash.ll
2010-07-11-FPStackLoneUse.ll
2010-07-13-indirectXconstraint.ll
2010-07-15-Crash.ll
2010-07-29-SetccSimplify.ll
2010-08-04-MaskedSignedCompare.ll
2010-08-04-MingWCrash.ll
2010-08-04-StackVariable.ll
2010-08-10-DbgConstant.ll
2010-09-01-RemoveCopyByCommutingDef.ll
2010-09-16-asmcrash.ll
2010-09-16-EmptyFilename.ll
2010-09-17-SideEffectsInChain.ll
2010-09-30-CMOV-JumpTable-PHI.ll
2010-10-08-cmpxchg8b.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
2010-11-02-DbgParameter.ll
2010-11-09-MOVLPS.ll
2010-11-18-SelectOfExtload.ll
2010-12-02-MC-Set.ll
2011-01-07-LegalizeTypesCrash.ll
2011-01-10-DagCombineHang.ll
2011-01-24-DbgValue-Before-Use.ll
2011-02-04-FastRegallocNoFP.ll
2011-02-12-shuffle.ll
2011-02-21-VirtRegRewriter-KillSubReg.ll
2011-02-23-UnfoldBug.ll
2011-02-27-Fpextend.ll
2011-03-02-DAGCombiner.ll
2011-03-08-Sched-crash.ll
2011-03-09-Physreg-Coalescing.ll
2011-03-30-CreateFixedObjCrash.ll
2011-04-13-SchedCmpJmp.ll
2011-05-09-loaduse.ll
2011-05-26-UnreachableBlockElim.ll
2011-05-27-CrossClassCoalescing.ll
2011-06-01-fildll.ll
2011-06-03-x87chain.ll
2011-06-06-fgetsign80bit.ll
2011-06-12-FastAllocSpill.ll
2011-06-14-mmx-inlineasm.ll
2011-06-14-PreschedRegalias.ll
2011-06-19-QuicksortCoalescerBug.ll
2011-07-13-BadFrameIndexDisplacement.ll
2011-08-23-PerformSubCombine128.ll PerformSubCombine to work on integers larger than i128. Fixes a crasher. 2011-08-23 19:01:24 +00:00
2011-08-23-Trampoline.ll Another forgotten trampoline testcase. 2011-09-07 10:05:14 +00:00
2011-08-29-BlockConstant.ll Compress Repeated Byte Output 2011-08-31 17:30:56 +00:00
2011-08-29-InitOrder.ll Darwin wants ctors/dtors to be ordered the other way round to linux. 2011-09-02 18:07:19 +00:00
2011-09-14-valcoalesce.ll Test case trial and error. Not sure the proper way to check MBB names. 2011-09-16 03:57:19 +00:00
2011-09-18-sse2cmp.ll setOperationAction should be done on the return value of the type, not the operands. 2011-09-18 14:57:03 +00:00
2011-09-21-setcc-bug.ll add another testcase for pr10902 2011-09-21 17:13:40 +00:00
2011-10-11-SpillDead.ll Add value numbers when spilling dead defs. 2011-10-14 00:34:31 +00:00
2011-10-11-srl.ll Add support for legalization of vector SHL/SRA/SRL instructions 2011-10-11 14:36:35 +00:00
2011-10-12-MachineCSE.ll We need to verify that the machine instruction we're using as a replacement for 2011-10-12 23:03:40 +00:00
2011-10-18-FastISel-VectorParams.ll Added testcase for <rdar://problem/10215997> 2011-10-18 23:50:52 +00:00
2011-10-19-LegelizeLoad.ll Fix a bug in the legalization of vector anyext-load and trunc-store. Mem Index starts with zero. 2011-10-18 22:32:43 +00:00
2011-10-19-widen_vselect.ll Add support for the vector-widening of vselect and vector-setcc 2011-10-19 09:45:11 +00:00
2011-10-21-widen-cmp.ll Fix pr11193. 2011-10-22 12:39:25 +00:00
2011-20-21-zext-ui2fp.ll Fix pr11194. When promoting and splitting integers we need to use 2011-10-21 17:35:19 +00:00
9601.ll
20090313-signext.ll
abi-isel.ll
add-of-carry.ll
add.ll
adde-carry.ll
addr-label-difference.ll
aliases.ll
aligned-comm.ll
alignment-2.ll Filecheck-ize. 2011-09-30 23:40:29 +00:00
alignment.ll Add new line at end of file. 2011-09-30 23:21:11 +00:00
all-ones-vector.ll
alldiv-divdi3.ll
alloca-align-rounding-32.ll
alloca-align-rounding.ll
allrem-moddi3.ll
and-or-fold.ll
and-su.ll
andimm8.ll
anyext.ll
apm.ll
arg-cast.ll
asm-block-labels.ll
asm-global-imm.ll
asm-indirect-mem.ll
asm-label2.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
asm-label.ll
asm-modifier-P.ll
asm-modifier.ll
atomic_add.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
atomic_op.ll Last batch of test conversions to new atomic instructions. 2011-09-27 00:17:29 +00:00
atomic-load-store-wide.ll Error out on CodeGen of unaligned load/store. Fix test so it isn't accidentally testing that case. 2011-09-13 20:50:54 +00:00
atomic-load-store.ll Fix atomic load and store on x86 to pass -verify-machineinstrs (and possibly fix some subtle bugs involving passes which check mayStore()). 2011-09-07 18:48:32 +00:00
atomic-or.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
Atomics-64.ll Last batch of test conversions to new atomic instructions. 2011-09-27 00:17:29 +00:00
attribute-sections.ll
avoid-lea-scale2.ll
avoid-loop-align-2.ll
avoid-loop-align.ll
avx-arith.ll Break 256-bit vector int add/sub/mul into two 128-bit operations to avoid costly scalarization. Fixes PR10711. 2011-08-24 06:14:18 +00:00
avx-basic.ll Change all checks regarding the presence of any SSE level to always 2011-09-15 18:27:36 +00:00
avx-bitcast.ll Add a AVX version of a simple i64 -> f64 bitcast. This could be 2011-09-08 21:52:33 +00:00
avx-blend.ll Apply Duncan's test fix from r139986 to the avx version of that test too. 2011-09-18 00:41:38 +00:00
avx-cast.ll
avx-cmp.ll Match X86ISD::FSETCCsd and X86ISD::FSETCCss while in AVX mode. This fix 2011-09-19 21:29:24 +00:00
avx-cvt.ll
avx-intrinsics-x86_64.ll
avx-intrinsics-x86.ll
avx-load-store.ll Remove X86-dependent stuff from SSEDomainFix. 2011-09-27 23:50:46 +00:00
avx-logic.ll Cleanup vector logical ops in AVX and add use int versions for simple 2011-08-18 02:11:34 +00:00
avx-minmax.ll test/CodeGen/X86/avx-minmax.ll: Unbreak Win32. 2011-09-20 14:11:35 +00:00
avx-movdup.ll
avx-select.ll
avx-shift.ll Fix PR10688. Add support for spliting 256-bit vector shifts when the 2011-08-17 22:12:20 +00:00
avx-shuffle.ll Make sure the X86 backend doesn't explode on 128-bit shuffles in AVX mode. Fixes PR11102. 2011-10-10 22:28:47 +00:00
avx-splat.ll Remove X86-dependent stuff from SSEDomainFix. 2011-09-27 23:50:46 +00:00
avx-unpack.ll
avx-vbroadcast.ll Fix vbroadcast matching logic to early unmatch if the node doesn't have 2011-09-01 18:15:06 +00:00
avx-vextractf128.ll
avx-vinsertf128.ll Add a DAGCombine for subvector extracts to remove useless chains of 2011-09-20 23:19:33 +00:00
avx-vmovddup.ll Add support for AVX 256-bit version of MOVDDUP! 2011-08-25 21:40:37 +00:00
avx-vperm2f128.ll
avx-vpermil.ll
avx-vshufp.ll Add support for 256-bit versions of VSHUFPD and VSHUFPS. 2011-08-25 02:58:26 +00:00
avx-vzeroupper.ll Introduce a pass to insert vzeroupper instructions to avoid AVX to 2011-08-23 01:14:17 +00:00
barrier-sse.ll Last batch of test conversions to new atomic instructions. 2011-09-27 00:17:29 +00:00
barrier.ll Last batch of test conversions to new atomic instructions. 2011-09-27 00:17:29 +00:00
basic-promote-integers.ll
bc-extract.ll
bigstructret2.ll
bigstructret.ll
bit-test-shift.ll
bitcast2.ll
bitcast-int-to-vector.ll
bitcast.ll
block-placement.ll Completely re-write the algorithm behind MachineBlockPlacement based on 2011-10-23 09:18:45 +00:00
bmi.ll Remove intrinsics for X86 BLSI, BLSMSK, and BLSR intrinsics and replace with custom isel lowering code. 2011-10-21 06:55:01 +00:00
bool-zext.ll
br-fold.ll
brcond.ll
break-anti-dependencies.ll
break-sse-dep.ll
bss_pagealigned.ll
bswap-inline-asm.ll
bswap.ll Force CPU type on test so it doesn't accidentally emit movbe instead of bswap on Intel Atom CPUs. 2011-10-13 14:27:54 +00:00
bt.ll
byval2.ll
byval3.ll
byval4.ll
byval5.ll
byval6.ll
byval7.ll
byval-align.ll
byval.ll
call-imm.ll
call-push.ll
change-compare-stride-0.ll LSR: rewrite inner loops only. 2011-09-29 01:33:38 +00:00
change-compare-stride-1.ll LSR: rewrite inner loops only. 2011-09-29 01:33:38 +00:00
change-compare-stride-trickiness-0.ll
change-compare-stride-trickiness-1.ll
change-compare-stride-trickiness-2.ll
clz.ll
cmov.ll Pseudo CMOV instructions don't clobber EFLAGS. 2011-09-02 23:52:55 +00:00
cmp.ll
cmpxchg16b.ll Add support for generating CMPXCHG16B on x86-64 for the cmpxchg IR instruction. 2011-08-26 21:21:21 +00:00
coalesce-esp.ll
coalescer-commute1.ll
coalescer-commute2.ll
coalescer-commute3.ll
coalescer-commute4.ll
coalescer-commute5.ll
coalescer-cross.ll
coalescer-dce.ll Add test case for r138018. 2011-08-19 04:30:24 +00:00
coalescer-remat.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
code_placement_eh.ll Update to new EH scheme. 2011-08-27 04:53:41 +00:00
code_placement.ll
codegen-prepare-cast.ll
codegen-prepare-extload.ll
codemodel.ll
combine-lds.ll
combiner-aa-0.ll
combiner-aa-1.ll
commute-intrinsic.ll
commute-two-addr.ll
compare_folding.ll
compare-add.ll
compare-inf.ll
compiler_used.ll
complex-asm.ll
complex-fca.ll
conditional-indecrement.ll
constant-pool-remat-0.ll
constant-pool-sharing.ll
constpool.ll
convert-2-addr-3-addr-inc64.ll
copysign-zero.ll
crash-nosse.ll
crash-O0.ll
crash.ll Also inflate register classes around inline asm. 2011-10-12 23:37:40 +00:00
critical-edge-split-2.ll
cstring.ll
ctpop-combine.ll
dag-rauw-cse.ll
dagcombine-buildvector.ll
dagcombine-cse.ll
darwin-bzero.ll
darwin-no-dead-strip.ll
darwin-quote.ll
darwin-stub.ll
dbg-at-specficiation.ll Do not unnecessarily use AT_specification DIE because it does not add any value. 2011-09-21 23:41:11 +00:00
dbg-byval-parameter.ll
dbg-const-int.ll
dbg-const.ll
dbg-declare-arg.ll
dbg-file-name.ll Add support for a new extension to the .file directive: 2011-10-17 23:05:28 +00:00
dbg-i128-const.ll
dbg-inline.ll
dbg-large-unsigned-const.ll
dbg-merge-loc-entry.ll
dbg-prolog-end.ll
dbg-value-dag-combine.ll
dbg-value-inlined-parameter.ll
dbg-value-isel.ll
dbg-value-location.ll
dbg-value-range.ll
dg.exp
discontiguous-loops.ll
div8.ll
divide-by-constant.ll
divrem.ll
dll-linkage.ll
dllexport.ll
dollar-name.ll
dyn-stackalloc.ll
eh_frame.ll
empty-functions.ll
empty-struct-return-type.ll
epilogue.ll
extend.ll
extern_weak.ll
extmul64.ll
extmul128.ll
extract-combine.ll
extract-extract.ll
extractelement-from-arg.ll
extractelement-load.ll
extractelement-shuffle.ll
extractps.ll
fabs.ll
fast-cc-callee-pops.ll
fast-cc-merge-stack-adj.ll
fast-cc-pass-in-regs.ll
fast-isel-agg-constant.ll
fast-isel-atomic.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
fast-isel-avoid-unnecessary-pic-base.ll
fast-isel-bail.ll
fast-isel-bc.ll
fast-isel-call.ll
fast-isel-cmp-branch.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
fast-isel-constpool.ll
fast-isel-extract.ll
fast-isel-fneg.ll
fast-isel-gep.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
fast-isel-gv.ll
fast-isel-i1.ll
fast-isel-mem.ll
fast-isel-ret-ext.ll
fast-isel-tailcall.ll
fast-isel-tls.ll PR10991: make fast-isel correctly check whether accessing a global through an alias involves thread-local storage. (I'm not entirely sure how this is supposed to work, but this patch makes fast-isel consistent with the normal isel path.) 2011-09-22 23:41:28 +00:00
fast-isel-x86-64.ll FastISel: avoid function calls between the materialization of the constant and its use. 2011-08-18 22:06:10 +00:00
fast-isel-x86.ll
fast-isel.ll
fastcall-correct-mangling.ll
fastcc3struct.ll
fastcc-2.ll
fastcc-byval.ll
fastcc-sret.ll
fastcc.ll
field-extract-use-trunc.ll
fildll.ll
fltused.ll
fma.ll
fmul-zero.ll
fold-add.ll
fold-and-shift.ll
fold-call-2.ll
fold-call-3.ll
fold-call.ll
fold-imm.ll
fold-load.ll
fold-mul-lohi.ll
fold-pcmpeqd-0.ll
fold-pcmpeqd-1.ll
fold-pcmpeqd-2.ll
fold-sext-trunc.ll
fold-xmm-zero.ll
fold-zext-trunc.ll
force-align-stack.ll
fp2sint.ll
fp_constant_op.ll
fp_load_cast_fold.ll
fp_load_fold.ll
fp-elim.ll
fp-immediate-shorten.ll
fp-in-intregs.ll
fp-stack-2results.ll
fp-stack-compare.ll
fp-stack-direct-ret.ll
fp-stack-O0-crash.ll
fp-stack-O0.ll
fp-stack-ret-conv.ll
fp-stack-ret-store.ll
fp-stack-ret.ll
fp-stack-retcopy.ll
fp-stack-set-st1.ll
fp-stack.ll
fp-trunc.ll
fsxor-alignment.ll
full-lsr.ll
ga-offset.ll
gather-addresses.ll
ghc-cc64.ll
ghc-cc.ll
global-sections-tls.ll
global-sections.ll
h-register-addressing-32.ll
h-register-addressing-64.ll
h-register-store.ll
h-registers-0.ll
h-registers-1.ll
h-registers-2.ll
h-registers-3.ll
haddsub.ll Synthesize SSE3/AVX 128 bit horizontal add/sub instructions from 2011-09-22 20:15:48 +00:00
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis-4.ll
hidden-vis-pic.ll
hidden-vis.ll PR10989: Don't print .hidden on Windows. 2011-09-23 00:13:02 +00:00
hoist-common.ll
i2k.ll
i64-mem-copy.ll
i128-and-beyond.ll
i128-immediate.ll
i128-mul.ll
i128-ret.ll
i256-add.ll
iabs.ll
illegal-insert.ll
illegal-vector-args-return.ll
imul-lea-2.ll
imul-lea.ll
inline-asm-2addr.ll
inline-asm-error.ll
inline-asm-flag-clobber.ll
inline-asm-fpstack.ll
inline-asm-h.ll
inline-asm-modifier-n.ll
inline-asm-mrv.ll
inline-asm-out-regs.ll
inline-asm-pic.ll
inline-asm-ptr-cast.ll
inline-asm-q-regs.ll
inline-asm-R-constraint.ll
inline-asm-tied.ll
inline-asm-x-scalar.ll
inline-asm.ll
ins_subreg_coalesce-1.ll
ins_subreg_coalesce-2.ll
ins_subreg_coalesce-3.ll
insert-positions.ll
insertelement-copytoregs.ll
insertelement-legalize.ll
int-intrinsic.ll
invalid-shift-immediate.ll
isel-sink2.ll
isel-sink3.ll
isel-sink.ll
isint.ll
isnan2.ll
isnan.ll
ispositive.ll
iv-users-in-other-loops.ll LSR: rewrite inner loops only. 2011-09-29 01:33:38 +00:00
jump_sign.ll
label-redefinition.ll
large-gep-scale.ll
ldzero.ll
lea-2.ll
lea-3.ll
lea-4.ll
lea-recursion.ll
lea.ll
leaf-fp-elim.ll
legalize-fmp-oeq-vector-select.ll
legalize-sub-zero-2.ll
legalize-sub-zero.ll
legalizedag_vec.ll
lfence.ll Last batch of test conversions to new atomic instructions. 2011-09-27 00:17:29 +00:00
licm-dominance.ll Add dominance check for the instruction being hoisted. 2011-10-11 18:09:58 +00:00
licm-nested.ll Make this test more specific. There are 3 stats that matched "machine-licm". 2011-10-11 23:34:31 +00:00
licm-symbol.ll
limited-prec.ll
live-out-reg-info.ll
liveness-local-regalloc.ll
lock-inst-encoding.ll Convert a bunch more tests over to the new atomic instructions. 2011-09-26 23:15:09 +00:00
long-setcc.ll
longlong-deadload.ll
loop-blocks.ll
loop-hoist.ll
loop-strength-reduce2.ll
loop-strength-reduce3.ll LSR: rewrite inner loops only. 2011-09-29 01:33:38 +00:00
loop-strength-reduce4.ll
loop-strength-reduce5.ll
loop-strength-reduce6.ll
loop-strength-reduce7.ll
loop-strength-reduce8.ll
loop-strength-reduce-2.ll
loop-strength-reduce-3.ll
loop-strength-reduce.ll
lsr-delayed-fold.ll
lsr-i386.ll
lsr-interesting-step.ll
lsr-loop-exit-cond.ll
lsr-negative-stride.ll
lsr-nonaffine.ll
lsr-normalization.ll
lsr-overflow.ll
lsr-quadratic-expand.ll
lsr-redundant-addressing.ll
lsr-reuse-trunc.ll
lsr-reuse.ll
lsr-sort.ll
lsr-static-addr.ll
lsr-wrap.ll
lzcnt.ll Test case for X86 LZCNT instruction selection. 2011-10-11 06:47:01 +00:00
machine-cse.ll
MachineSink-CritEdge.ll
MachineSink-DbgValue.ll While sinking machine instructions, sink matching DBG_VALUEs also otherwise live debug variable pass will drop DBG_VALUEs on the floor. 2011-09-07 00:07:58 +00:00
MachineSink-eflags.ll Update live-in lists when splitting critical edges. 2011-10-14 17:25:46 +00:00
MachineSink-PHIUse.ll
masked-iv-safe.ll
masked-iv-unsafe.ll
maskmovdqu.ll
mcinst-lowering.ll
mem-promote-integers.ll
membarrier.ll Last batch of test conversions to new atomic instructions. 2011-09-27 00:17:29 +00:00
memcmp.ll
memcpy-2.ll
memcpy.ll
memset64-on-x86-32.ll
memset-2.ll
memset-3.ll
memset.ll
mfence.ll Last batch of test conversions to new atomic instructions. 2011-09-27 00:17:29 +00:00
mingw-alloca.ll
misaligned-memset.ll
mmx-arg-passing2.ll
mmx-arg-passing.ll
mmx-arith.ll
mmx-bitcast-to-i64.ll
mmx-builtins.ll
mmx-copy-gprs.ll
mmx-emms.ll
mmx-insert-element.ll
mmx-pinsrw.ll stabalize tests by specifying the exact sse level 2011-10-17 19:45:38 +00:00
mmx-punpckhdq.ll
mmx-s2v.ll
mmx-shift.ll
mmx-shuffle.ll
movbe.ll test/CodeGen/X86/movbe.ll: Give explicit -mtriple=x86_64-linux, to unbreak win32 hosts. 2011-10-11 03:41:03 +00:00
movfs.ll
movgs.ll Attempt to fix -mtriple=i686-{cygwin|mingw|win32} regressions. Nakamura, 2011-09-20 00:08:12 +00:00
movmsk.ll High bits of movmskp{s|d} and pmovmskb are known zero. rdar://10247336 2011-10-07 17:21:44 +00:00
movntdq-no-avx.ll
mul64.ll
mul128.ll
mul-legalize.ll
mul-remat.ll
mul-shift-reassoc.ll
muloti.ll
mult-alt-generic-i686.ll
mult-alt-generic-x86_64.ll
mult-alt-x86.ll
multiple-loop-post-inc.ll
multiple-return-values-cross-block.ll
nancvt.ll
narrow_op-1.ll
narrow-shl-cst.ll
narrow-shl-load.ll
neg_fp.ll
neg-shl-add.ll
negate-add-zero.ll
negative_zero.ll
negative-sin.ll
negative-stride-fptosi-user.ll
negative-subscript.ll
no-cfi.ll
nobt.ll
non-lazy-bind.ll
nontemporal.ll
norex-subreg.ll Add TEST8ri_NOREX pseudo to constrain sub_8bit_hi copies. 2011-10-08 18:28:28 +00:00
nosse-error1.ll
nosse-error2.ll
nosse-varargs.ll
object-size.ll
opt-ext-uses.ll
opt-shuff-tstore.ll
optimize-max-0.ll
optimize-max-1.ll
optimize-max-2.ll
optimize-max-3.ll
or-address.ll Pseudo CMOV instructions don't clobber EFLAGS. 2011-09-02 23:52:55 +00:00
or-branch.ll
overlap-shift.ll
packed_struct.ll
palignr-2.ll
palignr.ll Really un-XFAIL the testcase, like I said I would in r139458. 2011-09-10 02:02:27 +00:00
peep-setb.ll
peep-test-0.ll
peep-test-1.ll
peep-test-2.ll
peep-test-3.ll
peep-vector-extract-concat.ll
peep-vector-extract-insert.ll
personality.ll Remove old declare statements. 2011-08-31 21:41:20 +00:00
phi-bit-propagation.ll
phi-immediate-factoring.ll
phys_subreg_coalesce-2.ll
phys_subreg_coalesce-3.ll
phys_subreg_coalesce.ll
phys-reg-local-regalloc.ll
pic_jumptable.ll
pic-load-remat.ll
pic.ll
pmul.ll
pmulld.ll
popcnt.ll
postalloc-coalescing.ll
postra-licm.ll
powi.ll
pr1462.ll
pr1489.ll
pr1505.ll
pr1505b.ll
pr2177.ll
pr2182.ll
pr2326.ll
pr2656.ll
pr2659.ll
pr2849.ll
pr2924.ll
pr2982.ll
pr3154.ll
pr3216.ll
pr3241.ll
pr3243.ll
pr3244.ll
pr3250.ll
pr3317.ll
pr3366.ll
pr3457.ll
pr3495-2.ll
pr3495.ll LSR: rewrite inner loops only. 2011-09-29 01:33:38 +00:00
pr3522.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
pr7882.ll
pr9127.ll
pr9743.ll
pr10068.ll
pr10420.ll
prefetch.ll
private-2.ll
private.ll
promote-assert-zext.ll
promote-i16.ll
promote-trunc.ll
promote.ll Add additional element-promotion tests. 2011-10-18 23:05:33 +00:00
ptr-rotate.ll
ptrtoint-constexpr.ll
rdtsc.ll
red-zone2.ll
red-zone.ll
reghinting.ll
regpressure.ll
rem-2.ll
rem.ll
remat-constant.ll
remat-mov-0.ll
remat-scalar-zero.ll
ret-addr.ll
ret-i64-0.ll
ret-mmx.ll
rip-rel-address.ll
rodata-relocs.ll
rot16.ll
rot32.ll
rot64.ll
rotate2.ll
rotate.ll
scalar_sse_minmax.ll
scalar_widen_div.ll fix a typo in the test 2011-10-16 20:43:41 +00:00
scalar-extract.ll
scalar-min-max-fill-operand.ll
scalarize-bitcast.ll
scev-interchange.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
sdiv-exact.ll
segmented-stacks.ll More closely follow libgcc, which has code after the `ret' instruction to 2011-10-13 08:24:19 +00:00
select.ll
setcc.ll
setoeq.ll
setuge.ll
sext-i1.ll
sext-load.ll
sext-ret-val.ll
sext-subreg.ll
sext-trunc.ll
sfence.ll Last batch of test conversions to new atomic instructions. 2011-09-27 00:17:29 +00:00
shift-and.ll
shift-coalesce.ll
shift-codegen.ll
shift-combine.ll
shift-double.ll
shift-folding.ll
shift-i128.ll
shift-i256.ll
shift-one.ll
shift-pair.ll
shift-parts.ll
shl_elim.ll
shl_undef.ll
shl-anyext.ll
shrink-compare.ll
shrink-fp-const1.ll
shrink-fp-const2.ll
sibcall-2.ll
sibcall-3.ll
sibcall-4.ll
sibcall-5.ll
sibcall-byval.ll
sibcall.ll
sincos.ll
sink-hoist.ll Add dominance check for the instruction being hoisted. 2011-10-11 18:09:58 +00:00
small-byval-memcpy.ll
smul-with-overflow.ll
soft-fp.ll
splat-scalar-load.ll
split-eh-lpad-edges.ll Update more tests to the new EH scheme. 2011-08-31 21:39:05 +00:00
split-vector-bitcast.ll
split-vector-rem.ll
sret.ll
sse1.ll
sse2-blend.ll Improve code generation for vselect on SSE2: 2011-10-19 20:43:16 +00:00
sse2.ll
sse3.ll
sse41-blend.ll Synthesize x86 max/min instructions also for vectors (i.e. produce 2011-09-17 16:49:39 +00:00
sse41.ll
sse42_64.ll
sse42.ll
sse_reload_fold.ll
sse-align-0.ll
sse-align-1.ll
sse-align-2.ll
sse-align-3.ll
sse-align-4.ll
sse-align-5.ll
sse-align-6.ll
sse-align-7.ll
sse-align-8.ll
sse-align-9.ll
sse-align-10.ll
sse-align-11.ll
sse-align-12.ll
sse-commute.ll
sse-fcopysign.ll
sse-load-ret.ll
sse-minmax.ll Synthesize x86 max/min instructions also for vectors (i.e. produce 2011-09-17 16:49:39 +00:00
sse-varargs.ll
stack-align.ll
stack-protector-linux.ll
stdarg.ll
stdcall-notailcall.ll
stdcall.ll
store_op_load_fold2.ll
store_op_load_fold.ll
store-empty-member.ll
store-fp-constant.ll
store-global-address.ll
store-narrow.ll
storetrunc-fp.ll
stride-nine-with-base-reg.ll
stride-reuse.ll
sub-with-overflow.ll
sub.ll
subreg-to-reg-0.ll
subreg-to-reg-1.ll
subreg-to-reg-2.ll
subreg-to-reg-3.ll
subreg-to-reg-4.ll
subreg-to-reg-6.ll
switch-bt.ll
switch-crit-edge-constant.ll
switch-or.ll
switch-zextload.ll
SwitchLowering.ll
swizzle.ll
tail-call-got.ll This test requires sse, otherwise x87 ops will block tailcall optimization 2011-08-31 16:49:05 +00:00
tail-dup-addr.ll
tail-opts.ll
tail-threshold.ll
tailcall1.ll
tailcall-fastisel.ll
tailcall-i1.ll
tailcall-largecode.ll
tailcall-returndup-void.ll
tailcall-ri64.ll
tailcall-stackalign.ll
tailcall-structret.ll
tailcall-void.ll
tailcallbyval64.ll
tailcallbyval.ll
tailcallfp2.ll
tailcallfp.ll
tailcallpic1.ll
tailcallpic2.ll
tailcallstack64.ll
test-nofold.ll
test-shrink-bug.ll
test-shrink.ll
testl-commute.ll
tls1.ll
tls2.ll
tls3.ll
tls4.ll
tls5.ll
tls6.ll
tls7.ll
tls8.ll
tls9.ll
tls10.ll
tls11.ll
tls12.ll
tls13.ll
tls14.ll
tls15.ll
tls-pic.ll
tlv-1.ll Fix TLS lowering bug. The CopyFromReg must be glued to the TLSCALL. rdar://10291355 2011-10-19 22:22:54 +00:00
tlv-2.ll
trap.ll
trunc-ext-ld-st.ll When promoting integer vectors we often create ext-loads. This patch adds a 2011-09-18 10:39:32 +00:00
trunc-to-bool.ll
twoaddr-coalesce-2.ll
twoaddr-coalesce.ll
twoaddr-lea.ll
twoaddr-pass-sink.ll
twoaddr-sink-terminator.ll PR10998: It is not legal to sink an instruction past the terminator of a block; make sure we don't do that. 2011-09-23 22:41:57 +00:00
uint64-to-float.ll Update live-in lists when splitting critical edges. 2011-10-14 17:25:46 +00:00
uint_to_fp-2.ll Explicitly zero out parts of a vector which are required to be zero by the algorithm in LowerUINT_TO_FP_i32. This only has a substantial effect on the generated code when the input is extracted from a vector register; other ways of loading an i32 do the appropriate zeroing implicitly. Fixes PR10802. 2011-08-29 21:15:46 +00:00
uint_to_fp.ll
umul-with-carry.ll
umul-with-overflow.ll
unaligned-load.ll
undef-label.ll
unknown-location.ll
unreachable-loop-sinking.ll
unreachable-stack-protector.ll
urem-i8-constant.ll
use-add-flags.ll
v2f32.ll Attempt to fix -mtriple=i686-{cygwin|mingw|win32} regressions. Nakamura, 2011-09-20 00:08:12 +00:00
v4f32-immediate.ll
v-binop-widen2.ll
v-binop-widen.ll
vararg_tailcall.ll
variable-sized-darwin-bzero.ll
variadic-node-pic.ll
vec_add.ll
vec_align.ll
vec_anyext.ll
vec_call.ll
vec_cast.ll
vec_clear.ll
vec_compare-2.ll
vec_compare-sse4.ll PR11033: Make sure we don't generate PCMPGTQ and PCMPEQQ if the target CPU does not support them. 2011-09-28 21:00:25 +00:00
vec_compare.ll
vec_ctbits.ll
vec_ext_inreg.ll
vec_extract-sse4.ll
vec_extract.ll
vec_fneg.ll
vec_i64.ll
vec_ins_extract-1.ll
vec_ins_extract.ll
vec_insert-2.ll
vec_insert-3.ll
vec_insert-4.ll
vec_insert-5.ll
vec_insert-6.ll
vec_insert-7.ll
vec_insert-8.ll
vec_insert-9.ll
vec_insert.ll
vec_loadsingles.ll
vec_logical.ll
vec_return.ll
vec_set-2.ll
vec_set-3.ll
vec_set-4.ll
vec_set-5.ll
vec_set-6.ll
vec_set-7.ll
vec_set-8.ll
vec_set-9.ll
vec_set-A.ll
vec_set-B.ll
vec_set-C.ll Attempt to fix -mtriple=i686-{cygwin|mingw|win32} regressions. Nakamura, 2011-09-20 00:08:12 +00:00
vec_set-D.ll
vec_set-E.ll
vec_set-F.ll
vec_set-G.ll
vec_set-H.ll
vec_set-I.ll
vec_set-J.ll
vec_set.ll
vec_sext.ll
vec_shift2.ll
vec_shift3.ll
vec_shift4.ll
vec_shift.ll
vec_shuffle-11.ll
vec_shuffle-14.ll
vec_shuffle-15.ll
vec_shuffle-16.ll
vec_shuffle-17.ll
vec_shuffle-18.ll
vec_shuffle-19.ll
vec_shuffle-20.ll
vec_shuffle-22.ll
vec_shuffle-23.ll
vec_shuffle-24.ll
vec_shuffle-25.ll
vec_shuffle-26.ll
vec_shuffle-27.ll
vec_shuffle-28.ll
vec_shuffle-30.ll
vec_shuffle-31.ll
vec_shuffle-34.ll
vec_shuffle-35.ll
vec_shuffle-36.ll
vec_shuffle-37.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
vec_shuffle-38.ll Vector shuffle mask <i32 4, i32 5, i32 2, i32 3> should yield "movsd", not "movss". 2011-09-14 02:36:14 +00:00
vec_shuffle.ll
vec_splat-2.ll
vec_splat-3.ll
vec_splat-4.ll
vec_splat.ll
vec_ss_load_fold.ll
vec_uint_to_fp.ll
vec_zero_cse.ll
vec_zero-2.ll
vec_zero.ll
vec_zext.ll
vec-sign.ll
vec-trunc-store.ll
vector-intrinsics.ll
vector-rem.ll
vector-variable-idx.ll
vector.ll
vfcmp.ll
visibility2.ll
visibility.ll
volatile.ll
vortex-bug.ll
vshift_scalar.ll
vshift_split2.ll
vshift_split.ll
vshift-1.ll
vshift-2.ll
vshift-3.ll
vshift-4.ll
vshift-5.ll
vsplit-and.ll Clean the triple, add check lines. 2011-10-17 07:07:51 +00:00
weak.ll
wide-integer-fold.ll
widen_arith-1.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
widen_arith-2.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
widen_arith-3.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
widen_arith-4.ll Revert r141569 and r141576. 2011-10-10 23:18:02 +00:00
widen_arith-5.ll
widen_arith-6.ll
widen_cast-1.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
widen_cast-2.ll
widen_cast-3.ll
widen_cast-4.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
widen_cast-5.ll
widen_cast-6.ll
widen_conv-1.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
widen_conv-2.ll
widen_conv-3.ll
widen_conv-4.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
widen_extract-1.ll
widen_load-0.ll stabalize tests by specifying the exact sse level 2011-10-17 19:45:38 +00:00
widen_load-1.ll
widen_load-2.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
widen_shuffle-1.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
win64_alloca_dynalloca.ll
win64_params.ll
win64_vararg.ll
win_chkstk.ll
x86_64-mul-by-const.ll
x86-64-and-mask.ll
x86-64-arg.ll
x86-64-asm.ll
x86-64-dead-stack-adjust.ll
x86-64-disp.ll
x86-64-extend-shift.ll
x86-64-frameaddr.ll
x86-64-gv-offset.ll
x86-64-jumps.ll
x86-64-mem.ll
x86-64-pic-1.ll
x86-64-pic-2.ll
x86-64-pic-3.ll
x86-64-pic-4.ll
x86-64-pic-5.ll
x86-64-pic-6.ll
x86-64-pic-7.ll
x86-64-pic-8.ll
x86-64-pic-9.ll
x86-64-pic-10.ll
x86-64-pic-11.ll
x86-64-ret0.ll
x86-64-shortint.ll
x86-64-sret-return.ll
x86-64-tls-1.ll
x86-64-varargs.ll
x86-frameaddr2.ll
x86-frameaddr.ll
x86-shifts.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
x86-store-gv-addr.ll
xmm-r64.ll
xor-icmp.ll
xor.ll
zero-remat.ll
zext-extract_subreg.ll
zext-fold.ll
zext-inreg-0.ll
zext-inreg-1.ll
zext-sext.ll
zext-shl.ll
zext-trunc.ll