llvm/test/Transforms/InstCombine
Quentin Colombet c5a4c25b87 Fix a bug in instcombine for fmul in fast math mode.
The instcombine recognized pattern looks like:
a = b * c
d = a +/- Cst
or
a = b * c
d = Cst +/- a

When creating the new operands for fadd or fsub instruction following the related fmul, the first operand was created with the second original operand (M0 was created with C1) and the second with the first (M1 with Opnd0).

The fix consists in creating the new operands with the appropriate original operand, i.e., M0 with Opnd0 and M1 with C1.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176300 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-28 21:12:40 +00:00
..
2002-03-11-InstCombineHang.ll
2002-05-14-SubFailure.ll
2002-08-02-CastTest.ll
2002-12-05-MissedConstProp.ll
2003-05-26-CastMiscompile.ll
2003-05-27-ConstExprCrash.ll
2003-06-05-BranchInvertInfLoop.ll
2003-07-21-ExternalConstant.ll
2003-08-12-AllocaNonNull.ll
2003-09-09-VolatileLoadElim.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
2003-10-29-CallSiteResolve.ll Update to new EH scheme. 2011-09-01 01:28:25 +00:00
2003-11-03-VarargsCallBug.ll
2004-01-13-InstCombineInvokePHI.ll Update to new EH scheme. 2011-09-01 01:28:25 +00:00
2004-02-23-ShiftShiftOverflow.ll
2004-03-13-InstCombineInfLoop.ll
2004-04-04-InstCombineReplaceAllUsesWith.ll
2004-05-07-UnsizedCastLoad.ll
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll
2004-08-10-BoolSetCC.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2004-09-20-BadLoadCombine2.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2004-09-20-BadLoadCombine.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2005-04-07-UDivSelectCrash.ll
2005-06-15-DivSelectCrash.ll
2005-06-15-ShiftSetCCCrash.ll
2005-06-16-RangeCrash.ll
2005-06-16-SetCCOrSetCCMiscompile.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2005-07-07-DeadPHILoop.ll
2006-02-13-DemandedMiscompile.ll
2006-02-28-Crash.ll
2006-03-30-ExtractElement.ll
2006-04-28-ShiftShiftLongLong.ll
2006-05-04-DemandedBitCrash.ll
2006-09-15-CastToBool.ll
2006-10-19-SignedToUnsignedCastAndConst-2.ll
2006-10-20-mask.ll
2006-10-26-VectorReassoc.ll
2006-11-10-ashr-miscompile.ll
2006-12-01-BadFPVectorXform.ll
2006-12-05-fp-to-int-ext.ll
2006-12-08-Phi-ICmp-Op-Fold.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2006-12-08-Select-ICmp.ll
2006-12-15-Range-Test.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2006-12-23-Select-Cmp-Cmp.ll
2007-01-13-ExtCompareMiscompile.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-01-14-FcmpSelf.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-01-18-VectorInfLoop.ll
2007-01-27-AndICmp.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-02-01-LoadSinkAlloca.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-02-07-PointerCast.ll
2007-02-23-PhiFoldInfLoop.ll
2007-03-13-CompareMerge.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-03-19-BadTruncChangePR1261.ll
2007-03-21-SignedRangeTest.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-03-25-BadShiftMask.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-03-25-DoubleShift.ll
2007-03-26-BadShiftMask.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-04-08-SingleEltVectorCrash.ll
2007-05-10-icmp-or.ll
2007-05-14-Crash.ll
2007-05-18-CastFoldBug.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-06-06-AshrSignBit.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-06-21-DivCompareMiscomp.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-08-02-InfiniteLoop.ll
2007-09-10-AliasConstFold.ll
2007-09-17-AliasConstFold2.ll
2007-10-10-EliminateMemCpy.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
2007-10-12-Crash.ll
2007-10-28-stacksave.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-10-31-RangeCrash.ll
2007-10-31-StringCrash.ll
2007-11-07-OpaqueAlignCrash.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
2007-11-15-CompareMiscomp.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-11-22-IcmpCrash.ll
2007-11-25-CompatibleAttributes.ll Stop accepting and ignoring attributes in function types. Attributes are applied 2011-06-17 17:37:13 +00:00
2007-12-10-ConstFoldCompare.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2007-12-12-GEPScale.ll
2007-12-16-AsmNoUnwind.ll
2007-12-18-AddSelCmpSub.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-12-28-IcmpSub2.ll
2008-01-06-BitCastAttributes.ll Revert "Disable InstCombine unsafe folding bitcasts of calls w/ varargs." 2012-02-03 00:00:50 +00:00
2008-01-06-CastCrash.ll
2008-01-06-VoidCast.ll
2008-01-13-AndCmpCmp.ll
2008-01-13-NoBitCastAttributes.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2008-01-14-VarArgTrampoline.ll Split the init.trampoline intrinsic, which currently combines GCC's 2011-09-06 13:37:06 +00:00
2008-01-21-MismatchedCastAndCompare.ll
2008-01-21-MulTrunc.ll
2008-01-27-FloatSelect.ll
2008-01-29-AddICmp.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2008-02-13-MulURem.ll
2008-02-16-SDivOverflow2.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-02-16-SDivOverflow.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-02-23-MulSub.ll
2008-02-28-OrFCmpCrash.ll
2008-03-13-IntToPtr.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-04-22-ByValBitcast.ll
2008-04-28-VolatileStore.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-04-29-VolatileLoadDontMerge.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-04-29-VolatileLoadMerge.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-05-08-LiveStoreDelete.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-05-08-StrLenSink.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
2008-05-09-SinkOfInvoke.ll Update to new EH scheme. 2011-09-01 01:28:25 +00:00
2008-05-17-InfLoop.ll
2008-05-18-FoldIntToPtr.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-05-22-IDivVector.ll
2008-05-22-NegValVector.ll
2008-05-23-CompareFold.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-05-31-AddBool.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-05-31-Bools.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-06-05-ashr-crash.ll
2008-06-08-ICmpPHI.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-06-13-InfiniteLoopStore.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-06-13-ReadOnlyCallStore.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-06-19-UncondLoad.ll
2008-06-21-CompareMiscomp.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-06-24-StackRestore.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-07-08-AndICmp.ll
2008-07-08-ShiftOneAndOne.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-07-08-SubAnd.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-07-08-VolatileLoadMerge.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-07-09-SubAndError.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2008-07-10-CastSextBool.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-07-10-ICmpBinOp.ll
2008-07-11-RemAnd.ll
2008-07-13-DivZero.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-07-16-fsub.ll
2008-07-16-sse2_storel_dq.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2008-08-05-And.ll
2008-08-17-ICmpXorSignbit.ll
2008-09-02-VectorCrash.ll
2008-09-29-FoldingOr.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-10-11-DivCompareFold.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-10-23-ConstFoldWithoutMask.ll
2008-11-01-SRemDemandedBits.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-11-08-FCmp.ll Fix a serious typo in InstCombine's optimization of comparisons. 2012-08-07 22:35:16 +00:00
2008-11-20-DivMulRem.ll
2008-11-27-IDivVector.ll
2008-11-27-MultiplyIntVec.ll
2008-11-27-UDivNegative.ll
2008-12-17-SRemNegConstVec.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-01-05-i128-crash.ll
2009-01-08-AlignAlloca.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-01-16-PointerAddrSpace.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-01-19-fmod-constant-float-specials.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-01-19-fmod-constant-float.ll
2009-01-24-EmptyStruct.ll
2009-01-31-InfIterate.ll
2009-01-31-Pressure.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-02-04-FPBitcast.ll
2009-02-20-InstCombine-SROA.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2009-02-21-LoadCST.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-02-25-CrashZeroSizeArray.ll
2009-03-18-vector-ashr-crash.ll
2009-03-20-AShrOverShift.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-03-24-InfLoop.ll
2009-04-07-MulPromoteToI96.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-05-23-FCmpToICmp.ll
2009-06-11-StoreAddrSpace.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-06-16-SRemDemandedBits.ll
2009-07-02-MaskedIntVector.ll
2009-12-17-CmpSelectNull.ll
2010-01-28-NegativeSRem.ll
2010-03-03-ExtElim.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
2010-05-30-memcpy-Struct.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
2010-11-01-lshr-mask.ll For rdar://12329730, last piece. 2012-12-04 22:15:32 +00:00
2010-11-21-SizeZeroTypeGEP.ll
2010-11-23-Distributed.ll
2011-02-14-InfLoop.ll
2011-03-08-SRemMinusOneBadOpt.ll
2011-05-02-VectorBoolean.ll Fix PR9579: when simplifying a compare to "true" or "false", and it was 2011-05-02 18:51:41 +00:00
2011-05-13-InBoundsGEP.ll Drop lli, revise test. 2011-05-17 02:38:59 +00:00
2011-05-28-swapmulsub.ll Reapply 132348 with fixes. rdar://problem/6501862 2011-06-01 16:42:47 +00:00
2011-06-13-nsw-alloca.ll Small fix in InstCombineCasts.cpp. Restored "alloca + bitcast" reducing for case when alloca's size is calculated within the "add/sub/... nsw". 2012-05-05 07:09:40 +00:00
2011-09-03-Trampoline.ll Forgot to add this trampoline testcase. 2011-09-07 09:21:38 +00:00
2011-10-07-AlignPromotion.ll Added a testcase for r141599, rdar://problem/10063881. 2011-10-11 01:32:10 +00:00
2012-3-15-or-xor-constant.ll In InstCombiner::visitOr, make sure we reverse the operand swap used for checking for or-of-xor operations after those checks; a later check expects that any constant will be in Op1. PR12234. 2012-03-16 00:52:42 +00:00
2012-6-7-vselect-bitcast.ll Fix a bug in FoldSelectOpOp. Bitcast ops may change the number of vector elements, which may disagree with the select condition type. 2012-06-07 20:28:57 +00:00
2012-01-11-OpaqueBitcastCrash.ll Don't try to create a GEP when the pointee type is unsized (such GEPs 2012-01-11 12:20:08 +00:00
2012-02-13-FCmp.ll Check against umin while converting fcmp into an icmp. 2012-02-13 23:05:18 +00:00
2012-02-28-ICmp.ll Testcase for r151691. 2012-02-29 01:53:13 +00:00
2012-03-10-InstCombine.ll Don't try to filecheck bitcode. 2012-03-10 18:07:46 +00:00
2012-04-23-Neon-Intrinsics.ll Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
2012-04-24-vselect.ll ConstantFoldSelectInstruction swapped the operands of the select. 2012-04-24 20:18:49 +00:00
2012-04-30-SRem.ll Just mark the sign bit as known zero, rather than any other irrelevant bits 2012-04-30 11:56:58 +00:00
2012-05-27-Negative-Shift-Crash.ll PR12967: Don't crash when trying to fold a shift that's larger than the type's size. 2012-05-27 22:03:32 +00:00
2012-05-28-select-hang.ll InstCombine: Fix infinite loop when encountering switch on trivial icmp. 2012-05-28 19:18:16 +00:00
2012-06-06-LoadOfPHIs.ll Adding a missing -S to the opt invocation. 2012-06-07 01:02:13 +00:00
2012-07-25-LoadPart.ll llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
2012-07-30-addrsp-bitcast.ll When constant folding GEP expressions, keep the address space information of pointers. 2012-07-30 07:25:20 +00:00
2012-08-28-udiv_ashl.ll It is illegal to transform (sdiv (ashr X c1) c2) -> (sdiv x (2^c1 * c2)), 2012-08-30 11:23:20 +00:00
2012-09-17-ZeroSizedAlloca.ll Fix instcombine to obey requested alignment when merging allocas. 2012-09-18 09:31:44 +00:00
2012-09-24-MemcpyFromGlobalCrash.ll Add missing : in CHECK line. 2012-09-24 17:22:43 +00:00
2012-10-25-vector-of-pointers.ll Fix a crash in SimpliftDemandedBits of vectors of pointers. 2012-10-26 17:17:05 +00:00
2012-12-14-simp-vgep.ll Fix a crash in ValueTracking on vectors of pointers. 2012-12-14 20:43:49 +00:00
abs-1.ll instcombine: Migrate *abs optimizations 2012-11-26 00:24:07 +00:00
add2.ll
add3.ll
add-shrink.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
add-sitofp.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
add.ll Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
addnegneg.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
adjust-for-sminmax.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
align-2d-gep.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
align-addr.ll The alignment of an sret parameter is known: it must be at least the 2012-10-04 13:36:31 +00:00
align-external.ll Disallow the undocumented practice of starting the datalayout string with '-'. 2012-11-23 14:51:42 +00:00
alloca.ll Don't try to calculate the alignment of an unsigned type. Fixes PR14371! 2012-11-18 05:39:39 +00:00
and2.ll Fix an infinite loop where a transform in InstCombiner::visitAnd claims a construct is changed when it is not. (See included testcase.) 2011-09-19 21:58:15 +00:00
and-compare.ll
and-fcmp.ll Fix broken tests. 2012-10-02 15:49:34 +00:00
and-not-or.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
and-or-and.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
and-or-not.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
and-or.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
and-xor-merge.ll
and-xor-or.ll Add instcombine patterns for the following transformations: 2012-04-26 23:29:14 +00:00
and.ll
apint-add1.ll
apint-add2.ll
apint-and1.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
apint-and2.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
apint-and-compare.ll
apint-and-or-and.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
apint-and-xor-merge.ll
apint-call-cast-target.ll
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll
apint-div1.ll
apint-div2.ll
apint-mul1.ll
apint-mul2.ll
apint-not.ll
apint-or1.ll
apint-or2.ll
apint-rem1.ll
apint-rem2.ll
apint-select.ll
apint-shift-simplify.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
apint-shift.ll Reapply r155136 after fixing PR12599. 2012-04-23 17:39:52 +00:00
apint-shl-trunc.ll Filecheck-ize this test so that it actually tests something reasonable. 2012-03-29 22:01:41 +00:00
apint-sub.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
apint-xor1.ll Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
apint-xor2.ll Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
apint-zext1.ll
apint-zext2.ll
ashr-nop.ll
atomic.ll An additional atomic test; related to r137662. 2011-08-16 23:29:17 +00:00
badmalloc.ll teach instcombine to remove allocated buffers even if there are stores, memcpy/memmove/memset, and objectsize users. 2012-07-06 23:09:25 +00:00
binop-cast.ll
bit-checks.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
bit-tracking.ll
bitcast-sext-vector.ll
bitcast-store.ll
bitcast-vec-canon.ll
bitcast-vec-uniform.ll
bitcast-vector-fold.ll Constant fold vector bitcasts of halves similarly to how floats and doubles are folded. Test case included. 2013-02-26 22:51:07 +00:00
bitcast.ll Optimization: bitcast (<1 x ...> insertelement ..., X, ...) to ... ==> bitcast X to ... 2013-02-11 21:41:44 +00:00
bitcount.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
bittest.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
bswap-fold.ll make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
bswap.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
call2.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
call-cast-target.ll
call-intrinsics.ll
call.ll Revert "Disable InstCombine unsafe folding bitcasts of calls w/ varargs." 2012-02-03 00:00:50 +00:00
canonicalize_branch.ll Add a routine to swap branch instruction operands, and update any 2011-10-17 01:11:57 +00:00
cast_ptr.ll
cast-mul-select.ll
cast-set.ll
cast.ll unHECKify test fixed by Jacob in r159003. 2012-12-12 20:58:42 +00:00
compare-signs.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2013-01-01 13:57:25 +00:00
constant-expr-datalayout.ll Teach the DataLayout aware constant folder to be much more aggressive towards 2013-02-14 03:23:37 +00:00
constant-fold-compare.ll
constant-fold-gep.ll Make SelectionDAG::InferPtrAlignment use llvm::ComputeMaskedBits instead of duplicating the logic for globals. Make llvm::ComputeMaskedBits handle GlobalVariables slightly more aggressively, to match what InferPtrAlignment knew how to do. 2011-11-28 22:48:22 +00:00
cos-1.ll instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
cos-2.ll instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
CPP_min_max.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
crash.ll The normal edge of an invoke is not allowed to branch to a block with a 2012-08-10 20:55:20 +00:00
dce-iterate.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
deadcode.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
debug-line.ll instcombine: Migrate printf optimizations 2012-11-26 20:37:20 +00:00
debuginfo.ll revert my previous patches that introduced an additional parameter to the objectsize intrinsic. 2012-05-22 15:25:31 +00:00
devirt.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
disable-simplify-libcalls.ll Add more functions to the target library information. 2012-11-22 15:36:42 +00:00
div-shift.ll InstCombine: Make sure we use the pre-zext type when creating a constant of a value that is zext'd. 2012-09-21 16:26:41 +00:00
div.ll Carve out a place in instcombine to put transformations which work knowing that their 2011-05-22 18:18:41 +00:00
double-float-shrink-1.ll instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
double-float-shrink-2.ll instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
enforce-known-alignment.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
exact.ll Teach InstCombine to work with smaller legal types in icmp (shl %v, C1), C2 2013-02-15 14:35:47 +00:00
exp2-1.ll instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
exp2-2.ll instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
ExtractCast.ll
extractvalue.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
fast-math.ll Fix a bug in instcombine for fmul in fast math mode. 2013-02-28 21:12:40 +00:00
fcmp-select.ll
fcmp-special.ll
fcmp.ll Enable some additional constant folding for PPCDoubleDouble. 2012-10-30 12:33:18 +00:00
fdiv.ll
ffs-1.ll Fix bogus comment; no functional change. 2012-11-26 00:25:33 +00:00
fmul.ll 1. Hoist minus sign as high as possible in an attempt to reveal 2013-01-15 21:09:32 +00:00
fold-bin-operand.ll
fold-calls.ll
fold-phi.ll Add back FoldOpIntoPhi optimizations with fix. Included test cases to help catch these errors and to test the presence of the optimization itself 2012-12-14 22:08:26 +00:00
fold-sqrt-sqrtf.ll Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo. Disable 2011-11-29 23:57:10 +00:00
fold-vector-select.ll [llvm] Updated the test fold-vector-select so that we test the vector selects exhaustively. 2012-08-30 23:11:49 +00:00
fold-vector-zero.ll
fp-ret-bitcast.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
fpcast.ll Teach InstCombine to hoist FABS and FNEG through FPTRUNC instructions. The application of these operations commutes with the truncation, so we should prefer to do them in the smallest size we can, to save register space, use smaller constant pool entries, etc. 2013-01-10 22:06:52 +00:00
fpextend.ll
fprintf-1.ll instcombine: Migrate fputs optimizations 2012-11-29 15:45:43 +00:00
fputs-1.ll instcombine: Migrate fputs optimizations 2012-11-29 15:45:43 +00:00
fsub.ll
fwrite-1.ll instcombine: Migrate fwrite optimizations 2012-11-29 15:45:39 +00:00
gep-addrspace.ll
gepgep.ll
getelementptr.ll Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
hoist_instr.ll
icmp.ll Teach InstCombine to work with smaller legal types in icmp (shl %v, C1), C2 2013-02-15 14:35:47 +00:00
idioms.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
IntPtrCast.ll
intrinsics.ll Revert "Have InstCombine call SipmlifyCall when handling calls. Test case included." 2013-02-08 01:55:39 +00:00
invariant.ll
invoke.ll teach instcombine to remove allocated buffers even if there are stores, memcpy/memmove/memset, and objectsize users. 2012-07-06 23:09:25 +00:00
isascii-1.ll instcombine: Migrate isascii optimizations 2012-11-26 03:10:07 +00:00
isdigit-1.ll instcombine: Migrate isdigit optimizations 2012-11-26 02:31:59 +00:00
JavaCompare.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
known_align.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
LandingPadClauses.ll Add support for the Objective-C personality function to the instruction 2011-10-17 21:20:24 +00:00
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
load3.ll ConstantFolding: Evaluate GEP indices in the index type. 2013-01-23 20:41:05 +00:00
load-cmp.ll
load-select.ll
load.ll
loadstore-alignment.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
logical-select.ll The transform is: 2013-02-16 23:41:36 +00:00
lshr-phi.ll
malloc-free-delete.ll When code size is the priority (Oz, MinSize attribute), help llvm 2013-01-07 18:37:41 +00:00
memcmp-1.ll Normalize memcmp constant folding results. 2012-11-12 14:00:45 +00:00
memcmp-2.ll instcombine: Migrate memcmp optimizations 2012-11-11 05:11:20 +00:00
memcpy_chk-1.ll instcombine: Add more test cases for __memcpy_chk simplification 2012-09-27 21:21:21 +00:00
memcpy_chk-2.ll instcombine: Add more test cases for __memcpy_chk simplification 2012-09-27 21:21:21 +00:00
memcpy-1.ll instcombine: Migrate memcpy optimizations 2012-11-11 05:54:34 +00:00
memcpy-2.ll instcombine: Migrate memcpy optimizations 2012-11-11 05:54:34 +00:00
memcpy-from-global.ll Get rid of the getPointeeAlignment helper function from 2012-11-26 23:04:53 +00:00
memcpy-to-load.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
memcpy.ll fix infinite loop in instcombine with more than 4GB memcpy 2012-08-15 03:49:59 +00:00
memmove_chk-1.ll instcombine: Add more test cases for __memmove_chk simplification 2012-09-27 21:21:25 +00:00
memmove_chk-2.ll instcombine: Add more test cases for __memmove_chk simplification 2012-09-27 21:21:25 +00:00
memmove-1.ll instcombine: Migrate memmove optimizations 2012-11-11 06:22:40 +00:00
memmove-2.ll instcombine: Migrate memmove optimizations 2012-11-11 06:22:40 +00:00
memmove.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
memset2.ll
memset_chk-1.ll instcombine: Add more test cases for __memset_chk simplification 2012-09-27 21:21:18 +00:00
memset_chk-2.ll instcombine: Add more test cases for __memset_chk simplification 2012-09-27 21:21:18 +00:00
memset-1.ll instcombine: Migrate memset optimizations 2012-11-11 06:49:03 +00:00
memset-2.ll instcombine: Migrate memset optimizations 2012-11-11 06:49:03 +00:00
memset.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
merge-icmp.ll
mul-masked-bits.ll
mul.ll InstCombine: canonicalize sext-and --> select 2013-01-30 06:35:22 +00:00
multi-use-or.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
narrow.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
neon-intrinsics.ll
no-negzero.ll
not-fcmp.ll
not.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
nothrow.ll
nsw.ll This transform is not safe. Thanks to Eli for pointing that out! 2011-08-14 04:51:49 +00:00
obfuscated_splat.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
objsize-64.ll teach instcombine to remove allocated buffers even if there are stores, memcpy/memmove/memset, and objectsize users. 2012-07-06 23:09:25 +00:00
objsize.ll Reverting r171325 & r172363. This was causing a mis-compile on the self-hosted LTO build bots. 2013-01-17 21:28:46 +00:00
odr-linkage.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
or-fcmp.ll
or-to-xor.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
or-xor.ll
or.ll The transform is: 2013-02-16 23:41:36 +00:00
osx-names.ll instcombine: Migrate fprintf optimizations 2012-11-29 15:45:33 +00:00
overflow.ll Add a missing safety check to ProcessUGT_ADDCST_ADD. Fixes PR11438. 2011-11-28 23:32:19 +00:00
phi-merge-gep.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
phi.ll Reapply r155682, making constant folding more consistent, with a fix to work 2012-04-27 17:50:22 +00:00
pow-1.ll Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
pow-2.ll instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
pr2645-0.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
pr2645-1.ll
pr2996.ll
pr8547.ll
pr12251.ll Always compute all the bits in ComputeMaskedBits. 2012-04-04 12:51:34 +00:00
pr12338.ll Remove DOS line endings. 2012-11-14 20:18:34 +00:00
preserve-sminmax.ll
printf-1.ll instcombine: Migrate printf optimizations 2012-11-26 20:37:20 +00:00
printf-2.ll instcombine: Don't replace all uses for instructions with no uses 2012-11-27 18:52:49 +00:00
ptr-int-cast.ll InstCombine: Fix and simplify the inttoptr side too. 2013-02-05 20:22:40 +00:00
puts-1.ll instcombine: Migrate puts optimizations 2012-11-29 19:15:17 +00:00
README.txt
rem.ll
sdiv-1.ll llvm/test/Transforms/InstCombine/sdiv-1.ll: FileCheck-ize. 2012-11-21 14:46:18 +00:00
sdiv-2.ll
select-2.ll
select-crash.ll fix infinite loop in instcombine in the presence of a (malformed) self-referencing select inst. 2012-07-27 18:03:57 +00:00
select-load-call.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
select.ll InstCombine: Fix an edge case where constant icmps could sneak into ConstantFoldInstOperands and crash. 2012-10-20 08:43:52 +00:00
set.ll
setcc-strength-reduce.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
sext.ll Transform (sub 0, (zext bool to A)) to (sext bool to A) and 2013-01-21 21:57:20 +00:00
shift-sra.ll
shift.ll Revert r174152. The shift amount may overflow and in that case this transformation is illegal. 2013-02-01 07:59:33 +00:00
shufflemask-undef.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
shufflevec-constant.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
sign-test-and-or.ll InstCombine: Teach foldLogOpOfMaskedICmpsHelper that sign bit tests are bit tests. 2012-01-09 17:23:27 +00:00
signed-comparison.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
signext.ll rdar://12329730 (2nd part) 2012-12-04 00:04:54 +00:00
simplify-demanded-bits-pointer.ll
sink_instruction.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
sitofp.ll
sprintf-1.ll Move sprintf simplifier tests to test/Transforms/InstCombine 2012-11-27 15:35:58 +00:00
sqrt.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
srem1.ll
srem-simplify-bug.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
srem.ll
stack-overalign.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
stacksaverestore.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
store.ll teach instcombine to preserve TBAA tag when merging two stores, part of 2012-12-31 08:10:58 +00:00
stpcpy_chk-1.ll instcombine: Migrate stpcpy optimizations 2012-10-31 00:20:56 +00:00
stpcpy_chk-2.ll instcombine: Split out the __stpcpy_chk simplifications from StrCpyChkOpt 2012-10-31 00:20:51 +00:00
stpcpy-1.ll instcombine: Migrate stpcpy optimizations 2012-10-31 00:20:56 +00:00
stpcpy-2.ll instcombine: Migrate stpcpy optimizations 2012-10-31 00:20:56 +00:00
strcat-1.ll instcombine: Migrate strcat and strncat optimizations 2012-10-13 16:45:32 +00:00
strcat-2.ll instcombine: Migrate strcat and strncat optimizations 2012-10-13 16:45:32 +00:00
strcat-3.ll instcombine: Migrate strcat and strncat optimizations 2012-10-13 16:45:32 +00:00
strchr-1.ll instcombine: Migrate strchr and strrchr optimizations 2012-10-13 16:45:37 +00:00
strchr-2.ll instcombine: Migrate strchr and strrchr optimizations 2012-10-13 16:45:37 +00:00
strcmp-1.ll instcombine: Migrate strcmp and strncmp optimizations 2012-10-15 03:47:37 +00:00
strcmp-2.ll instcombine: Migrate strcmp and strncmp optimizations 2012-10-15 03:47:37 +00:00
strcpy_chk-1.ll instcombine: Migrate strcpy optimizations 2012-10-18 18:12:40 +00:00
strcpy_chk-2.ll instcombine: Add more test cases for __strcpy_chk simplification 2012-09-27 21:21:28 +00:00
strcpy_chk-64.ll
strcpy-1.ll instcombine: Migrate strcpy optimizations 2012-10-18 18:12:40 +00:00
strcpy-2.ll instcombine: Migrate strcpy optimizations 2012-10-18 18:12:40 +00:00
strcspn-1.ll instcombine: Migrate strcspn optimizations 2012-11-10 15:16:48 +00:00
strcspn-2.ll instcombine: Migrate strcspn optimizations 2012-11-10 15:16:48 +00:00
strlen-1.ll instcombine: Migrate strlen optimizations 2012-10-31 03:33:06 +00:00
strlen-2.ll instcombine: Migrate strlen optimizations 2012-10-31 03:33:06 +00:00
strncat-1.ll instcombine: Migrate strcat and strncat optimizations 2012-10-13 16:45:32 +00:00
strncat-2.ll instcombine: Migrate strcat and strncat optimizations 2012-10-13 16:45:32 +00:00
strncat-3.ll instcombine: Migrate strcat and strncat optimizations 2012-10-13 16:45:32 +00:00
strncmp-1.ll instcombine: Migrate memcmp optimizations 2012-11-11 05:11:20 +00:00
strncmp-2.ll instcombine: Migrate strcmp and strncmp optimizations 2012-10-15 03:47:37 +00:00
strncpy_chk-1.ll instcombine: Migrate strncpy optimizations 2012-10-31 03:33:00 +00:00
strncpy_chk-2.ll instcombine: Add more test cases for __strncpy_chk simplification 2012-09-27 21:21:31 +00:00
strncpy-1.ll instcombine: Migrate strncpy optimizations 2012-10-31 03:33:00 +00:00
strncpy-2.ll instcombine: Migrate strncpy optimizations 2012-10-31 03:33:00 +00:00
strpbrk-1.ll instcombine: Migrate strpbrk optimizations 2012-10-31 04:29:58 +00:00
strpbrk-2.ll instcombine: Migrate strpbrk optimizations 2012-10-31 04:29:58 +00:00
strrchr-1.ll instcombine: Migrate strchr and strrchr optimizations 2012-10-13 16:45:37 +00:00
strrchr-2.ll instcombine: Migrate strchr and strrchr optimizations 2012-10-13 16:45:37 +00:00
strspn-1.ll instcombine: Migrate strspn optimizations 2012-11-08 01:33:50 +00:00
strstr-1.ll instcombine: Migrate strstr optimizations 2012-11-11 03:51:48 +00:00
strstr-2.ll instcombine: Migrate strstr optimizations 2012-11-11 03:51:48 +00:00
strto-1.ll instcombine: Migrate strto* optimizations 2012-10-31 14:58:26 +00:00
struct-assign-tbaa.ll Don't crash when !tbaa.struct contents is invalid. 2012-10-11 02:05:23 +00:00
sub-xor.ll InstCombine: Add a combine that turns (2^n)-1 ^ x back into (2^n)-1 - x iff x is smaller than 2^n and it fuses with a following add. 2011-12-24 17:31:53 +00:00
sub.ll InstCombine: Make OptimizePointerDifference more aggressive. 2012-02-20 14:34:57 +00:00
toascii-1.ll instcombine: Migrate toascii optimizations 2012-11-26 03:38:52 +00:00
trunc.ll Revert remaining part of r93200: "Disable folding sext(trunc(x)) -> x" 2012-06-22 16:36:43 +00:00
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
udiv-simplify-bug-1.ll Teach InstCombine to canonicalize [SU]div+[AL]shl patterns. 2012-08-28 10:01:43 +00:00
udivrem-change-width.ll InstCombine: Turn (zext A) udiv (zext B) into (zext (A udiv B)). Same for urem or constant B. 2011-04-30 18:16:07 +00:00
urem-simplify-bug.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
urem.ll
vec_demanded_elts.ll Prefer shuffles to selects. Backends love shuffles! 2012-09-27 08:33:56 +00:00
vec_extract_elt.ll Teach InstCombine to optimize extract of a value from a vector add operation with a constant zero. 2013-01-15 23:43:14 +00:00
vec_insertelt.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
vec_narrow.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
vec_sext.ll
vec_shuffle.ll Surprisingly, we missed a trivial case here. Fix that! 2012-09-28 09:33:53 +00:00
vector_gep1.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_gep2.ll Generalize the transform that boosts GEP indices to the size of a pointer to 2012-11-03 11:44:17 +00:00
vector-casts.ll InstCombine: canonicalize sext-and --> select 2013-01-30 06:35:22 +00:00
vector-srem.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
volatile_store.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
weak-symbols.ll instcombine: Migrate strcmp and strncmp optimizations 2012-10-15 03:47:37 +00:00
x86-crc32-demanded.ll Renamed llvm.x86.sse42.crc32 intrinsics; crc64 doesn't exist. 2011-05-26 23:13:19 +00:00
xor2.ll fix a typo 2012-12-05 00:33:16 +00:00
xor-undef.ll
xor.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
zero-point-zero-add.ll
zeroext-and-reduce.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
zext-bool-add-sub.ll Transform (sub 0, (zext bool to A)) to (sext bool to A) and 2013-01-21 21:57:20 +00:00
zext-fold.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
zext-or-icmp.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
zext.ll

This directory contains test cases for the instcombine transformation.  The
dated tests are actual bug tests, whereas the named tests are used to test
for features that the this pass should be capable of performing.