1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/test/Transforms/InstSimplify
Craig Topper 875dc8de28 [InstSimplify][ConstantFolding] Teach constant folding how to handle icmp null, (inttoptr x) as well as it handles icmp (inttoptr x), null
Summary:
The constant folding code currently assumes that the constant expression will always be on the left and the simple null will be on the right. But that's not true at least on the path from InstSimplify.

This patch adds support to ConstantFolding to detect the reversed case.

Reviewers: spatel, dberlin, majnemer, davide, joey

Reviewed By: joey

Subscribers: joey, llvm-commits

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

llvm-svn: 304559
2017-06-02 16:17:32 +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] Make m_Not work for xor -1, X 2017-05-18 20:27:32 +00:00
assume.ll
bitcast-vector-fold.ll
bitreverse.ll
bswap.ll
call-callconv.ll
call.ll [InstSimplify] Simplify uadd/sadd/umul/smul with overflow intrinsics when the Zero or Undef is on the LHS. 2017-05-24 17:05:28 +00:00
cast.ll
compare.ll [InstSimplify][ConstantFolding] Teach constant folding how to handle icmp null, (inttoptr x) as well as it handles icmp (inttoptr x), null 2017-06-02 16:17:32 +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
floating-point-compare.ll
fold-builtin-fma.ll
gep.ll
icmp-bool-constant.ll [InstSimplify] handle all icmp i1 X, C in one place; NFCI 2017-05-17 20:27:55 +00:00
icmp-constant.ll
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] Use m_APInt instead of m_ConstantInt in ((V + N) & C1) | (V & C2) handling in order to support splat vectors. 2017-05-26 19:03:53 +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