]> granicus.if.org Git - llvm/commit
Merging r325148:
authorHans Wennborg <hans@hanshq.net>
Mon, 19 Feb 2018 14:16:41 +0000 (14:16 +0000)
committerHans Wennborg <hans@hanshq.net>
Mon, 19 Feb 2018 14:16:41 +0000 (14:16 +0000)
commit359e6a40497597a9b79191d3d31bd47761eb08a9
tree02dc018919c590b4d6e325c52dafecb12213163d
parentc3ab0c1f90b9c67761e5f12ee79ee08390bb6f6e
Merging r325148:
------------------------------------------------------------------------
r325148 | ctopper | 2018-02-14 19:08:33 +0100 (Wed, 14 Feb 2018) | 7 lines

[InstCombine] Don't fold select(C, Z, binop(select(C, X, Y), W)) -> select(C, Z, binop(Y, W)) if the binop is rem or div.

The select may have been preventing a division by zero or INT_MIN/-1 so removing it might not be safe.

Fixes PR36362.

Differential Revision: https://reviews.llvm.org/D43276
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_60@325501 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineSelect.cpp
test/Transforms/InstCombine/pr36362.ll [new file with mode: 0644]