simplifycfg: Fix integer overflow converting switch into icmp.
authorHans Wennborg <hans@hanshq.net>
Tue, 16 Apr 2013 08:35:36 +0000 (08:35 +0000)
committerHans Wennborg <hans@hanshq.net>
Tue, 16 Apr 2013 08:35:36 +0000 (08:35 +0000)
commita121e24c541097b51309a06297005ac257b6728f
treec66c93df0e4b1c98ebbfdc64c151eee5bdc45efa
parentad36608499429cc9dc67b95fed8732a294e6f02e
simplifycfg: Fix integer overflow converting switch into icmp.

If a switch instruction has a case for every possible value of its type,
with the same successor, SimplifyCFG would replace it with an icmp ult,
but the computation of the bound overflows in that case, which inverts
the test.

Patch by Jed Davis!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179587 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/SimplifyCFG.cpp
test/Transforms/SimplifyCFG/switch-to-icmp.ll