diff options
| author | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2019-10-18 07:42:02 +0000 |
|---|---|---|
| committer | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2019-10-18 07:42:02 +0000 |
| commit | 6456252dbf67f26f88873e92c0813ebf8a1f96a3 (patch) | |
| tree | 8eb340bc23a1f6478fa961c3c82e2f0b1bd5619f /llvm/test/CodeGen/ARM | |
| parent | 459134064daeef03a762979ab162587f94361cdc (diff) | |
| download | bcm5719-llvm-6456252dbf67f26f88873e92c0813ebf8a1f96a3.tar.gz bcm5719-llvm-6456252dbf67f26f88873e92c0813ebf8a1f96a3.zip | |
[InstCombine] Fix miscompile bug in canEvaluateShuffled
Summary:
Add restrictions in canEvaluateShuffled to prevent that we for example
transform
%0 = insertelement <2 x i16> undef, i16 %a, i32 0
%1 = srem <2 x i16> %0, <i16 2, i16 1>
%2 = shufflevector <2 x i16> %1, <2 x i16> undef, <2 x i32> <i32 undef, i32 0>
into
%1 = insertelement <2 x i16> undef, i16 %a, i32 1
%2 = srem <2 x i16> %1, <i16 undef, i16 2>
as having an undef denominator makes the srem undefined (for all
vector elements).
Fixes: https://bugs.llvm.org/show_bug.cgi?id=43689
Reviewers: spatel, lebedev.ri
Reviewed By: spatel, lebedev.ri
Subscribers: lebedev.ri, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69038
llvm-svn: 375208
Diffstat (limited to 'llvm/test/CodeGen/ARM')
0 files changed, 0 insertions, 0 deletions

