1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/test/Transforms/InstCombine
Michael Kuperstein 180649bb38 [ValueTracking] Move GlobalAlias handling to be after the max depth check in computeKnownBits()
GlobalAlias handling used to be after GlobalValue handling, which meant it was, in practice, dead code. r220165 moved GlobalAlias handling to be before GlobalValue handling, but also moved it to be before the max depth check, causing an assert due to a recursion depth limit violation. 

This moves GlobalAlias handling forward to where it's safe, and changes the GlobalValue handling to only look at GlobalObjects.

Differential Revision: http://reviews.llvm.org/D6758

llvm-svn: 224765
2014-12-23 11:33:41 +00:00
..
2002-03-11-InstCombineHang.ll
2002-05-14-SubFailure.ll Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
2002-08-02-CastTest.ll
2002-12-05-MissedConstProp.ll Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
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 Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
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 Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
2006-10-26-VectorReassoc.ll Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
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 Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
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 Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
2007-09-17-AliasConstFold2.ll Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
2007-10-10-EliminateMemCpy.ll Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
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 Change behavior of calling bitcasted alias functions. 2013-07-30 20:45:05 +00:00
2008-01-06-CastCrash.ll
2008-01-06-VoidCast.ll Change behavior of calling bitcasted alias functions. 2013-07-30 20:45:05 +00:00
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 Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
2008-01-29-AddICmp.ll
2008-02-13-MulURem.ll Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
2008-02-16-SDivOverflow2.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 Convert test to FileCheck and use CHECK-LABEL 2014-11-24 23:03:17 +00:00
2008-05-31-AddBool.ll Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
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 Convert test to FileCheck and use CHECK-LABEL 2014-11-24 23:03:17 +00:00
2008-11-20-DivMulRem.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
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 Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
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-11-NotInitialized.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 IR: Fold away compares between GV GEPs and GVs 2014-07-04 22:05:26 +00:00
2010-05-30-memcpy-Struct.ll
2010-11-01-lshr-mask.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2010-11-21-SizeZeroTypeGEP.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2010-11-23-Distributed.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
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 [InstCombine] Change LLVM To canonicalize toward the value type being 2014-11-25 10:09:51 +00:00
2011-09-03-Trampoline.ll
2011-10-07-AlignPromotion.ll
2012-3-15-or-xor-constant.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
2012-6-7-vselect-bitcast.ll
2012-01-11-OpaqueBitcastCrash.ll
2012-02-13-FCmp.ll
2012-02-28-ICmp.ll
2012-03-10-InstCombine.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-04-23-Neon-Intrinsics.ll AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
2012-04-24-vselect.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-04-30-SRem.ll
2012-05-27-Negative-Shift-Crash.ll
2012-05-28-select-hang.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-06-06-LoadOfPHIs.ll
2012-07-25-LoadPart.ll
2012-07-30-addrsp-bitcast.ll Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
2012-08-28-udiv_ashl.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-09-17-ZeroSizedAlloca.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-09-24-MemcpyFromGlobalCrash.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-10-25-vector-of-pointers.ll
2012-12-14-simp-vgep.ll
2013-03-05-Combine-BitcastTy-Into-Alloca.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
abs_abs.ll This removes TODO added in http://reviews.llvm.org/D3658 2014-06-12 14:06:00 +00:00
abs-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
add2.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
add3.ll
add-shrink.ll Convert test to FileCheck. 2014-06-02 21:23:54 +00:00
add-sitofp.ll [InstCombine] mark ADD with nuw if no unsigned overflow 2014-06-17 00:42:07 +00:00
add.ll
addnegneg.ll Removed extra whitespace. (Testing commit access). NFC. 2014-12-01 09:27:46 +00:00
AddOverFlow.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
addrspacecast.ll InstCombine: Canonicalize addrspacecast between different element types 2014-06-06 21:52:55 +00:00
adjust-for-sminmax.ll
alias-recursion.ll [ValueTracking] Move GlobalAlias handling to be after the max depth check in computeKnownBits() 2014-12-23 11:33:41 +00:00
align-2d-gep.ll Make instsimplify's analysis of icmp eq/ne use computeKnownBits to determine whether the icmp is always true or false. Patch by Suyog Sarda! 2014-06-19 03:35:49 +00:00
align-addr.ll Teach InstCombineLoadCast about address spaces. 2013-09-03 21:05:48 +00:00
align-attr.ll Make use of the align parameter attribute for all pointer arguments 2014-07-22 16:58:55 +00:00
align-external.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
alloca.ll InstCombine: don't drop 'inalloca' in PromoteCastOfAllocation (PR19569) 2014-04-28 17:40:03 +00:00
and2.ll InstCombine: Turn (x != 0 & x <u C) into the canonical range check form (x-1 <u C-1) 2014-10-12 14:02:34 +00:00
and-compare.ll Use FileCheck instead of grep. Change by Ankur Garg. 2014-11-27 11:22:49 +00:00
and-fcmp.ll
and-not-or.ll
and-or-and.ll
and-or-not.ll
and-or.ll
and-xor-merge.ll Use FileCheck instead of grep. Change by Ankur Garg. 2014-11-27 11:22:49 +00:00
and-xor-or.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +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 Change behavior of calling bitcasted alias functions. 2013-07-30 20:45:05 +00:00
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 Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
apint-shift-simplify.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
apint-shift.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
apint-shl-trunc.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
apint-sub.ll InstCombine: Fix miscompile in X % -Y -> X % Y transform 2014-10-13 22:37:51 +00:00
apint-xor1.ll
apint-xor2.ll
apint-zext1.ll
apint-zext2.ll
assume2.ll Add additional patterns for @llvm.assume in ValueTracking 2014-09-07 19:21:07 +00:00
assume-loop-align.ll Make use of @llvm.assume in ValueTracking (computeKnownBits, etc.) 2014-09-07 18:57:58 +00:00
assume-redundant.ll [InstCombine] Remove redundant @llvm.assume intrinsics 2014-10-04 21:27:06 +00:00
assume.ll Canonicalize an assume(load != null) into !nonnull metadata 2014-11-11 23:33:19 +00:00
atomic.ll [InstCombine] Do an about-face on how LLVM canonicalizes (cast (load 2014-10-18 06:36:22 +00:00
badmalloc.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
binop-cast.ll
bit-checks.ll
bit-tracking.ll
bitcast-alias-function.ll [InstCombine] Change LLVM To canonicalize toward the value type being 2014-11-25 10:09:51 +00:00
bitcast-bigendian.ll Fix big-endian handling of integer-to-vector bitcasts in InstCombine 2013-08-12 07:26:09 +00:00
bitcast-sext-vector.ll
bitcast-store.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
bitcast-vec-canon.ll
bitcast-vec-uniform.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
bitcast-vector-fold.ll
bitcast.ll InstCombine: Don't allow turning vector-of-pointer loads into vector-of-integer. 2013-09-19 20:59:04 +00:00
bitcount.ll
bittest.ll
blend_x86.ll Post-commit fixes for r209643 2014-05-27 16:54:33 +00:00
bswap-fold.ll [InstCombine] Minor optimization for bswap with binary ops 2014-12-04 09:44:01 +00:00
bswap.ll
call2.ll
call-cast-target-inalloca.ll IR: Conservatively verify inalloca arguments 2014-04-30 17:22:00 +00:00
call-cast-target.ll Don't refuse to transform constexpr(call(arg, ...)) to call(constexpr(arg), ...)) just because the function has multiple return values even if their return types are the same. Patch by Eduard Burtescu! 2014-01-18 22:47:12 +00:00
call-intrinsics.ll
call.ll Cleanup handling of constant function casts. 2013-09-17 21:10:14 +00:00
canonicalize_branch.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
cast_ptr.ll Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
cast-call-combine.ll Make sure that value handle users see the transformation of an indirect call to a direct call. This is important for the CallGraph iteration. Patch by Björn Steinbrink! 2014-02-20 23:00:15 +00:00
cast-mul-select.ll
cast-set.ll Add CHECK-LABELs 2014-01-22 22:32:58 +00:00
cast.ll Add a test case for argument type coercion in an invoke of a vararg function 2014-12-04 19:13:45 +00:00
ceil.ll Allow constant folding of ceil function whenever feasible 2014-03-24 04:36:06 +00:00
compare-signs.ll InstCombine: fold (A >> C) == (B >> C) --> (A^B) < (1 << C) for constant Cs. 2013-11-16 16:00:48 +00:00
constant-expr-datalayout.ll
constant-fold-address-space-pointer.ll [InstCombine] Do an about-face on how LLVM canonicalizes (cast (load 2014-10-18 06:36:22 +00:00
constant-fold-alias.ll Move previously dead code to handle computing the known bits of an alias 2014-10-19 09:06:56 +00:00
constant-fold-compare.ll
constant-fold-gep.ll Fix another constant folding address space place I missed. 2013-11-04 20:46:52 +00:00
constant-fold-math.ll Make the sqrt intrinsic return undef for a negative input. 2014-10-01 20:36:33 +00:00
copysign.ll Allow constant folding of copysign 2014-03-06 05:32:52 +00:00
cos-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
cos-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
CPP_min_max.ll
crash.ll
dce-iterate.ll
deadcode.ll
debug-line.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
debuginfo.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
descale-zero.ll [InstCombine] Do an about-face on how LLVM canonicalizes (cast (load 2014-10-18 06:36:22 +00:00
disable-simplify-libcalls.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
distribute.ll This patch removed duplicate code for matching patterns 2014-06-26 08:57:33 +00:00
div-shift-crash.ll
div-shift.ll
div.ll InstCombine: Propagate exact for (sdiv X, Pow2) -> (udiv X, Pow2) 2014-11-22 20:00:41 +00:00
double-float-shrink-1.ll Handle sqrt() shrinking in SimplifyLibCalls like any other call 2014-10-23 21:52:45 +00:00
double-float-shrink-2.ll
enforce-known-alignment.ll Add enforce known alignment test with address space 2013-08-21 18:54:53 +00:00
err-rep-cold.ll Add the cold attribute to error-reporting call sites 2013-11-17 02:06:35 +00:00
exact.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
exp2-1.ll SimplifyLibCalls: Push TLI through the exp2->ldexp transform. 2014-02-04 20:27:23 +00:00
exp2-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
ExtractCast.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
extractvalue.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
fabs.ll Optimize away fabs() calls when input is squared (known positive). 2014-10-14 20:43:11 +00:00
fast-math.ll use -0.0 when creating an fneg instruction 2014-12-19 16:44:08 +00:00
fcmp-select.ll
fcmp-special.ll
fcmp.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
fdiv.ll Fix all the remaining lost-fast-math-flags bugs I've been able to find. The most important of these are cases in the generic logic for combining BinaryOperators. 2014-01-20 07:44:53 +00:00
ffs-1.ll [InstCombine] mark ADD with nuw if no unsigned overflow 2014-06-17 00:42:07 +00:00
float-shrink-compare.ll [SimplifyLibCalls] Improve double->float shrinking to consider constants 2014-12-03 21:46:33 +00:00
fmul.ll Remove unused function attribute params. 2014-10-02 21:12:04 +00:00
fneg-ext.ll Preserve fast-math flags when folding (fsub x, (fneg y)) to (fadd x, y). 2013-07-30 23:53:17 +00:00
fold-bin-operand.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
fold-calls.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
fold-fops-into-selects.ll InstCombine: call FoldOpIntoSelect for all floating binops, not just fmul 2013-07-20 07:13:13 +00:00
fold-phi.ll Minimize test case further 2014-11-04 05:17:58 +00:00
fold-sqrt-sqrtf.ll
fold-vector-select.ll Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll Fix another infinite loop in InstCombine 2014-12-12 04:34:07 +00:00
fpextend_x86.ll Rein in overzealous InstCombine of fptrunc(OP(fpextend, fpextend)). 2013-11-28 21:38:05 +00:00
fpextend.ll Rein in overzealous InstCombine of fptrunc(OP(fpextend, fpextend)). 2013-11-28 21:38:05 +00:00
fprintf-1.ll Fix broken FileCheck prefix 2014-02-26 19:51:08 +00:00
fputs-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
fsub.ll
fwrite-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
gep-addrspace.ll Fix PR19270 - type mismatch caused by invalid optimization. 2014-04-03 17:51:58 +00:00
gepgep.ll
gepphigep.ll Add support for combining GEPs across PHI nodes 2014-05-29 20:29:47 +00:00
getelementptr.ll [InstCombine] Change LLVM To canonicalize toward the value type being 2014-11-25 10:09:51 +00:00
hoist_instr.ll
icmp-logical.ll InstCombine: Fold away tautological masked compares 2014-11-18 09:31:41 +00:00
icmp-range.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
icmp-shr.ll InstCombine: Simplify FoldICmpCstShrCst 2014-10-21 19:51:55 +00:00
icmp.ll InstCombine: Rely on cmpxchg's return code when it's strong 2014-11-06 23:23:30 +00:00
idioms.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
insert-extract-shuffle.ll InstCombine: form shuffles from wider range of insert/extractelements 2014-03-07 10:24:44 +00:00
IntPtrCast.ll
intrinsics.ll Strength reduce intrinsics with overflow into regular arithmetic operations if possible. 2014-12-17 07:29:19 +00:00
invariant.ll
invoke.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
isascii-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
isdigit-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
JavaCompare.ll
known_align.ll
LandingPadClauses.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
load3.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
load-cmp.ll Use right address space size in InstCombineCompares 2013-09-30 21:11:01 +00:00
load-select.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
load.ll Fix a miscompile introduced in r220178. 2014-10-20 10:03:01 +00:00
loadstore-alignment.ll Teach computeKnownBits to look through addrspacecast. 2014-07-15 01:55:03 +00:00
loadstore-metadata.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
logical-select.ll
lshr-phi.ll
malloc-free-delete.ll PR21145: Teach LLVM about C++14 sized deallocation functions. 2014-10-03 20:17:06 +00:00
maxnum.ll Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
memcmp-1.ll InstCombine: Annotate sub with nsw when we prove it's safe 2014-08-19 23:36:30 +00:00
memcmp-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memcpy_chk-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memcpy_chk-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memcpy-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memcpy-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memcpy-from-global.ll InstCombine: Canonicalize addrspacecast between different element types 2014-06-06 21:52:55 +00:00
memcpy-to-load.ll
memcpy.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
memmove_chk-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memmove_chk-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memmove-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memmove-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memmove.ll
memset2.ll
memset_chk-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memset_chk-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memset-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memset-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
memset.ll
merge-icmp.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
minnum.ll Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
mul-masked-bits.ll
mul.ll InstCombine: Don't create an unused instruction 2014-11-24 16:41:13 +00:00
multi-size-address-space-pointer.ll Teach InstCombine about address spaces 2013-08-21 19:53:10 +00:00
multi-use-or.ll
narrow-switch.ll Reapply: [InstCombine] Fix visitSwitchInst to use right operand types for sub cstexpr 2014-12-19 17:12:35 +00:00
narrow.ll
neon-intrinsics.ll
no_cgscc_assert.ll CGSCC should not treat intrinsic calls like function calls (PR21403) 2014-11-12 18:25:47 +00:00
no-negzero.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
not-fcmp.ll Use FileCheck instead of grep. Change by Sonam. 2014-11-27 10:57:24 +00:00
not.ll Use FileCheck instead of grep. Change by Sonam. 2014-11-27 10:57:24 +00:00
nothrow.ll
nsw.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
obfuscated_splat.ll
objsize-64.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
objsize-address-space.ll Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
objsize.ll Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
odr-linkage.ll
onehot_merge.ll InstCombine: Replace a hand-rolled version of isKnownToBeAPowerOfTwo with the real thing. 2014-01-19 16:48:41 +00:00
or-fcmp.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
or-to-xor.ll
or-xor.ll Removal Of Duplicate Test Cases and Addition Of Missing Check Statements 2014-12-09 10:46:38 +00:00
or.ll InstCombine: FoldOrOfICmps harder 2014-11-28 19:58:29 +00:00
osx-names.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
overflow-mul.ll InstCombine: Don't assume that m_ZExt matches an Instruction 2014-11-01 23:46:05 +00:00
overflow.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
OverlappingInsertvalues.ll [InstCombine] Some cleanup in optimization of redundant insertvalue instructions. 2014-05-08 19:50:24 +00:00
phi-merge-gep.ll
phi-select-constexpr.ll Don't use isNullValue to evaluate ConstantExpr 2013-12-06 21:48:36 +00:00
phi.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
pow-1.ll Change math intrinsic attributes from readonly to readnone. These 2014-03-06 00:18:15 +00:00
pow-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
pow-3.ll Adds missing TLI check for library simplification of 2013-08-19 06:55:47 +00:00
pr2645-0.ll
pr2645-1.ll
pr2996.ll
pr8547.ll
pr12251.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
pr12338.ll [InstCombine] Re-commit of r218721 (Optimize icmp-select-icmp sequence) 2014-11-21 23:36:44 +00:00
pr17827.ll Conservative fix for PR17827 - don't optimize a shift + and + compare sequence where the shift is logical unless the comparison is unsigned 2013-12-02 18:43:59 +00:00
pr19420.ll Revert "Revert r206045, "Fix shift by constants for vector."" 2014-04-14 21:50:37 +00:00
pr20059.ll removed duplicate testcase 2014-07-09 17:49:58 +00:00
pr20079.ll IR: Fold away compares between GV GEPs and GVs 2014-07-04 22:05:26 +00:00
pr21199.ll [InstCombine] Re-commit of r218721 (Optimize icmp-select-icmp sequence) 2014-11-21 23:36:44 +00:00
pr21210.ll [InstCombine] Re-commit of r218721 (Optimize icmp-select-icmp sequence) 2014-11-21 23:36:44 +00:00
pr21651.ll InstCombine: Don't assume DataLayout is always available 2014-11-24 07:26:20 +00:00
pr21891.ll ValueTracking: Don't recurse too deeply in computeKnownBitsFromAssume 2014-12-12 23:59:29 +00:00
PR7357.ll
preserve-sminmax.ll
printf-1.ll Fix broken FileCheck prefixes 2014-02-26 22:29:11 +00:00
printf-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
ptr-int-cast.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
puts-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
r600-intrinsics.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
range-check.ll InstCombine: simplify signed range checks 2014-12-03 10:39:15 +00:00
README.txt
rem.ll Add back commit r210029. 2014-06-02 22:01:04 +00:00
round.ll Allow constant folding of round function whenever feasible 2014-03-07 04:36:21 +00:00
sdiv-1.ll
sdiv-2.ll
select-2.ll Fix all the remaining lost-fast-math-flags bugs I've been able to find. The most important of these are cases in the generic logic for combining BinaryOperators. 2014-01-20 07:44:53 +00:00
select-cmp-br.ll [InstCombine] Re-commit of r218721 (Optimize icmp-select-icmp sequence) 2014-11-21 23:36:44 +00:00
select-crash.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
select-extractelement.ll Scalarize select vector arguments when extracted. 2013-11-04 20:36:06 +00:00
select-load-call.ll
select-select.ll Remove a very old instcombine where we would turn sequences of selects into 2014-02-12 23:54:07 +00:00
select.ll This should have been part of r224676. 2014-12-20 04:48:34 +00:00
set.ll
setcc-strength-reduce.ll
sext.ll Add back commit r210029. 2014-06-02 22:01:04 +00:00
shift-sra.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
shift.ll ConstantFold, InstSimplify: undef >>a x can be either -1 or 0, choose 0 2014-12-10 21:58:15 +00:00
shufflemask-undef.ll
shufflevec-constant.ll
sign-test-and-or.ll InstCombine: Teach icmp merging about the equivalence of bit tests and UGE/ULT with a power of 2. 2014-02-11 21:09:03 +00:00
signed-comparison.ll
signext.ll [signext.ll] Removal Of Duplicate Test Cases 2014-12-02 05:29:47 +00:00
simplify-demanded-bits-pointer.ll
simplify-libcalls.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
sincospi.ll ARM64: initial backend import 2014-03-29 10:18:08 +00:00
sink_instruction.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
sitofp.ll
sprintf-1.ll Fix broken FileCheck prefixes 2014-02-26 22:29:11 +00:00
sqrt.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll
stacksaverestore.ll
store.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
stpcpy_chk-1.ll Change objectsize intrinsic to accept different address spaces. 2013-10-07 18:06:48 +00:00
stpcpy_chk-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
stpcpy-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
stpcpy-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcat-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcat-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcat-3.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strchr-1.ll Add strchr(p, 0) -> p + strlen(p) to SimplifyLibCalls 2014-02-04 05:55:16 +00:00
strchr-2.ll
strcmp-1.ll InstCombine: Annotate sub with nsw when we prove it's safe 2014-08-19 23:36:30 +00:00
strcmp-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcpy_chk-1.ll Change objectsize intrinsic to accept different address spaces. 2013-10-07 18:06:48 +00:00
strcpy_chk-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcpy_chk-64.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcpy-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcpy-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcspn-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strcspn-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strlen-1.ll Fold strlen(expr ? "str1" : "str2") to x ? len1 : len2. This fires about 330 times in a bootstrap of clang. 2014-05-02 04:11:45 +00:00
strlen-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strncat-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strncat-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strncat-3.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strncmp-1.ll InstCombine: Annotate sub with nsw when we prove it's safe 2014-08-19 23:36:30 +00:00
strncmp-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strncpy_chk-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strncpy_chk-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strncpy-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strncpy-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strpbrk-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strpbrk-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strrchr-1.ll Fixing a corner-case bug in strchr and strrchr lib call optimizations where 2013-08-15 20:58:59 +00:00
strrchr-2.ll
strspn-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strstr-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strstr-2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
strto-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
struct-assign-tbaa.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
sub-xor.ll InstCombine: Annotate sub with nsw when we prove it's safe 2014-08-19 23:36:30 +00:00
sub.ll InstCombine: Combine (X | Y) - X to (~X & Y) 2014-11-03 05:53:55 +00:00
toascii-1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
trunc.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
udiv-simplify-bug-1.ll
udivrem-change-width.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
unordered-fcmp-select.ll Bug 21610: Canonicalize min/max fcmp selects to use ordered comparisons 2014-11-24 23:15:18 +00:00
urem-simplify-bug.ll
urem.ll
vec_demanded_elts.ll [InstCombine][X86] Improved folding of calls to Intrinsic::x86_sse4a_insertqi. 2014-12-11 20:44:59 +00:00
vec_extract_2elts.ll
vec_extract_elt.ll Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
vec_extract_var_elt.ll InstCombine: Don't try to use aggregate elements of ConstantExprs. 2014-01-24 19:02:37 +00:00
vec_insertelt.ll Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
vec_narrow.ll
vec_phi_extract.ll InstCombine: Teach most integer add/sub/mul/div combines how to deal with vectors. 2014-01-19 15:24:22 +00:00
vec_sext.ll InstCombine: Modernize a bunch of cast combines. 2014-01-19 20:05:13 +00:00
vec_shuffle.ll InstCombine: Don't try to reorder shuffles where the mask is a ConstantExpr. 2014-06-24 10:38:10 +00:00
vector_gep1.ll
vector_gep2.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
vector-casts.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
vector-mul.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
vector-srem.ll
vector-type.ll
volatile_store.ll
vsx-unaligned.ll [PowerPC] Add vec_vsx_ld and vec_vsx_st intrinsics 2014-11-12 04:19:40 +00:00
weak-symbols.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
win-math.ll SimplifyLibCalls: When emitting an overloaded fp function check that it's available. 2013-08-31 18:19:35 +00:00
x86-crc32-demanded.ll
xor2.ll [InstCombine] Remove redundant test case. 2014-09-16 08:50:10 +00:00
xor-undef.ll
xor.ll Change the test case file to use FileCheck instead of grep. NFC. 2014-11-25 08:44:56 +00:00
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll Add back commit r210029. 2014-06-02 22:01:04 +00:00
zext-fold.ll
zext-or-icmp.ll
zext.ll InstCombine: Modernize a bunch of cast combines. 2014-01-19 20:05:13 +00:00

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.