llvm-project/llvm/test/Transforms/InstSimplify
Zvi Rackover 8f460655a2 InstSimplify: Add a hook for shufflevector
Summary:
Add a hook for simplification of shufflevector's with the following rules:
- Constant folding - NFC, as it was already being done by the default handler.
-  If only one of the operands is constant, constant fold the shuffle if the
    mask does not select elements from the variable operand -  to show the hook is firing and affecting the test-cases.

Reviewers: RKSimon, craig.topper, spatel, sanjoy, nlopes, majnemer

Reviewed By: spatel

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D31525

llvm-svn: 299393
2017-04-03 22:05:30 +00:00
..
2010-12-20-Boolean.ll
2011-01-14-Thread.ll
2011-02-01-Vector.ll
2011-09-05-InsertExtractValue.ll
2011-10-27-BinOpCrash.ll
2011-11-23-MaskedBitsCrash.ll
2013-04-19-ConstantFoldingCrash.ll
AndOrXor.ll [InstSimplify] add nsw/nuw (xor X, signbit), signbit --> X 2017-02-18 21:59:09 +00:00
add-mask.ll Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
and-icmps-same-ops.ll [InstSimplify] fixed (?) to not mutate icmps 2016-12-06 22:09:52 +00:00
apint-or.ll
assume.ll [ValueTracking] emit a remark when we detect a conflicting assumption (PR31809) 2017-02-06 18:26:06 +00:00
bitcast-vector-fold.ll [ConstantFold] Improve the bitcast folding logic for constant vectors. 2016-09-13 14:50:47 +00:00
bitreverse.ll [ValueTracking] Extend known bits to understand @llvm.bitreverse. 2017-01-17 17:23:51 +00:00
bswap.ll
call-callconv.ll
call.ll Simplify llvm.masked.load w/ undef masks 2016-07-14 06:58:37 +00:00
cast.ll [InstSimplify] Fold gep (gep V, C), (xor V, -1) to C-1 2016-08-16 06:13:46 +00:00
compare.ll [Constants] don't die processing non-ConstantInt GEP indices in isGEPWithNoNotionalOverIndexing() (PR31262) 2016-12-11 20:07:02 +00:00
dead-code-removal.ll
div.ll [InstSimplify] allow folds for bool vector div/rem 2017-03-09 21:56:03 +00:00
exact-nsw-nuw.ll
fast-math.ll
fdiv.ll [InstSimplify] add constant folding for fdiv/frem 2017-04-01 19:05:11 +00:00
floating-point-arithmetic.ll [ValueTracking] Implement SignBitMustBeZero correctly for sqrt. 2017-01-26 00:10:26 +00:00
floating-point-compare.ll [instsimplify] Fix incorrect folding of an ordered fcmp with a vector of all NaN. 2016-09-02 14:47:43 +00:00
fold-builtin-fma.ll
gep.ll
icmp-constant.ll [InstSimplify] try to eliminate icmp Pred (add nsw X, C1), C2 2017-01-24 17:03:24 +00:00
implies.ll
load-relative-32.ll
load-relative.ll
load.ll
maxmin.ll
negate.ll [InstSimplify] fold negation of sign-bit 2016-10-19 21:23:45 +00:00
noalias-ptr.ll
or-icmps-same-ops.ll [InstSimplify] fixed (?) to not mutate icmps 2016-12-06 22:09:52 +00:00
past-the-end.ll
phi.ll
pr28725.ll [ConstantFolding] Use ConstantExpr::getWithOperands 2016-07-29 03:27:31 +00:00
ptr_diff.ll
reassociate.ll
rem.ll [InstSimplify] allow folds for bool vector div/rem 2017-03-09 21:56:03 +00:00
require-dominator.ll Add unittest for r280760 2016-09-08 16:53:40 +00:00
returned.ll
select.ll [InstCombine] if the condition of a select may be known via assumes, eliminate the select 2017-01-13 17:02:42 +00:00
shift-128-kb.ll
shift-knownbits.ll [InstCombine / InstSimplify] add and move tests for lshr transforms; NFC 2017-01-13 22:54:12 +00:00
shr-nop.ll
shufflevector.ll InstSimplify: Add a hook for shufflevector 2017-04-03 22:05:30 +00:00
undef.ll [InstCombine] replace divide-by-constant checks with asserts; NFC 2016-08-30 17:31:34 +00:00
vec-cmp.ll
vector_gep.ll
vector_ptr_bitcast.ll