diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2019-09-05 17:40:37 +0000 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2019-09-05 17:40:37 +0000 |
commit | 1d9e0dcc9d4e34288ba752371dd925a5b54218d4 (patch) | |
tree | 64bda184b7d0323d9b2f0d254a9bc53477c6b5ce /llvm/lib/Support/ThreadLocal.cpp | |
parent | 745046c23f76d3f44f81f5fb5b504a62df380464 (diff) | |
download | bcm5719-llvm-1d9e0dcc9d4e34288ba752371dd925a5b54218d4.tar.gz bcm5719-llvm-1d9e0dcc9d4e34288ba752371dd925a5b54218d4.zip |
[InstCombine][NFC] Tests for 'unsigned sub overflow' check
----------------------------------------
Name: unsigned sub, overflow, v0
%sub = sub i8 %x, %y
%ov = icmp ugt i8 %sub, %x
=>
%agg = usub_overflow i8 %x, %y
%sub = extractvalue {i8, i1} %agg, 0
%ov = extractvalue {i8, i1} %agg, 1
Done: 1
Optimization is correct!
----------------------------------------
Name: unsigned sub, no overflow, v0
%sub = sub i8 %x, %y
%ov = icmp ule i8 %sub, %x
=>
%agg = usub_overflow i8 %x, %y
%sub = extractvalue {i8, i1} %agg, 0
%not.ov = extractvalue {i8, i1} %agg, 1
%ov = xor %not.ov, -1
Done: 1
Optimization is correct!
llvm-svn: 371099
Diffstat (limited to 'llvm/lib/Support/ThreadLocal.cpp')
0 files changed, 0 insertions, 0 deletions