summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-10-14 20:28:40 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-10-14 20:28:40 +0000
commitdad2103801e58b559bf14164d1aebdf7f444da5b (patch)
treea009b90f69dd507d4bba464c231f5f53dc6f01e0 /clang
parentc694e693b098ca624a65815f2481be3223385107 (diff)
downloadbcm5719-llvm-dad2103801e58b559bf14164d1aebdf7f444da5b.tar.gz
bcm5719-llvm-dad2103801e58b559bf14164d1aebdf7f444da5b.zip
InstCombine: Don't miscompile X % ((Pow2 << A) >>u B)
We assumed that A must be greater than B because the right hand side of a remainder operator must be nonzero. However, it is possible for A to be less than B if Pow2 is a power of two greater than 1. Take for example: i32 %A = 0 i32 %B = 31 i32 Pow2 = 2147483648 ((Pow2 << 0) >>u 31) is non-zero but A is less than B. This fixes PR21274. llvm-svn: 219713
Diffstat (limited to 'clang')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud