llvm-6502/test/CodeGen/X86
Preston Gurd c7b902e7fe Pad Short Functions for Intel Atom
The current Intel Atom microarchitecture has a feature whereby
when a function returns early then it is slightly faster to execute
a sequence of NOP instructions to wait until the return address is ready,
as opposed to simply stalling on the ret instruction until
the return address is ready.

When compiling for X86 Atom only, this patch will run a pass,
called "X86PadShortFunction" which will add NOP instructions where less
than four cycles elapse between function entry and return.

It includes tests.

This patch has been updated to address Nadav's review comments
- Optimize only at >= O1 and don't do optimization if -Os is set
- Stores MachineBasicBlock* instead of BBNum
- Uses DenseMap instead of std::map
- Fixes placement of braces

Patch by Andy Zhang.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171879 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08 18:27:24 +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-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
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 During the CodeGenPrepare we often lower intrinsics (such as objsize) 2012-08-14 05:19:07 +00:00
2006-11-17-IllegalMove.ll During the CodeGenPrepare we often lower intrinsics (such as objsize) 2012-08-14 05:19:07 +00:00
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
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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-08 23:54:48 +00:00
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 During the CodeGenPrepare we often lower intrinsics (such as objsize) 2012-08-14 05:19:07 +00:00
2008-01-09-LongDoubleSin.ll
2008-01-16-FPStackifierAssert.ll
2008-01-16-InvalidDAGCombineXform.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-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-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
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 llvm/test/CodeGen/X86: FileCheck-ize two tests in r171083. 2012-12-26 03:19:30 +00:00
2008-05-28-CoalescerBug.ll
2008-05-28-LocalRegAllocBug.ll
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
2008-08-23-64Bit-maskmovq.ll
2008-08-31-EH_RETURN32.ll
2008-08-31-EH_RETURN64.ll
2008-09-05-sinttofp-2xi32.ll
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
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-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-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-08-CoalescerBug.ll
2009-02-09-ivs-different-sizes.ll
2009-02-11-codegenprepare-reuse.ll
2009-02-12-DebugInfoVLA.ll Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
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
2009-03-16-PHIElimInLPad.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
2009-06-05-sitofpCrash.ll
2009-06-05-VariableIndexInsert.ll
2009-06-05-VZextByteShort.ll
2009-06-06-ConcatVectors.ll
2009-06-07-ExpandMMXBitcast.ll
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
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-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
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
2009-10-19-atomic-cmp-eflags.ll
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 Some enhancements for memcpy / memset inline expansion. 2012-12-10 23:21:26 +00:00
2009-11-17-UpdateTerminator.ll
2009-11-18-TwoAddrKill.ll
2009-11-25-ImpDefBug.ll
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 Fix PR14314 2012-11-12 06:49:17 +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
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
2010-04-29-CoalescerCrash.ll
2010-04-30-LocalAlloc-LandingPad.ll
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-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 Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
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-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
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-04-19-sclr-bb.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
2011-08-23-Trampoline.ll
2011-08-29-BlockConstant.ll
2011-08-29-InitOrder.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
2011-09-14-valcoalesce.ll
2011-09-18-sse2cmp.ll
2011-09-21-setcc-bug.ll
2011-10-11-SpillDead.ll
2011-10-11-srl.ll
2011-10-12-MachineCSE.ll
2011-10-18-FastISel-VectorParams.ll
2011-10-19-LegelizeLoad.ll Optimized load + SIGN_EXTEND patterns in the X86 backend. 2012-12-19 07:50:20 +00:00
2011-10-19-widen_vselect.ll
2011-10-21-widen-cmp.ll
2011-10-27-tstore.ll
2011-10-30-padd.ll
2011-11-07-LegalizeBuildVector.ll
2011-11-22-AVX2-Domains.ll
2011-11-30-or.ll Teach DAG combine to handle vector logical operations with vectors of all 1s or all 0s. These cases can show up when vectors are split for legalizing. Fix some tests that were dependent on these cases not being combined. 2012-12-08 22:49:19 +00:00
2011-12-8-bitcastintprom.ll
2011-12-06-AVXVectorExtractCombine.ll
2011-12-06-BitcastVectorGlobal.ll
2011-12-08-AVXISelBugs.ll
2011-12-15-vec_shift.ll
2011-12-26-extractelement-duplicate-load.ll
2011-12-28-vselecti8.ll When we use the BLEND instruction that uses the MSB as a mask, we can remove 2012-12-07 21:43:11 +00:00
2011-20-21-zext-ui2fp.ll
2012-1-10-buildvector.ll
2012-01-10-UndefExceptionEdge.ll
2012-01-11-split-cv.ll
2012-01-12-extract-sv.ll
2012-01-16-mfence-nosse-flags.ll
2012-01-18-vbitcast.ll Enable lowering ZERO_EXTEND/ANY_EXTEND to PMOVZX from SSE4.1 2012-10-23 17:34:00 +00:00
2012-02-12-dagco.ll
2012-02-14-scalar.ll
2012-02-20-MachineCPBug.ll
2012-02-23-mmx-inlineasm.ll
2012-02-29-CoalescerBug.ll
2012-03-15-build_vector_wl.ll Enable lowering ZERO_EXTEND/ANY_EXTEND to PMOVZX from SSE4.1 2012-10-23 17:34:00 +00:00
2012-03-20-LargeConstantExpr.ll
2012-03-26-PostRALICMBug.ll
2012-04-09-TwoAddrPassBug.ll
2012-04-26-sdglue.ll Merge AVX_SET0PSY/AVX_SET0PDY/AVX2_SET0 into a single post-RA pseudo. 2012-08-28 07:05:28 +00:00
2012-05-17-TwoAddressBug.ll
2012-05-19-avx2-store.ll
2012-05-19-CoalescerCrash.ll
2012-07-10-extload64.ll Enable lowering ZERO_EXTEND/ANY_EXTEND to PMOVZX from SSE4.1 2012-10-23 17:34:00 +00:00
2012-07-10-shufnorm.ll
2012-07-15-broadcastfold.ll llvm/test/CodeGen/X86/2012-07-15-broadcastfold.ll: Loosen expression corresponding to r168627. Win32 and *bsd were affected. 2012-11-27 00:48:27 +00:00
2012-07-15-BuildVectorPromote.ll move X86-specific test 2012-12-11 00:36:43 +00:00
2012-07-15-tconst_shl.ll
2012-07-15-vshl.ll
2012-07-16-fp2ui-i1.ll
2012-07-16-LeaUndef.ll
2012-07-17-vtrunc.ll
2012-07-23-select_cc.ll
2012-08-07-CmpISelBug.ll
2012-08-16-setcc.ll Reapply r162160 with a fix: Optimize Arith->Trunc->SETCC sequence to allow better compare/branch code. 2012-08-18 17:53:03 +00:00
2012-08-17-legalizer-crash.ll TargetLowering: Use the large shift amount during legalize types. The legalizer may call us with an overly large type. 2012-08-17 15:54:21 +00:00
2012-08-28-UnsafeMathCrash.ll The commutative flag is already correctly set within the multiclass. If we set 2012-08-28 07:36:46 +00:00
2012-09-13-dagco-fneg.ll Fix a dagcombine optimization. The optimization attempts to optimize a bitcast of fneg to integers 2012-09-13 14:54:28 +00:00
2012-09-28-CGPBug.ll Do not delete BBs if their addresses are taken. rdar://12396696 2012-09-28 23:58:57 +00:00
2012-10-02-DAGCycle.ll Follow up to r165072. Try a different approach: only move the load when it's going to be folded into the call. rdar://12437604 2012-10-05 01:48:22 +00:00
2012-10-03-DAGCycle.ll Fix a cycle in the DAG. In this code we replace multiple loads with a single load and 2012-10-03 19:30:31 +00:00
2012-10-18-crash-dagco.ll In SimplifySelectOps we pulled two loads through a select node despite the fact that one was dependent on the other. 2012-10-18 18:06:48 +00:00
2012-11-28-merge-store-alias.ll When combining consecutive stores allow loads in between the stores, if the loads do not alias. 2012-11-29 00:00:08 +00:00
2012-11-30-handlemove-dbg.ll misched: Fix LiveInterval update to better handle DebugVal. 2012-12-01 01:22:41 +00:00
2012-11-30-misched-dbg.ll RegisterPressureTracker: fix findUseBetween to handle DebugValue 2012-12-05 21:37:50 +00:00
2012-11-30-regpres-dbg.ll misched: Fix RegisterPressureTracker handling of DebugVals. 2012-12-01 01:22:49 +00:00
2012-12-1-merge-multiple.ll Allow merging multiple store sequences on the same chain. 2012-12-02 17:14:09 +00:00
2012-12-06-python27-miscompile.ll Fix a bug in the code that merges consecutive stores. Previously we did not 2012-12-06 17:34:13 +00:00
2012-12-12-DAGCombineCrash.ll Fix a bug in DAGCombiner::MatchBSwapHWord. Make sure the node has operands before referencing them. rdar://12868039 2012-12-13 01:34:32 +00:00
2012-12-14-v8fp80-crash.ll TypeLegalizer: Do not generate target specific nodes with illegal types, because we cant type-legalize them. 2012-12-14 21:20:37 +00:00
2012-12-19-NoImplicitFloat.ll Do not introduce vector operations in functions marked with noimplicitfloat. 2012-12-20 01:36:20 +00:00
9601.ll
20090313-signext.ll
abi-isel.ll
add-of-carry.ll (For X86) Enhancement to add-carray/sub-borrow (adc/sbb) optimization. 2012-10-31 23:11:48 +00:00
add.ll
adde-carry.ll
addr-label-difference.ll
aliases.ll
aligned-comm.ll
alignment-2.ll
alignment.ll
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
asm-label.ll
asm-modifier-P.ll
asm-modifier.ll
asm-reg-type-mismatch.ll
atom-bypass-slow-division.ll llvm/test/CodeGen/X86/atom-bypass-slow-division.ll: Fix possible typo(s) in CHECK-NOT lines. 2012-12-12 13:34:20 +00:00
atom-lea-sp.ll
atom-pad-short-functions.ll Pad Short Functions for Intel Atom 2013-01-08 18:27:24 +00:00
atom-sched.ll
atom-shuf.ll Add test for ATOM ISA SSSE3 2012-10-25 17:50:05 +00:00
atomic8.ll Add missing i8 max/min/umax/umin support 2012-09-21 03:18:52 +00:00
atomic16.ll Revise test to avoid using of 'grep' 2012-09-23 02:41:47 +00:00
atomic32.ll Re-work X86 code generation of atomic ops with spin-loop 2012-09-20 03:06:15 +00:00
atomic64.ll Re-work X86 code generation of atomic ops with spin-loop 2012-09-20 03:06:15 +00:00
atomic6432.ll Add missing i64 max/min/umax/umin on 32-bit target 2012-09-25 18:08:13 +00:00
atomic_add.ll Unify the logic in SelectAtomicLoadAdd and SelectAtomicLoadArith 2012-09-19 19:36:58 +00:00
atomic_op.ll Re-work X86 code generation of atomic ops with spin-loop 2012-09-20 03:06:15 +00:00
atomic-load-store-wide.ll
atomic-load-store.ll
atomic-minmax-i6432.ll When expanding atomic load arith instructions, do not lose target flags. rdar://12453106 2012-10-09 23:48:33 +00:00
atomic-or.ll
atomic-pointer.ll Make atomic load and store of pointers work. Tighten verification of atomic operations 2012-08-17 23:24:29 +00:00
Atomics-64.ll
attribute-sections.ll
avoid-lea-scale2.ll
avoid-loop-align-2.ll
avoid-loop-align.ll
avx2-arith.ll
avx2-cmp.ll
avx2-conversions.ll Optimized load + SIGN_EXTEND patterns in the X86 backend. 2012-12-19 07:50:20 +00:00
avx2-intrinsics-x86.ll
avx2-logic.ll X86: Match pmin/pmax as a target specific dag combine. This occurs during vectorization. 2012-12-21 17:46:58 +00:00
avx2-nontemporal.ll
avx2-palignr.ll
avx2-phaddsub.ll
avx2-shift.ll
avx2-shuffle.ll Simplified BLEND pattern matching for shuffles. 2012-12-05 09:24:57 +00:00
avx2-unpack.ll
avx2-vbroadcast.ll
avx2-vperm2i128.ll
avx2-vperm.ll
avx-arith.ll
avx-basic.ll Teach DAG combiner to constant fold fneg of a BUILD_VECTOR of constants. 2012-09-09 22:58:45 +00:00
avx-bitcast.ll
avx-blend.ll
avx-cast.ll
avx-cmp.ll
avx-cvt.ll Fix suffix handling for parsing and printing of cvtsi2ss, cvtsi2sd, cvtss2si, cvttss2si, cvtsd2si, and cvttsd2si to match gas behavior. 2013-01-06 20:39:29 +00:00
avx-fp2int.ll
avx-intel-ocl.ll Remove the X86 Maximal Stack Alignment Check pass as it is no longer necessary. 2012-11-26 22:55:05 +00:00
avx-intrinsics-x86_64.ll
avx-intrinsics-x86.ll X86: Prefer using VPSHUFD over VPERMIL because it has better throughput. 2012-12-07 19:01:13 +00:00
avx-load-store.ll
avx-logic.ll
avx-minmax.ll
avx-movdup.ll
avx-select.ll
avx-sext.ll X86: Emit vector sext as shuffle + sra if vpmovsx is not available. 2012-12-22 11:34:28 +00:00
avx-shift.ll
avx-shuffle-x86_32.ll
avx-shuffle.ll X86: Prefer using VPSHUFD over VPERMIL because it has better throughput. 2012-12-07 19:01:13 +00:00
avx-splat.ll X86: Prefer using VPSHUFD over VPERMIL because it has better throughput. 2012-12-07 19:01:13 +00:00
avx-trunc.ll Revert revision: 171467. This transformation is incorrect and makes some tests fail. Original message: 2013-01-04 17:35:21 +00:00
avx-unpack.ll
avx-varargs-x86_64.ll
avx-vbroadcast.ll
avx-vextractf128.ll Add patterns for converting stores of subvector_extracts of lower 128-bits of a 256-bit vector to VMOVAPSmr/VMOVUPSmr. 2012-09-06 05:15:01 +00:00
avx-vinsertf128.ll
avx-vmovddup.ll
avx-vperm2f128.ll
avx-vpermil.ll
avx-vshufp.ll
avx-vzeroupper.ll
avx-win64-args.ll
avx-win64.ll
avx-zext.ll AVX: Move the ZEXT/ANYEXT DAGCo optimizations to the lowering of these optimizations. The old test cases still cover all of these lowering/optimizations. The single change that we have is that now anyext does not need to zero a register, because it does not use the exact code path as the zero_extend. 2012-12-28 05:45:24 +00:00
barrier-sse.ll
barrier.ll
basic-promote-integers.ll
bc-extract.ll
bigstructret2.ll
bigstructret.ll
bit-test-shift.ll
bitcast2.ll
bitcast-i256.ll Enhance type legalization on bitcast from vector to integer 2012-09-13 19:58:21 +00:00
bitcast-int-to-vector.ll
bitcast.ll
blend-msb.ll When we use the BLEND instruction that uses the MSB as a mask, we can remove 2012-12-07 21:43:11 +00:00
block-placement.ll
bmi.ll Add rest of BMI/BMI2 instructions to the folding tables as well as popcnt and lzcnt. 2012-12-17 05:02:29 +00:00
bool-simplify.ll Add boolean simplification support from CMOV 2012-09-10 16:36:16 +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
bt.ll Add x86 isel lowering logic to form bit test with inverted condition. e.g. 2012-12-05 00:10:38 +00:00
btq.ll
buildvec-insertvec.ll Lower BUILD_VECTOR to SHUFFLE + INSERT_VECTOR_ELT for X86 2012-10-19 17:15:18 +00:00
byval2.ll Make sure to not get AVX code on an AVX-capable host. Revealed in r167967. 2012-11-14 22:24:01 +00:00
byval3.ll Make sure to not get AVX code on an AVX-capable host. Revealed in r167967. 2012-11-14 22:24:01 +00:00
byval4.ll Make sure to not get AVX code on an AVX-capable host. Revealed in r167967. 2012-11-14 22:24:01 +00:00
byval5.ll Make sure to not get AVX code on an AVX-capable host. Revealed in r167967. 2012-11-14 22:24:01 +00:00
byval6.ll
byval7.ll
byval-align.ll
byval.ll
call-imm.ll
call-push.ll
cfstring.ll
change-compare-stride-1.ll
change-compare-stride-trickiness-0.ll
change-compare-stride-trickiness-1.ll
change-compare-stride-trickiness-2.ll
clobber-fi0.ll In some cases, due to scheduling constraints we copy the EFLAGS. 2012-12-21 23:48:49 +00:00
clz.ll
cmov-fp.ll X86: fcmov doesn't handle all possible EFLAGS, fall back to a branch for the others. 2012-10-07 15:34:27 +00:00
cmov-into-branch.ll
cmov.ll Disable rematerialization in TwoAddressInstructionPass. 2012-07-25 18:28:13 +00:00
cmp.ll Teach SimplifySetCC that comparing AssertZext i1 against a constant 1 can be rewritten as a compare against a constant 0 with the opposite condition. 2012-12-19 06:12:28 +00:00
cmpxchg16b.ll
coalesce-esp.ll
coalesce-implicitdef.ll Fix PR14732 by handling all kinds of IMPLICIT_DEF live ranges. 2013-01-03 00:47:51 +00:00
coalescer-commute1.ll
coalescer-commute2.ll
coalescer-commute3.ll
coalescer-commute4.ll
coalescer-commute5.ll
coalescer-cross.ll
coalescer-dce2.ll
coalescer-dce.ll
coalescer-identity.ll
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
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
constructor.ll
convert-2-addr-3-addr-inc64.ll
copysign-zero.ll
crash-nosse.ll
crash-O0.ll
crash.ll Never attempt to join an early-clobber def with a regular kill. 2012-10-27 17:41:27 +00:00
critical-edge-split-2.ll
cstring.ll
ctpop-combine.ll
cvtv2f32.ll DAGCombiner: Avoid generating illegal vector INT_TO_FP nodes 2013-01-02 22:13:01 +00:00
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 Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
dbg-byval-parameter.ll
dbg-const-int.ll
dbg-const.ll
dbg-declare-arg.ll
dbg-declare.ll Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
dbg-file-name.ll
dbg-i128-const.ll
dbg-large-unsigned-const.ll
dbg-merge-loc-entry.ll
dbg-prolog-end.ll
dbg-subrange.ll Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
dbg-value-dag-combine.ll
dbg-value-isel.ll
dbg-value-location.ll
dbg-value-range.ll
discontiguous-loops.ll
div8.ll
divide-by-constant.ll
divrem.ll
dll-linkage.ll
dllexport.ll
dollar-name.ll
dwarf-comp-dir.ll
dyn-stackalloc.ll
dynamic-allocas-VLAs.ll Remove the X86 Maximal Stack Alignment Check pass as it is no longer necessary. 2012-11-26 22:55:05 +00:00
early-ifcvt-crash.ll Pass an explicit operand number to addLiveIns. 2012-10-11 16:46:07 +00:00
early-ifcvt.ll Recommit r171461 which was incorrectly reverted. Mark DIV/IDIV instructions hasSideEffects=1 because they can trap when dividing by 0. This is needed to keep early if conversion from moving them across basic blocks. 2013-01-05 07:39:25 +00:00
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-concat.ll Revert part of r166049 back and enable test case in r166125. 2012-10-17 23:45:54 +00:00
extract-extract.ll
extractelement-from-arg.ll
extractelement-load.ll
extractelement-shuffle.ll
extractps.ll
f16c-intrinsics.ll
fabs.ll
fast-cc-callee-pops.ll Change x86_fastcallcc to require inreg markers. This allows it to known 2012-10-24 01:58:48 +00:00
fast-cc-merge-stack-adj.ll Change x86_fastcallcc to require inreg markers. This allows it to known 2012-10-24 01:58:48 +00:00
fast-cc-pass-in-regs.ll Change x86_fastcallcc to require inreg markers. This allows it to known 2012-10-24 01:58:48 +00:00
fast-isel-agg-constant.ll
fast-isel-atomic.ll
fast-isel-avoid-unnecessary-pic-base.ll
fast-isel-bail.ll
fast-isel-bc.ll
fast-isel-call.ll
fast-isel-cmp-branch.ll
fast-isel-constpool.ll
fast-isel-extract.ll
fast-isel-fneg.ll
fast-isel-gep.ll
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
fast-isel-x86-64.ll Pad Short Functions for Intel Atom 2013-01-08 18:27:24 +00:00
fast-isel-x86.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
fast-isel.ll
fastcall-correct-mangling.ll
fastcc3struct.ll
fastcc-2.ll
fastcc-byval.ll
fastcc-sret.ll
fastcc.ll
fdiv.ll
field-extract-use-trunc.ll
fildll.ll
fltused_function_pointer.ll
fltused.ll
fma3-intrinsics.ll FMA3 tests on bdver2 target for changes made in rev 162012. Also made 2012-08-27 06:59:01 +00:00
fma4-intrinsics-x86_64.ll Add test cases for r168417. 2012-11-27 07:19:54 +00:00
fma_patterns.ll Mark FMA4 instructions as commutable and add them to the folding tables. 2012-08-31 23:10:34 +00:00
fma.ll llvm/test/CodeGen/X86/fma.ll: Add -march=x86, or two tests would fail on non-x86 hosts. 2012-08-27 11:50:26 +00:00
fmul-zero.ll
fold-add.ll
fold-and-shift.ll
fold-call-2.ll
fold-call-3.ll
fold-call.ll Fix for PR14739. It's not safe to fold a load into a call across a store. Thanks to Nick Lewycky for the initial patch. 2013-01-06 19:00:15 +00:00
fold-imm.ll
fold-load-vec.ll X86: do not fold load instructions such as [V]MOVS[S|D] to other instructions 2012-11-27 18:09:26 +00:00
fold-load.ll Reapply r162160 with a fix: Optimize Arith->Trunc->SETCC sequence to allow better compare/branch code. 2012-08-18 17:53:03 +00:00
fold-mul-lohi.ll
fold-pcmpeqd-0.ll
fold-pcmpeqd-1.ll
fold-pcmpeqd-2.ll Teach DAG combine to handle vector add/sub with vectors of all 0s. 2012-12-10 08:12:29 +00:00
fold-sext-trunc.ll
fold-vex.ll llvm/test/CodeGen/X86/fold-vex.ll: Add explicit triple. 2012-12-24 11:14:06 +00:00
fold-xmm-zero.ll
fold-zext-trunc.ll
force-align-stack-alloca.ll
force-align-stack.ll
fp2sint.ll
fp_constant_op.ll
fp_load_cast_fold.ll
fp_load_fold.ll
fp-elim.ll
fp-fast.ll test/CodeGen/X86/fp-fast.ll: Add +avx. 2012-11-01 02:13:45 +00:00
fp-immediate-shorten.ll
fp-in-intregs.ll
fp-load-trunc.ll Specify CPU model to avoid breaking ATOM builds 2012-10-10 18:04:52 +00:00
fp-stack-2results.ll
fp-stack-compare-cmov.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 Specify CPU model to avoid breaking ATOM builds 2012-10-10 18:04:52 +00:00
fsgsbase.ll
fsxor-alignment.ll
full-lsr.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
ga-offset.ll
gather-addresses.ll
gcc_except_table.ll
ghc-cc64.ll
ghc-cc.ll
global-sections-tls.ll
global-sections.ll
gs-fold.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
handle-move.ll Fix buildbots: -misched=shuffle is only available in +Asserts builds. 2012-10-12 23:01:33 +00:00
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis-4.ll
hidden-vis-pic.ll
hidden-vis.ll
hipe-cc64.ll llvm/test/CodeGen/X86/hipe-cc*.ll: Add explicit -mcpu, or they don't expect to pass on Atom. 2012-11-16 16:07:37 +00:00
hipe-cc.ll llvm/test/CodeGen/X86/hipe-cc*.ll: Add explicit -mcpu, or they don't expect to pass on Atom. 2012-11-16 16:07:37 +00:00
hoist-common.ll
hoist-invariant-load.ll
i2k.ll
i64-mem-copy.ll
i128-and-beyond.ll
i128-immediate.ll
i128-mul.ll
i128-ret.ll
i128-sdiv.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 Don't enforce ordered inline asm operands. 2012-08-31 15:34:59 +00:00
inline-asm-x-scalar.ll
inline-asm.ll Handle mixed normal and early-clobber defs on inline asm. 2012-11-19 19:31:10 +00:00
inlineasm-sched-bug.ll This patch addresses a problem with the Post RA scheduler generating an 2012-10-29 15:01:23 +00:00
inreg.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
jump_sign.ll (For X86) Enhancement to add-carray/sub-borrow (adc/sbb) optimization. 2012-10-31 23:11:48 +00:00
label-redefinition.ll
large-gep-scale.ll
large-global.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-libcalls.ll
legalize-shift-64.ll
legalize-sub-zero-2.ll
legalize-sub-zero.ll
legalizedag_vec.ll
lfence.ll
licm-dominance.ll
licm-nested.ll
licm-symbol.ll
limited-prec.ll
lit.local.cfg
live-out-reg-info.ll
liveness-local-regalloc.ll
lock-inst-encoding.ll
log2_not_readnone.ll
long-setcc.ll
longlong-deadload.ll
loop-blocks.ll
loop-hoist.ll
loop-strength-reduce2.ll
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 Revert r164910 because it causes failures to several phase2 builds. 2012-09-30 07:17:56 +00:00
loop-strength-reduce-3.ll Revert r164910 because it causes failures to several phase2 builds. 2012-09-30 07:17:56 +00:00
loop-strength-reduce.ll Revert r164910 because it causes failures to several phase2 builds. 2012-09-30 07:17:56 +00:00
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
machine-cp.ll
machine-cse.ll
MachineSink-CritEdge.ll
MachineSink-DbgValue.ll
MachineSink-eflags.ll
MachineSink-PHIUse.ll
masked-iv-safe.ll
masked-iv-unsafe.ll
maskmovdqu.ll
mcinst-avx-lowering.ll
mcinst-lowering.ll
mem-promote-integers.ll
membarrier.ll
memcmp.ll
memcpy-2.ll Avoid using lossy load / stores for memcpy / memset expansion. e.g. 2012-12-12 00:42:09 +00:00
memcpy.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
memset64-on-x86-32.ll X86: Enable SSE memory intrinsics even when stack alignment is less than 16 bytes. 2012-11-14 20:08:40 +00:00
memset-2.ll
memset-3.ll
memset-sse-stack-realignment.ll X86: Enable SSE memory intrinsics even when stack alignment is less than 16 bytes. 2012-11-14 20:08:40 +00:00
memset.ll llvm/test/CodeGen/X86/memset.ll: FileCheck-ize, and add another case on +avx. 2012-11-14 21:01:40 +00:00
MergeConsecutiveStores.ll When merging connsecutive stores, use vectors to store the constant zero. 2012-10-04 22:35:15 +00:00
mfence.ll
mingw-alloca.ll
misaligned-memset.ll
misched-balance.ll misched: Heuristics based on the machine model. 2012-11-07 07:05:09 +00:00
misched-ilp.ll misched tests: add a triple to speculatively fix windows builders. 2012-10-15 18:21:08 +00:00
misched-matrix.ll misched: Analysis that partitions the DAG into subtrees. 2012-11-28 05:13:28 +00:00
misched-new.ll RegisterPresssureTracker: Track live physical register by unit. 2012-12-05 21:37:42 +00:00
mmx-arg-passing2.ll
mmx-arg-passing.ll
mmx-arith.ll
mmx-bitcast-to-i64.ll
mmx-builtins.ll X86 MMX: optimize transfer from mmx to i32 2012-10-30 22:15:38 +00:00
mmx-copy-gprs.ll
mmx-emms.ll
mmx-insert-element.ll
mmx-pinsrw.ll
mmx-punpckhdq.ll
mmx-s2v.ll
mmx-shift.ll
mmx-shuffle.ll
movbe.ll
movfs.ll
movgs.ll
movmsk.ll
movntdq-no-avx.ll
ms-inline-asm.ll Remove redundant test case from r166949, per Eli's suggestion. 2012-10-29 18:18:26 +00:00
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
mulx32.ll llvm/test/CodeGen/X86/mulx*.ll: Fix copypasto. 2012-09-26 09:24:12 +00:00
mulx64.ll llvm/test/CodeGen/X86/mulx*.ll: Fix copypasto. 2012-09-26 09:24:12 +00:00
nancvt.ll
narrow_op-1.ll
narrow-shl-cst.ll
narrow-shl-load.ll
neg_cmp.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
nosse-error1.ll
nosse-error2.ll
nosse-varargs.ll
null-streamer.ll
objc-gc-module-flags.ll
object-size.ll
odr_comdat.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
or-branch.ll
overlap-shift.ll
packed_struct.ll
palignr-2.ll
palignr.ll
pass-three.ll
peep-setb.ll X86: Add a bunch of peeps for add and sub of SETB. 2011-05-08 18:36:07 +00:00
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_size.ll
personality.ll
phaddsub.ll
phi-bit-propagation.ll
phi-immediate-factoring.ll
phielim-split.ll
phys_subreg_coalesce-2.ll
phys_subreg_coalesce-3.ll Add SARX/SHRX/SHLX code generation support 2012-09-26 08:26:25 +00:00
phys_subreg_coalesce.ll
phys-reg-local-regalloc.ll
pic_jumptable.ll Mark jump tables in code sections with DataRegion directives. 2012-09-24 23:06:27 +00:00
pic-load-remat.ll
pic.ll
pmovext.ll Fix the testcase to work on all platforms. 2012-09-16 07:58:47 +00:00
pmul.ll
pmulld.ll
pointer-vector.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
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
pr3522.ll
pr5145.ll llvm/test/CodeGen/X86/pr5145.ll: Tweak expressions to match for darwin target. 2012-09-21 05:19:19 +00:00
pr7882.ll
pr9127.ll
pr9743.ll
pr10068.ll
pr10420.ll
pr11202.ll
pr11334.ll fix a case where all operands of BUILD_VECTOR are undefined 2012-08-20 17:59:18 +00:00
pr11415.ll
pr11468.ll
pr11985.ll Fix PR11985 2012-09-12 21:43:09 +00:00
pr12312.ll Add wider vector/integer support for PR12312 2012-09-13 20:24:54 +00:00
pr12359.ll Fix PR12359 2012-08-31 20:12:31 +00:00
pr12360.ll
pr12889.ll
pr13209.ll
pr13220.ll
pr13458.ll Re-work X86 code generation of atomic ops with spin-loop 2012-09-20 03:06:15 +00:00
pr13577.ll
pr13859.ll Fix PR13859 2012-09-17 18:05:20 +00:00
pr13899.ll Fix PR13899 2012-10-01 16:44:04 +00:00
pr14088.ll Fix the cpu name and add -verify-machineinstrs. 2012-10-16 01:13:06 +00:00
pr14090.ll Clear unknown mem ops when merging stack slots (pr14090) 2012-10-18 19:53:48 +00:00
pr14098.ll Avoid rematerializing a redef immediately after the old def. 2012-10-16 22:51:58 +00:00
pr14161.ll Fix PR14161 2012-10-23 21:40:15 +00:00
pr14204.ll Fix PR14204 2012-10-29 17:57:12 +00:00
pr14314.ll Fix test case added in patch fixing PR14314 2012-11-12 22:33:18 +00:00
pr14333.ll Handle DAG CSE adding new uses during ReplaceAllUsesWith. Fixes PR14333. 2012-11-14 05:08:56 +00:00
prefetch.ll
private-2.ll
private.ll
promote-assert-zext.ll
promote-i16.ll
promote-trunc.ll
promote.ll Enable lowering ZERO_EXTEND/ANY_EXTEND to PMOVZX from SSE4.1 2012-10-23 17:34:00 +00:00
psubus.ll X86: Add a couple of target-specific dag combines that turn VSELECTS into psubus if possible. 2012-12-15 16:47:44 +00:00
ptr-rotate.ll Add RORX code generation support 2012-09-26 08:24:51 +00:00
ptrtoint-constexpr.ll
rd-mod-wr-eflags.ll
rdrand.ll Fix an invalid regex in the test 2012-12-02 15:46:02 +00:00
rdtsc.ll
red-zone2.ll test/CodeGen/X86/red-zone2.ll: Add -mtriple=x86_64-linux, and FileCheck-ize. 2012-10-01 22:48:07 +00:00
red-zone.ll
reghinting.ll
regpressure.ll
rem-2.ll
rem.ll
remat-constant.ll
remat-fold-load.ll
remat-mov-0.ll
remat-scalar-zero.ll
ret-addr.ll
ret-i64-0.ll
ret-mmx.ll Pad Short Functions for Intel Atom 2013-01-08 18:27:24 +00:00
reverse_branches.ll
rip-rel-address.ll
rodata-relocs.ll
rot16.ll
rot32.ll Add RORX code generation support 2012-09-26 08:24:51 +00:00
rot64.ll Add RORX code generation support 2012-09-26 08:24:51 +00:00
rotate2.ll Add RORX code generation support 2012-09-26 08:24:51 +00:00
rotate.ll
rounding-ops.ll
rtm.ll Add support of RTM from TSX extension 2012-11-08 07:28:54 +00:00
scalar_sse_minmax.ll
scalar_widen_div.ll
scalar-extract.ll
scalar-min-max-fill-operand.ll
scalarize-bitcast.ll
scev-interchange.ll
sdiv-exact.ll
segmented-stacks-dynamic.ll
segmented-stacks.ll
select_const.ll Reapply r165661, Patch by Shuxin Yang <shuxin.llvm@gmail.com>. 2012-10-16 06:28:34 +00:00
select.ll Pad Short Functions for Intel Atom 2013-01-08 18:27:24 +00:00
selectiondag-cse.ll
setcc.ll
setoeq.ll
setuge.ll
sext-i1.ll
sext-load.ll Fix a miscompile in the DAG combiner. Previously, we would incorrectly 2012-12-11 00:36:57 +00:00
sext-ret-val.ll
sext-setcc-self.ll
sext-subreg.ll
sext-trunc.ll
sfence.ll
shift-and.ll
shift-bmi2.ll Add SARX/SHRX/SHLX code generation support 2012-09-26 08:26:25 +00:00
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
shl-i64.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 X86: Emitting x87 fsin/fcos for sinf/cosf is not safe without unsafe fp math. 2012-09-15 12:44:27 +00:00
sink-hoist.ll
sink-out-of-loop.ll
sjlj.ll Fix setjmp on models with non-Small code model nor non-Static relocation model 2012-10-17 02:22:27 +00:00
small-byval-memcpy.ll
smul-with-overflow.ll Fix PR13991: legalizing an overflowing multiplication operation is harder than 2012-10-02 15:03:49 +00:00
soft-fp.ll
splat-scalar-load.ll
split-eh-lpad-edges.ll
split-vector-bitcast.ll
split-vector-rem.ll
sse1.ll
sse2-blend.ll Teach DAG combine to handle vector logical operations with vectors of all 1s or all 0s. These cases can show up when vectors are split for legalizing. Fix some tests that were dependent on these cases not being combined. 2012-12-08 22:49:19 +00:00
sse2-mul.ll X86: Turn mul of <4 x i32> into pmuludq when no SSE4.1 is available. 2012-12-22 16:07:56 +00:00
sse2.ll
sse3.ll
sse4a.ll
sse41-blend.ll
sse41.ll
sse42_64.ll
sse42.ll
sse_partial_update.ll X86 SSE: update rsqrtss and rcpss to use two source operands and 2012-10-30 23:53:59 +00:00
sse_reload_fold.ll
sse-align-0.ll
sse-align-1.ll
sse-align-2.ll llvm/test/CodeGen/X86: FileCheck-ize two tests in r171083. 2012-12-26 03:19:30 +00:00
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-domains.ll Fix suffix handling for parsing and printing of cvtsi2ss, cvtsi2sd, cvtss2si, cvttss2si, cvtsd2si, and cvttsd2si to match gas behavior. 2013-01-06 20:39:29 +00:00
sse-fcopysign.ll
sse-intel-ocl.ll Special calling conventions for Intel OpenCL built-in library. 2012-10-24 14:46:16 +00:00
sse-load-ret.ll
sse-minmax.ll When unsafe math is used, we can use commutative FMAX and FMIN. In some cases 2012-08-19 13:06:16 +00:00
sse-varargs.ll
stack-align2.ll
stack-align.ll
stack-protector.ll
StackColoring-dbg.ll Stack Coloring: Dont crash on dbg values which use stack frames. 2012-09-11 12:34:27 +00:00
StackColoring.ll Stack Coloring: We have code that checks that all of the uses of allocas 2012-09-13 12:38:37 +00:00
stdarg.ll
stdcall-notailcall.ll
stdcall.ll
store_op_load_fold2.ll
store_op_load_fold.ll llvm/test/CodeGen/X86/store_op_load_fold.ll: Fix typo, s/CHECK_NEXT/CHECK-NEXT/ 2012-12-12 01:41:01 +00:00
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-order-weight.ll
switch-zextload.ll
SwitchLowering.ll
swizzle.ll
SwizzleShuff.ll
tail-call-got.ll
tail-dup-addr.ll
tail-opts.ll
tail-threshold.ll
tailcall-64.ll Fix an illegal tailcall opt where the callee returns a double via xmm while caller returns x86_fp80 via st0. rdar://12229511 2012-09-25 05:32:34 +00:00
tailcall-cgp-dup.ll
tailcall-disable.ll
tailcall-fastisel.ll Add a triple to this test. 2012-12-11 00:51:36 +00:00
tailcall-largecode.ll
tailcall-returndup-void.ll
tailcall-ri64.ll
tailcall-stackalign.ll
tailcall-structret.ll
tailcall.ll
tailcallbyval64.ll
tailcallbyval.ll
tailcallfp2.ll
tailcallfp.ll
tailcallpic1.ll
tailcallpic2.ll
tailcallstack64.ll
targetLoweringGeneric.ll Add SARX/SHRX/SHLX code generation support 2012-09-26 08:26:25 +00:00
test-nofold.ll
test-shrink-bug.ll
test-shrink.ll
testl-commute.ll
thiscall-struct-return.ll
tls-local-dynamic.ll
tls-models.ll
tls-pic.ll Allow overlaps between virtreg and physreg live ranges. 2012-09-06 18:15:23 +00:00
tls-pie.ll
tls.ll
tlv-1.ll
tlv-2.ll
trap.ll
trunc-ext-ld-st.ll Enable lowering ZERO_EXTEND/ANY_EXTEND to PMOVZX from SSE4.1 2012-10-23 17:34:00 +00:00
trunc-to-bool.ll
twoaddr-coalesce-2.ll
twoaddr-coalesce.ll
twoaddr-lea.ll
twoaddr-pass-sink.ll
twoaddr-sink-terminator.ll
uint64-to-float.ll
uint_to_fp-2.ll
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
unwindraise.ll
urem-i8-constant.ll
use-add-flags.ll
utf8.ll
utf16-cfstrings.ll
v2f32.ll
v4f32-immediate.ll
v8i1-masks.ll AVX: Fix a bug in WidenMaskArithmetic. 2013-01-02 17:40:39 +00:00
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_cast2.ll
vec_cast.ll
vec_clear.ll
vec_compare-2.ll Enable lowering ZERO_EXTEND/ANY_EXTEND to PMOVZX from SSE4.1 2012-10-23 17:34:00 +00:00
vec_compare-sse4.ll
vec_compare.ll X86: Shave off one shuffle from the pcmpeqq sequence for SSE2 by making use of and commutativity. 2012-12-25 13:09:08 +00:00
vec_ctbits.ll
vec_ext_inreg.ll
vec_extract-sse4.ll
vec_extract.ll
vec_fabs.ll Add support for lowering FABS of vector types. 2012-09-08 07:31:51 +00:00
vec_floor.ll Use roundps/pd for llvm.ceil, llvm.trunc, llvm.rint, and llvm.nearbyint of vector types. 2012-11-16 06:37:56 +00:00
vec_fneg.ll
vec_fpext.ll Enhance PR11334 fix to support extload from v2f32/v4f32 2012-09-10 18:33:51 +00:00
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
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 Simplified BLEND pattern matching for shuffles. 2012-12-05 09:24:57 +00:00
vec_shuffle-22.ll
vec_shuffle-23.ll
vec_shuffle-24.ll
vec_shuffle-25.ll
vec_shuffle-26.ll Add test for ATOM ISA SSSE3 2012-10-25 17:50:05 +00:00
vec_shuffle-27.ll
vec_shuffle-28.ll
vec_shuffle-30.ll Re-commit r166971. I reverted it to quickly, when buildbots didn't have a chance 2012-10-30 00:01:57 +00:00
vec_shuffle-31.ll
vec_shuffle-34.ll
vec_shuffle-35.ll
vec_shuffle-36.ll
vec_shuffle-37.ll
vec_shuffle-38.ll
vec_shuffle-39.ll
vec_shuffle.ll
vec_splat-2.ll
vec_splat-3.ll
vec_splat-4.ll
vec_splat.ll
vec_ss_load_fold.ll
vec_udiv_to_shift.ll
vec_uint_to_fp.ll
vec_zero_cse.ll
vec_zero-2.ll
vec_zero.ll Teach DAG combine to handle vector add/sub with vectors of all 0s. 2012-12-10 08:12:29 +00:00
vec_zext.ll
vec-sign.ll
vec-trunc-store.ll
vector-gep.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
vector-intrinsics.ll
vector-rem.ll
vector-variable-idx2.ll
vector-variable-idx.ll
vector.ll
vfcmp.ll
visibility2.ll
visibility.ll
volatile.ll
vortex-bug.ll
vselect-minmax.ll try to unbreak ppc buildbots. 2012-12-21 18:11:45 +00:00
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 Harden test so it's not affected by changes to compare lowering. 2012-12-25 13:23:23 +00:00
weak.ll
wide-integer-fold.ll
widen_arith-1.ll
widen_arith-2.ll
widen_arith-3.ll
widen_arith-4.ll
widen_arith-5.ll
widen_arith-6.ll
widen_cast-1.ll Add test for ATOM ISA SSSE3 2012-10-25 17:50:05 +00:00
widen_cast-2.ll
widen_cast-3.ll
widen_cast-4.ll
widen_cast-5.ll
widen_cast-6.ll
widen_conv-1.ll
widen_conv-2.ll
widen_conv-3.ll
widen_conv-4.ll
widen_extract-1.ll
widen_load-0.ll
widen_load-1.ll Introduce 'UseSSEx' to force SSE legacy encoding 2012-08-30 16:54:46 +00:00
widen_load-2.ll Enable lowering ZERO_EXTEND/ANY_EXTEND to PMOVZX from SSE4.1 2012-10-23 17:34:00 +00:00
widen_shuffle-1.ll
WidenArith.ll AVX: Fix a bug in WidenMaskArithmetic. 2013-01-02 17:40:39 +00:00
win32_sret.ll
win64_alloca_dynalloca.ll
win64_params.ll
win64_vararg.ll
win_chkstk.ll
win_ftol2.ll
x86_64-mul-by-const.ll
x86-64-and-mask.ll Fix a batch of x86 tests to be coalescer independent. 2011-05-04 23:54:51 +00:00
x86-64-arg.ll
x86-64-asm.ll
x86-64-dead-stack-adjust.ll Fix suffix handling for parsing and printing of cvtsi2ss, cvtsi2sd, cvtss2si, cvttss2si, cvtsd2si, and cvttsd2si to match gas behavior. 2013-01-06 20:39:29 +00:00
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
x86-store-gv-addr.ll
xmm-r64.ll
xmulo.ll Fix both the test for zero and what we do if we have a zero for 2012-09-13 23:24:02 +00:00
xop-intrinsics-x86_64.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