llvm-6502/test/Transforms/InstCombine
Eric Christopher 68c23f8616 Temporarily revert r110987 as it's causing some miscompares in
vector heavy code.  I'll re-enable when we've tracked down the problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111318 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-17 22:55:27 +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
2003-10-29-CallSiteResolve.ll
2003-11-03-VarargsCallBug.ll
2003-11-13-ConstExprCastCall.ll
2004-01-13-InstCombineInvokePHI.ll
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
2004-09-20-BadLoadCombine2.ll
2004-09-20-BadLoadCombine.ll
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll Allow instcombine to combine "sext(a) >u const" to "a >u trunc(const)". 2009-12-17 22:42:29 +00:00
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll
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
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-03-Memmove64.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
2006-12-08-Select-ICmp.ll
2006-12-15-Range-Test.ll
2006-12-23-Select-Cmp-Cmp.ll
2007-01-13-ExtCompareMiscompile.ll
2007-01-14-FcmpSelf.ll
2007-01-18-VectorInfLoop.ll
2007-01-27-AndICmp.ll
2007-02-01-LoadSinkAlloca.ll
2007-02-07-PointerCast.ll
2007-02-23-PhiFoldInfLoop.ll
2007-03-13-CompareMerge.ll
2007-03-19-BadTruncChangePR1261.ll
2007-03-21-SignedRangeTest.ll
2007-03-25-BadShiftMask.ll
2007-03-25-DoubleShift.ll
2007-03-26-BadShiftMask.ll
2007-04-04-BadFoldBitcastIntoMalloc.ll
2007-04-08-SingleEltVectorCrash.ll
2007-05-04-Crash.ll
2007-05-10-icmp-or.ll
2007-05-14-Crash.ll
2007-05-18-CastFoldBug.ll
2007-06-06-AshrSignBit.ll
2007-06-21-DivCompareMiscomp.ll
2007-08-02-InfiniteLoop.ll
2007-09-10-AliasConstFold.ll
2007-09-11-Trampoline.ll
2007-09-17-AliasConstFold2.ll
2007-10-10-EliminateMemCpy.ll
2007-10-12-Crash.ll
2007-10-28-stacksave.ll
2007-10-31-RangeCrash.ll
2007-10-31-StringCrash.ll
2007-11-07-OpaqueAlignCrash.ll
2007-11-15-CompareMiscomp.ll
2007-11-22-IcmpCrash.ll
2007-11-25-CompatibleAttributes.ll
2007-12-10-ConstFoldCompare.ll
2007-12-12-GEPScale.ll
2007-12-16-AsmNoUnwind.ll
2007-12-18-AddSelCmpSub.ll
2007-12-28-IcmpSub2.ll add newlines at the end of files. 2010-04-07 22:53:17 +00:00
2008-01-06-BitCastAttributes.ll
2008-01-06-CastCrash.ll
2008-01-06-VoidCast.ll
2008-01-13-AndCmpCmp.ll
2008-01-13-NoBitCastAttributes.ll
2008-01-14-DoubleNest.ll
2008-01-14-VarArgTrampoline.ll
2008-01-21-MismatchedCastAndCompare.ll
2008-01-21-MulTrunc.ll make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
2008-01-27-FloatSelect.ll
2008-01-29-AddICmp.ll
2008-02-13-MulURem.ll
2008-02-16-SDivOverflow2.ll
2008-02-16-SDivOverflow.ll
2008-02-23-MulSub.ll
2008-02-28-OrFCmpCrash.ll
2008-03-13-IntToPtr.ll
2008-04-22-ByValBitcast.ll
2008-04-28-VolatileStore.ll
2008-04-29-VolatileLoadDontMerge.ll
2008-04-29-VolatileLoadMerge.ll
2008-05-08-LiveStoreDelete.ll
2008-05-08-StrLenSink.ll
2008-05-09-SinkOfInvoke.ll
2008-05-17-InfLoop.ll
2008-05-18-FoldIntToPtr.ll
2008-05-22-IDivVector.ll
2008-05-22-NegValVector.ll
2008-05-23-CompareFold.ll
2008-05-31-AddBool.ll
2008-05-31-Bools.ll
2008-06-05-ashr-crash.ll
2008-06-08-ICmpPHI.ll
2008-06-13-InfiniteLoopStore.ll
2008-06-13-ReadOnlyCallStore.ll
2008-06-19-UncondLoad.ll
2008-06-21-CompareMiscomp.ll
2008-06-24-StackRestore.ll
2008-07-08-AndICmp.ll
2008-07-08-ShiftOneAndOne.ll
2008-07-08-SubAnd.ll
2008-07-08-VolatileLoadMerge.ll
2008-07-09-SubAndError.ll
2008-07-10-CastSextBool.ll
2008-07-10-ICmpBinOp.ll
2008-07-11-RemAnd.ll
2008-07-13-DivZero.ll
2008-07-16-fsub.ll
2008-07-16-sse2_storel_dq.ll
2008-08-05-And.ll
2008-08-17-ICmpXorSignbit.ll
2008-09-02-VectorCrash.ll
2008-09-29-FoldingOr.ll
2008-10-11-DivCompareFold.ll
2008-10-23-ConstFoldWithoutMask.ll
2008-11-01-SRemDemandedBits.ll
2008-11-08-FCmp.ll
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
2009-01-05-i128-crash.ll
2009-01-08-AlignAlloca.ll
2009-01-16-PointerAddrSpace.ll
2009-01-19-fmod-constant-float-specials.ll Teach APFloat how to create both QNaNs and SNaNs and with arbitrary-width 2010-02-28 02:51:25 +00:00
2009-01-19-fmod-constant-float.ll
2009-01-24-EmptyStruct.ll
2009-01-31-InfIterate.ll
2009-01-31-Pressure.ll
2009-02-04-FPBitcast.ll
2009-02-20-InstCombine-SROA.ll
2009-02-21-LoadCST.ll
2009-02-25-CrashZeroSizeArray.ll
2009-03-18-vector-ashr-crash.ll
2009-03-20-AShrOverShift.ll
2009-03-24-InfLoop.ll
2009-04-07-MulPromoteToI96.ll
2009-05-23-FCmpToICmp.ll
2009-06-11-StoreAddrSpace.ll
2009-06-16-SRemDemandedBits.ll
2009-07-02-MaskedIntVector.ll
2009-12-17-CmpSelectNull.ll Optimize icmp of null and select of two constants even if the select has 2009-12-18 08:22:35 +00:00
2010-01-28-NegativeSRem.ll Fix PR6165. The bug was that LHSKnownZero was being and'd with DemandedMask 2010-01-28 17:22:42 +00:00
2010-03-03-ExtElim.ll Make the 'icmp pred trunc(ext(X)), CST --> icmp pred X, ext(trunc(CST))' 2010-03-04 06:54:10 +00:00
2010-07-19-sqrt.ll Testcase for r108687. 2010-07-19 08:14:26 +00:00
add2.ll
add3.ll
add-shrink.ll
add-sitofp.ll
add.ll
addnegneg.ll
adjust-for-sminmax.ll
align-2d-gep.ll
align-addr.ll Make instcombine set explicit alignments on load or store 2010-08-03 18:20:32 +00:00
align-external.ll
alloca.ll Teach instcombine to promote alloca array sizes. 2010-05-28 15:09:00 +00:00
and2.ll convert to filecheck. 2010-02-11 06:24:37 +00:00
and-compare.ll
and-fcmp.ll
and-not-or.ll
and-or-and.ll
and-or-not.ll
and-or.ll
and-xor-merge.ll
and.ll
apint-add1.ll
apint-add2.ll
apint-and1.ll
apint-and2.ll
apint-and-compare.ll
apint-and-or-and.ll
apint-and-xor-merge.ll
apint-call-cast-target.ll
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
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
apint-shift.ll change the preferred canonical form for a sign extension to be 2010-01-10 07:08:30 +00:00
apint-shl-trunc.ll
apint-sub.ll
apint-xor1.ll
apint-xor2.ll
apint-zext1.ll
apint-zext2.ll
ashr-nop.ll
badmalloc.ll Teach instCombine to remove malloc+free if malloc's only uses are comparisons 2010-05-27 19:09:06 +00:00
binop-cast.ll
bit-checks.ll Re-apply the infamous r108614, with a fix pointed out by Dirk Steinke. 2010-08-02 09:32:13 +00:00
bit-tracking.ll
bitcast-scalar-to-vector.ll
bitcast-sext-vector.ll InstCombine should not fold sext/zext of a vector and a bitcast to a scalar to a sext/zext 2010-01-23 04:35:57 +00:00
bitcast-vec-canon.ll
bitcast-vector-fold.ll
bitcount.ll
bittest.ll
bswap-fold.ll Fold bswap(undef) to undef. 2010-02-17 00:54:58 +00:00
bswap.ll remove two trunc xforms that are subsumed by EvaluateInDifferentType. 2010-01-05 22:01:41 +00:00
call2.ll
call-cast-target.ll
call-intrinsics.ll
call.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
canonicalize_branch.ll filecheckize this. 2010-01-18 22:00:46 +00:00
cast_ptr.ll merge some tests. 2010-01-05 21:54:09 +00:00
cast-mul-select.ll unify the code that determines whether it is a good idea to change the type 2009-11-10 07:23:37 +00:00
cast-set.ll make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
cast.ll fix PR7311 by avoiding breaking casts when a bitcast from scalar->vector 2010-07-12 01:19:22 +00:00
compare-signs.ll Fix some CHECK lines which were ignored by accident. 2009-12-12 09:25:50 +00:00
constant-fold-compare.ll Aggressively flip compare constant expressions where appropriate; constant 2009-12-17 06:07:04 +00:00
constant-fold-gep.ll
CPP_min_max.ll
crash.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
dce-iterate.ll
deadcode.ll
dg.exp
div-cmp-overflow.ll
div.ll
enforce-known-alignment.ll
exact-sdiv.ll
extractvalue.ll
fcmp-select.ll Don't do (X != Y) ? X : Y -> X for floating-point values; it doesn't 2010-02-23 17:17:57 +00:00
fcmp-special.ll Constant-fold certain comparisons with infinity and negative infinity. 2010-02-22 04:06:03 +00:00
fold-bin-operand.ll
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
fpextend.ll
fsub.ll Reduce fsub-fadd.ll and merge it into fsub-fsub.ll. Rename fsub-fsub.ll to 2010-01-17 00:21:21 +00:00
gepgep.ll When constant folding GEP of GEP, do not crash if an index of 2010-03-12 17:55:20 +00:00
getelementptr.ll Add a testcase for getelementptr index promotion. 2010-05-28 15:07:59 +00:00
hoist_instr.ll
icmp.ll Constant fold x == undef to undef. 2010-06-28 21:30:07 +00:00
idioms.ll optimize ~(~X >>s Y) --> (X >>s Y), patch by Edmund Grimley 2010-01-19 18:16:19 +00:00
IntPtrCast.ll
intrinsics.ll PR7853: fix a silly mistake introduced in r101899, and add a test to make sure 2010-08-09 20:49:43 +00:00
invariant.ll Print empty structs as {} rather than { }. 2010-04-08 18:03:05 +00:00
JavaCompare.ll make these less sensitive to temporary naming. 2010-03-05 08:43:33 +00:00
known_align.ll
load3.ll fix PR7429, a crash turning a load from a string into a float. 2010-07-12 00:22:51 +00:00
load-cmp.ll make these less sensitive to temporary naming. 2010-03-05 08:43:33 +00:00
load-select.ll Remove ARM-specific calling convention from this test. Target data is 2010-01-30 00:40:23 +00:00
load.ll merge two tests. 2010-07-12 00:19:47 +00:00
loadstore-alignment.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
logical-select.ll fix logical-select to invoke filecheck right, and fix hte instcombine 2010-02-05 19:53:02 +00:00
lshr-phi.ll
malloc2.ll
malloc3.ll
malloc-free-delete.ll Teach instCombine to remove malloc+free if malloc's only uses are comparisons 2010-05-27 19:09:06 +00:00
malloc.ll
memcpy-to-load.ll
memcpy.ll Slightly generalize transformation of memmove(a,a,n) so that it also applies 2009-12-17 21:07:31 +00:00
memmove.ll
memset_chk.ll Reapply address space patch after fixing an issue in MemCopyOptimizer. 2010-04-04 03:10:48 +00:00
memset.ll
mul-masked-bits.ll
mul.ll
multi-use-or.ll Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul, 2010-03-02 01:11:08 +00:00
narrow.ll
no-negzero.ll
not-fcmp.ll
not.ll
nothrow.ll
nsw.ll
objsize.ll Fix declarations in a few more tests. 2010-04-17 21:29:25 +00:00
odr-linkage.ll add newlines at the end of files. 2010-04-07 22:53:17 +00:00
or-fcmp.ll
or-to-xor.ll
or.ll revert r108320, I see the failures now... 2010-07-14 06:16:35 +00:00
phi-merge-gep.ll
phi.ll fix PR6512, a case where instcombine would incorrectly merge loads 2010-03-05 18:53:28 +00:00
pr2645-0.ll
pr2645-1.ll
pr2996.ll
preserve-sminmax.ll
ptr-int-cast.ll Convert this test to FileCheck and add a testcase for PR3574. 2010-02-23 01:28:09 +00:00
README.txt
rem.ll
sdiv-1.ll
sdiv-2.ll
sdiv-shift.ll
select-2.ll
select-load-call.ll
select.ll Teach instcombine to transform 2010-07-08 11:39:10 +00:00
set.ll
setcc-strength-reduce.ll
sext.ll merge sext-2 into sext.ll 2009-12-02 05:34:35 +00:00
shift-simplify.ll
shift-sra.ll Fix a typo in ValueTracking that's causing instcombine to delete needed shift instructions. 2010-03-13 02:20:29 +00:00
shift-trunc-shift.ll
shift.ll
shufflemask-undef.ll
shufflevec-constant.ll Make ConstantFoldConstantExpression recursively visit the entire 2009-11-23 16:22:21 +00:00
signed-comparison.ll
signext.ll Simplify/generalize the xor+add->sign-extend instcombine. 2010-01-31 04:29:12 +00:00
simplify-demanded-bits-pointer.ll
sink_instruction.ll
sitofp.ll
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll
stacksaverestore.ll
store.ll Fix PR5471 by removing an instcombine xform. Some pieces of the code 2009-11-26 22:04:42 +00:00
strcpy_chk.ll Verify function prototypes before trying to optimize functions. We also 2010-04-12 04:48:00 +00:00
sub.ll Add a small transform: transform -(X<<Y) to (-X<<Y) when the shift has a single 2010-01-31 02:30:23 +00:00
trunc-mask-ext.ll
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
udiv-simplify-bug-1.ll
udivrem-change-width.ll make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
urem-simplify-bug.ll
urem.ll
vec_demanded_elts-2.ll
vec_demanded_elts-3.ll
vec_demanded_elts.ll
vec_extract_elt.ll
vec_insertelt.ll
vec_narrow.ll Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul, 2010-03-02 01:11:08 +00:00
vec_shuffle.ll Temporarily revert r110987 as it's causing some miscompares in 2010-08-17 22:55:27 +00:00
vector-casts.ll Rename ValueRequiresCast to ShouldOptimizeCast, to better reflect 2010-02-11 06:26:33 +00:00
vector-srem.ll
volatile_store.ll
xor2.ll Revert r108141 again, sigh. 2010-07-12 14:42:04 +00:00
xor-undef.ll
xor.ll
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll
zext-fold.ll
zext-or-icmp.ll
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.