commit | dfe81adbcebb61d762d5c72771741dee7dcc1c4c | [log] [tgz] |
---|---|---|
author | David Majnemer <david.majnemer@gmail.com> | Mon Oct 13 21:48:30 2014 +0000 |
committer | David Majnemer <david.majnemer@gmail.com> | Mon Oct 13 21:48:30 2014 +0000 |
tree | 107d20eebb184684b21efb4ed00fa8802b526600 | |
parent | 2061a56b8a1d9773a2cbd91ceb87a1ec40be6c51 [diff] |
InstCombine: Don't miscompile (x lshr C1) udiv C2 We have a transform that changes: (x lshr C1) udiv C2 into: x udiv (C2 << C1) However, it is unsafe to do so if C2 << C1 discards any of C2's bits. This fixes PR21255. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219634 91177308-0d34-0410-b5e6-96231b3b80d8