llvm-6502/test/Transforms/InstCombine
Nuno Lopes e3305b1750 objectsize:
refactor code a bit to enable future changes to support run-time information
add support to compute allocation sizes at run-time if penalty > 1 (e.g., malloc(x), calloc(x, y), and VLAs)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156515 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-09 21:30:57 +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
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
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-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-08-SingleEltVectorCrash.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-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
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
2008-01-14-VarArgTrampoline.ll
2008-01-21-MismatchedCastAndCompare.ll
2008-01-21-MulTrunc.ll
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
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
2010-01-28-NegativeSRem.ll
2010-03-03-ExtElim.ll
2010-11-01-lshr-mask.ll Reapply r155136 after fixing PR12599. 2012-04-23 17:39:52 +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
2011-05-13-InBoundsGEP.ll
2011-05-28-swapmulsub.ll
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
2011-10-07-AlignPromotion.ll
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-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 Add support for llvm.arm.neon.vmull* intrinsics to InstCombine. Fixes 2012-05-01 00:20:38 +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
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
align-external.ll Fix a theoretical problem (not seen in the wild): if different instances of a 2011-11-29 18:26:38 +00:00
alloca.ll Teach InstCombine to nuke a common alloca pattern -- an alloca which has 2012-04-08 14:36:56 +00:00
and2.ll
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-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
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
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 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
apint-xor1.ll
apint-xor2.ll
apint-zext1.ll
apint-zext2.ll
ashr-nop.ll
atomic.ll
badmalloc.ll
binop-cast.ll
bit-checks.ll
bit-tracking.ll
bitcast-sext-vector.ll
bitcast-store.ll
bitcast-vec-canon.ll
bitcast-vec-uniform.ll
bitcast-vector-fold.ll
bitcast.ll
bitcount.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
bittest.ll
bswap-fold.ll
bswap.ll
call2.ll
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
cast_ptr.ll
cast-mul-select.ll
cast-set.ll
cast.ll Reapply r155136 after fixing PR12599. 2012-04-23 17:39:52 +00:00
compare-signs.ll
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
CPP_min_max.ll
crash.ll
dce-iterate.ll
deadcode.ll
debuginfo.ll change the objectsize intrinsic signature: add a 3rd parameter to denote the maximum runtime performance penalty that the user is willing to accept. 2012-05-09 15:52:43 +00:00
devirt.ll
div.ll
enforce-known-alignment.ll
exact.ll
ExtractCast.ll
extractvalue.ll
fcmp-select.ll
fcmp-special.ll
fcmp.ll
fdiv.ll
fold-bin-operand.ll
fold-calls.ll
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
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
fpextend.ll
fsub.ll
gep-addrspace.ll
gepgep.ll
getelementptr.ll
hoist_instr.ll
icmp.ll Reinstate the optimization from r151449 with a fix to not turn 'gep %x' into 2012-02-26 02:09:49 +00:00
idioms.ll
IntPtrCast.ll
intrinsics.ll Add an explicit test that we now fold cttz.i32(..., true) >> 5 -> 0. 2011-12-24 22:34:15 +00:00
invariant.ll
JavaCompare.ll
known_align.ll
LandingPadClauses.ll
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
load-cmp.ll
load-select.ll
load.ll
loadstore-alignment.ll
logical-select.ll
lshr-phi.ll
malloc-free-delete.ll
memcpy-to-load.ll
memcpy.ll
memmove.ll
memset2.ll
memset_chk.ll
memset.ll
merge-icmp.ll
mul-masked-bits.ll
mul.ll Factor out the multiply analysis code in ComputeMaskedBits and apply it to the 2012-03-18 23:28:48 +00:00
multi-use-or.ll
narrow.ll
neon-intrinsics.ll
no-negzero.ll
not-fcmp.ll
not.ll
nothrow.ll
nsw.ll
objsize.ll objectsize: 2012-05-09 21:30:57 +00:00
odr-linkage.ll
or-fcmp.ll
or-to-xor.ll
or-xor.ll
or.ll
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
phi.ll Reapply r155682, making constant folding more consistent, with a fix to work 2012-04-27 17:50:22 +00:00
pr2645-0.ll
pr2645-1.ll
pr2996.ll
pr8547.ll
pr12251.ll Always compute all the bits in ComputeMaskedBits. 2012-04-04 12:51:34 +00:00
preserve-sminmax.ll
ptr-int-cast.ll
README.txt
rem.ll
sdiv-1.ll
sdiv-2.ll
sdiv-shift.ll
select-2.ll
select-crash.ll
select-load-call.ll
select.ll Added InstCombine for "select cond, ~cond, x" type patterns 2011-12-15 00:56:45 +00:00
set.ll
setcc-strength-reduce.ll
sext.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
shift-sra.ll
shift.ll Reapply r155136 after fixing PR12599. 2012-04-23 17:39:52 +00:00
shufflemask-undef.ll
shufflevec-constant.ll
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
signext.ll
simplify-demanded-bits-pointer.ll
sink_instruction.ll
sitofp.ll
sqrt.ll
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll
stacksaverestore.ll
store.ll
strcpy_chk-64.ll
strcpy_chk.ll
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
trunc.ll
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
udiv-simplify-bug-1.ll
udivrem-change-width.ll
urem-simplify-bug.ll
urem.ll
vec_demanded_elts.ll
vec_extract_elt.ll
vec_insertelt.ll
vec_narrow.ll
vec_sext.ll
vec_shuffle.ll
vector_gep1.ll Add support for vectors of pointers. 2011-12-05 06:29:09 +00:00
vector-casts.ll
vector-srem.ll
volatile_store.ll
x86-crc32-demanded.ll
xor2.ll
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.