summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-09-11 22:40:20 +0000
committerSanjay Patel <spatel@rotateright.com>2018-09-11 22:40:20 +0000
commit1cf0734b2f6b346993c41c18f4d6a9f2d1e11189 (patch)
treee282f5e9a4dbcde551704a7e42e3358bad860cbe /clang-tools-extra
parent42e7cc1b0fdf3428ebd0dfd70a6e4efe162e1cd3 (diff)
downloadbcm5719-llvm-1cf0734b2f6b346993c41c18f4d6a9f2d1e11189.tar.gz
bcm5719-llvm-1cf0734b2f6b346993c41c18f4d6a9f2d1e11189.zip
[InstCombine] add folds for unsigned-overflow compares
Name: op_ugt_sum %a = add i8 %x, %y %r = icmp ugt i8 %x, %a => %notx = xor i8 %x, -1 %r = icmp ugt i8 %y, %notx Name: sum_ult_op %a = add i8 %x, %y %r = icmp ult i8 %a, %x => %notx = xor i8 %x, -1 %r = icmp ugt i8 %y, %notx https://rise4fun.com/Alive/ZRxI AFAICT, this doesn't interfere with any add-saturation patterns because those have >1 use for the 'add'. But this should be better for IR analysis and codegen in the basic cases. This is another fold inspired by PR14613: https://bugs.llvm.org/show_bug.cgi?id=14613 llvm-svn: 342004
Diffstat (limited to 'clang-tools-extra')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud