diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-02-26 19:51:35 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-02-26 19:51:35 +0000 |
commit | 54ef895137cb57262680b627f83687e499b6ba67 (patch) | |
tree | 0422558cae4e2e122b415b380f6b73e5e8176c20 /llvm/utils/TableGen/X86DisassemblerTables.cpp | |
parent | fa147e02d8584d10143ecceff62de834239a622c (diff) | |
download | bcm5719-llvm-54ef895137cb57262680b627f83687e499b6ba67.tar.gz bcm5719-llvm-54ef895137cb57262680b627f83687e499b6ba67.zip |
SCEVExpander incorrectly marks generated subtractions as nuw/nsw
It is not sound to mark the increment operation as `nuw` or `nsw`
based on a proof off of the add recurrence if the increment operation
we emit happens to be a `sub` instruction.
I could not come up with a test case for this -- the cases where
SCEVExpander decides to emit a `sub` instruction is quite small, and I
cannot think of a way I'd be able to get SCEV to prove that the
increment does not overflow in those cases.
Differential Revision: http://reviews.llvm.org/D7899
llvm-svn: 230673
Diffstat (limited to 'llvm/utils/TableGen/X86DisassemblerTables.cpp')
0 files changed, 0 insertions, 0 deletions