diff options
author | Sanjay Patel <spatel@rotateright.com> | 2019-02-07 21:12:01 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2019-02-07 21:12:01 +0000 |
commit | 781d88386252087011c4bb57e2ee7cad881a438e (patch) | |
tree | b84899727a87553f42349537afd3b2e56068fe47 /llvm/utils | |
parent | e794db8817c8789e7d6fb6d0d351e8bff991c48c (diff) | |
download | bcm5719-llvm-781d88386252087011c4bb57e2ee7cad881a438e.tar.gz bcm5719-llvm-781d88386252087011c4bb57e2ee7cad881a438e.zip |
[InstCombine] Fix crashing from (icmp (bitcast ([su]itofp X)), Y)
This fixes a class of bugs introduced by D44367,
which transforms various cases of icmp (bitcast ([su]itofp X)), Y to icmp X, Y.
If the bitcast is between vector types with a different number of elements,
the current code will produce bad IR along the lines of: icmp <N x i32> ..., <M x i32> <...>.
This patch suppresses the transform if the bitcast changes the number of vector elements.
Patch by: @AndrewScheidecker (Andrew Scheidecker)
Differential Revision: https://reviews.llvm.org/D57871
llvm-svn: 353467
Diffstat (limited to 'llvm/utils')
0 files changed, 0 insertions, 0 deletions