diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2020-09-21 18:05:47 +0300 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2020-09-21 20:25:54 +0300 |
commit | fedc9549d50d80f74169ecce4d0d0648a62249f0 (patch) | |
tree | 7c09c86fc99d9e7aa7ce79f5b0327542d0e08028 /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | |
parent | 0592de550f5c9ca9de44ed2c5c549f6a3b1c32b7 (diff) | |
download | llvm-fedc9549d50d80f74169ecce4d0d0648a62249f0.zip llvm-fedc9549d50d80f74169ecce4d0d0648a62249f0.tar.gz llvm-fedc9549d50d80f74169ecce4d0d0648a62249f0.tar.bz2 |
[SCEV] Recognize @llvm.usub.sat as `%x - (umin %x, %y)`
----------------------------------------
define i32 @src(i32 %x, i32 %y) {
%0:
%r = usub_sat i32 %x, %y
ret i32 %r
}
=>
define i32 @tgt(i32 %x, i32 %y) {
%0:
%t0 = umin i32 %x, %y
%r = sub nuw i32 %x, %t0
ret i32 %r
}
Transformation seems to be correct!
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
0 files changed, 0 insertions, 0 deletions