diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2018-06-07 21:19:50 +0000 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2018-06-07 21:19:50 +0000 |
commit | 188a619e56ac0115cb10bd9a4b7427f3e6ff2c6f (patch) | |
tree | 34a61043f58fc3e36ce29d0dfe033c6b6a94c5aa /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | fdd90f2fc640c65bdedc39636b56d6ce435ec813 (diff) | |
download | bcm5719-llvm-188a619e56ac0115cb10bd9a4b7427f3e6ff2c6f.tar.gz bcm5719-llvm-188a619e56ac0115cb10bd9a4b7427f3e6ff2c6f.zip |
[NFC][InstSimplify] Add tests for add nuw %x, -1 -> -1 fold.
%ret = add nuw i8 %x, C
From langref:
nuw and nsw stand for “No Unsigned Wrap” and “No Signed Wrap”,
respectively. If the nuw and/or nsw keywords are present,
the result value of the add is a poison value if unsigned
and/or signed overflow, respectively, occurs.
So if C is -1, %x can only be 0, and the result is always -1.
https://rise4fun.com/Alive/sldC
Was mentioned in D47428 review.
llvm-svn: 334236
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions