Fix PR24354.
authorSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 11 Aug 2015 21:33:55 +0000 (21:33 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 11 Aug 2015 21:33:55 +0000 (21:33 +0000)
commit162f046004b302fd1aa2d3c27df43ee163c4c6b6
tree23151cd75993e32897c8eca8199b05747c64c192
parent3b61d133a667472b6023d7a347e36be37720a9ca
Fix PR24354.

`InstCombiner::OptimizeOverflowCheck` was asserting an
invariant (operands to binary operations are ordered by decreasing
complexity) that wasn't really an invariant.  Fix this by instead having
`InstCombiner::OptimizeOverflowCheck` establish the invariant if it does
not hold.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244676 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineCompares.cpp
test/Transforms/InstCombine/pr24354.ll [new file with mode: 0644]