1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
llvm-mirror/test/Transforms/InstSimplify
Sanjay Patel 5c904052a0 [InstSimplify] add folds for constant mask of value shifted by constant
We would eventually catch these via demanded bits and computing known bits in InstCombine,
but I think it's better to handle the simple cases as soon as possible as a matter of efficiency.

This fold allows further simplifications based on distributed ops transforms. eg:
  %a = lshr i8 %x, 7
  %b = or i8 %a, 2
  %c = and i8 %b, 1

InstSimplify can directly fold this now:
  %a = lshr i8 %x, 7

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

llvm-svn: 303213
2017-05-16 21:51:04 +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
add-mask.ll
addsub.ll [InstSimplify] Add test cases for mixing add/sub i1 with xor of i1. Seems we can simplify in one direction but not the other. 2017-04-06 05:48:06 +00:00
and-icmps-same-ops.ll
AndOrXor.ll [InstSimplify] add folds for constant mask of value shifted by constant 2017-05-16 21:51:04 +00:00
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
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
cast.ll
compare.ll [InstSimplify] restrict icmp fold with 2 sdiv exact operands (PR32949) 2017-05-15 19:16:49 +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
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
icmp-ranges.ll [InstSimplify] use ConstantRange to simplify or-of-icmps 2017-05-07 15:11:40 +00:00
implies.ll
load-relative-32.ll
load-relative.ll
load.ll
maxmin.ll
mul.ll [InstSimplify] Teach SimplifyMulInst to recognize vectors of i1 as And. Not just scalar i1. 2017-04-06 17:33:37 +00:00
negate.ll
noalias-ptr.ll
or-icmps-same-ops.ll
or.ll [InstSimplify, InstCombine] move 'or' simplification tests; NFC 2017-05-10 15:57:47 +00:00
past-the-end.ll
phi.ll
pr28725.ll
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
returned.ll
select.ll Revert r301880 2017-05-01 23:54:41 +00:00
shift-128-kb.ll
shift-knownbits.ll
shr-nop.ll
shufflevector.ll InstructionSimplify: Relanding r301766 2017-05-07 18:16:37 +00:00
undef.ll
vec-cmp.ll
vector_gep.ll [InstSimplify] Deduce correct type for vector GEP. 2017-04-19 14:23:42 +00:00
vector_ptr_bitcast.ll