llvm-6502/test/Transforms/InstCombine
Hal Finkel 5ecf528fc2 [InstCombine] Remove unnecessary variable indexing into single-element arrays
This change addresses a deficiency pointed out in PR22629. To copy from the bug
report:

[from the bug report]

Consider this code:

int f(int x) {
  int a[] = {12};
  return a[x];
}

GCC knows to optimize this to

movl     $12, %eax
ret

The code generated by recent Clang at -O3 is:

movslq   %edi, %rax
movl     .L_ZZ1fiE1a(,%rax,4), %eax
retq

.L_ZZ1fiE1a:
  .long    12                      # 0xc

[end from the bug report]

This definitely seems worth fixing. I've also seen this kind of code before (as
the base case of generic vector wrapper templates with one element).

The general idea is to look at the GEP feeding a load or a store, which has
some variable as its first non-zero index, and determine if that index must be
zero (or else an out-of-bounds access would occur). We can do this for allocas
and globals with constant initializers where we know the maximum size of the
underlying object. When we find such a GEP, we create a new one for the memory
access with that first variable index replaced with a constant zero.

Even if we can't eliminate the memory access (and sometimes we can't), it is
still useful because it removes unnecessary indexing calculations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229959 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-20 03:05:53 +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 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 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 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 Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
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 InstCombine: add more transforms 2013-07-09 07:50:59 +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 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 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
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
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 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 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 Convert tests to FileCheck 2013-08-28 23:04:41 +00:00
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-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
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 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 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 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 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 Add addrspacecast instruction. 2013-11-15 01:34:59 +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-11-NotInitialized.ll Move library call prototype attribute inference to functionattrs 2013-03-21 00:55:59 +00:00
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 IR: Fold away compares between GV GEPs and GVs 2014-07-04 22:05:26 +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 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 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
2012-02-13-FCmp.ll
2012-02-28-ICmp.ll Testcase for r151691. 2012-02-29 01:53:13 +00:00
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 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 TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
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 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 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 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
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 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 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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 InstCombine: Check the operand types before merging fcmp ord & fcmp ord. 2013-04-12 21:56:23 +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 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 InstCombine: add more transforms 2013-07-09 07:50:59 +00:00
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 InstCombine: Bitcast call arguments from/to pointer/integer type 2015-01-06 08:41:31 +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 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
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 Revert r228556: InstCombine: propagate nonNull through assume 2015-02-10 08:07:32 +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 Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
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 Add newlines at end of test files, no functionality change 2013-07-13 22:00:58 +00:00
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 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
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
call2.ll
call-cast-target-inalloca.ll IR: Conservatively verify inalloca arguments 2014-04-30 17:22:00 +00:00
call-cast-target.ll InstCombine: Don't strip bitcasts off of callsites marked 'thunk' 2015-01-21 22:32:04 +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 [InstCombine] Fix a bug when combining icmp from ptrtoint 2015-02-13 04:51:26 +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-int-fcmp-eq-0.ll Convert fcmp with 0.0 from casted integers to icmp 2015-01-06 15:50:59 +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 Teach the DataLayout aware constant folder to be much more aggressive towards 2013-02-14 03:23:37 +00:00
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 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 IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
debuginfo.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +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 Revert r185257 (InstCombine: Be more agressive optimizing 'udiv' instrs with 'select' denoms) 2013-07-02 05:21:11 +00:00
div-shift.ll InstSimplify: X >> X -> 0 2013-07-09 22:01:22 +00:00
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 instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
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 InstCombine: fsub nsz 0, X ==> fsub nsz -0.0, X 2014-12-31 22:14:05 +00:00
fcmp-select.ll
fcmp-special.ll
fcmp.ll Fix fcmp + fabs instcombines when using the intrinsic 2015-01-08 20:09:34 +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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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
gc.relocate.ll InstCombine: propagate deref via new addDereferenceableAttr 2015-02-14 19:37:54 +00:00
gep-addrspace.ll Fix PR19270 - type mismatch caused by invalid optimization. 2014-04-03 17:51:58 +00:00
gep-sext.ll [InstCombine] When canonicalizing gep indices, prefer zext when possible 2015-02-14 00:05:36 +00:00
gepgep.ll
gepphigep.ll [InstCombine] Do not insert a GEP instruction before a landingpad instruction. 2015-02-18 03:30:11 +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: Don't take A-B<0 into A<B if A-B has other uses 2015-01-14 19:26:56 +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 [InstCombine] Teach how to fold a select into a cttz/ctlz with the 'is_zero_undef' flag. 2015-01-27 15:58:14 +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 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 Move EH personality type classification to Analysis/LibCallSemantics.h 2015-01-28 01:17:38 +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 [InstCombine] Remove unnecessary variable indexing into single-element arrays 2015-02-20 03:05:53 +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 [PM] Port instcombine to the new pass manager! 2015-01-24 04:19:17 +00:00
loadstore-alignment.ll Teach computeKnownBits to look through addrspacecast. 2014-07-15 01:55:03 +00:00
loadstore-metadata.ll [IC] Fix a bug with the instcombine canonicalizing of loads and 2015-02-13 02:30:01 +00:00
logical-select.ll The transform is: 2013-02-16 23:41:36 +00:00
lshr-phi.ll
malloc-free-delete.ll For PR21145: recognise a builtin call to a known deallocation function even if 2015-01-15 01:00:33 +00:00
maxnum.ll Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
mem-gep-zidx.ll [InstCombine] Remove unnecessary variable indexing into single-element arrays 2015-02-20 03:05:53 +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 [SimplifyLibCalls] Don't confuse strcpy_chk for stpcpy_chk. 2015-01-27 21:52:16 +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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 [SimplifyLibCalls] Don't confuse strcpy_chk for stpcpy_chk. 2015-01-27 21:52:16 +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 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 [SimplifyLibCalls] Don't confuse strcpy_chk for stpcpy_chk. 2015-01-27 21:52:16 +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 Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
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 Fix using wrong intrinsic in test 2015-01-06 23:00:33 +00:00
mul-masked-bits.ll
mul.ll InstCombine: match can find ConstantExprs, don't assume we have a Value 2015-01-04 07:36:02 +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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 InstCombine: Allow folding of xor into icmp by changing the predicate for vectors 2015-02-12 20:26:46 +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 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 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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 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 Add newlines at end of test files, no functionality change 2013-07-13 22:00:58 +00:00
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 Move the remaining simplify-libcalls tests to instcombine, merging most of them into a single file. 2013-05-19 13:28:39 +00:00
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 llvm/test/Transforms/InstCombine/sdiv-1.ll: FileCheck-ize. 2012-11-21 14:46:18 +00:00
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-cmp-cttz-ctlz.ll [InstCombine] Fix regression introduced at r227197. 2015-02-13 16:33:34 +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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 InstCombine: Combine select sequences into a single select 2015-02-06 17:49:36 +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 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 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 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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 InstCombine: fold more cases of (fp_to_u/sint (u/sint_to_fp val)) 2015-02-16 21:47:54 +00:00
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 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
statepoint.ll Carry facts about nullness and undef across GC relocation 2014-12-29 23:27:30 +00:00
store.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
stpcpy_chk-1.ll [SimplifyLibCalls] Don't confuse strcpy_chk for stpcpy_chk. 2015-01-27 21:52:16 +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 instcombine: Migrate strchr and strrchr optimizations 2012-10-13 16:45:37 +00:00
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 [SimplifyLibCalls] Don't confuse strcpy_chk for stpcpy_chk. 2015-01-27 21:52:16 +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 [SimplifyLibCalls] Don't confuse strcpy_chk for stpcpy_chk. 2015-01-27 21:52:16 +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 instcombine: Migrate strchr and strrchr optimizations 2012-10-13 16:45:37 +00:00
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 [canonicalize] Teach InstCombine to canonicalize loads which are only 2015-01-22 05:08:12 +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 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 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 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 [InstCombine][X86] Improved folding of calls to Intrinsic::x86_sse4a_insertqi. 2014-12-11 20:44:59 +00:00
vec_extract_2elts.ll In the function InstCombiner::visitExtractElementInst() removed the limitation that extract is promoted over a cast only if the cast has only one use. 2013-04-18 19:56:44 +00:00
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 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 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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
vector-type.ll Remove -O3. 2013-03-28 19:34:14 +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
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 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 Add back commit r210029. 2014-06-02 22:01:04 +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
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.