diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-12-12 17:19:15 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-12-12 17:19:15 +0000 |
commit | ca4c9a524615ca2db5a549bbbbf4cd3a97646e14 (patch) | |
tree | decd0e4a63d00e594c9de73f8a6e559a67c00e0f /llvm/lib/CodeGen/MachineOperand.cpp | |
parent | d19dbe6791f3f21821ef54cb6c51657105954068 (diff) | |
download | llvm-ca4c9a524615ca2db5a549bbbbf4cd3a97646e14.zip llvm-ca4c9a524615ca2db5a549bbbbf4cd3a97646e14.tar.gz llvm-ca4c9a524615ca2db5a549bbbbf4cd3a97646e14.tar.bz2 |
[InstCombine] Fix PR35618: Instcombine hangs on single minmax load bitcast.
Summary:
If we have pattern `store (load(bitcast(select (cmp(V1, V2), &V1,
&V2)))), bitcast)`, but the load is used in other instructions, it leads
to looping in InstCombiner. Patch adds additional check that all users
of the load instructions are stores and then replaces all uses of load
instruction by the new one with new type.
Reviewers: RKSimon, spatel, majnemer
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D41072
llvm-svn: 320499
Diffstat (limited to 'llvm/lib/CodeGen/MachineOperand.cpp')
0 files changed, 0 insertions, 0 deletions