summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Compilation.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-06-26 16:30:00 +0000
committerSanjay Patel <spatel@rotateright.com>2018-06-26 16:30:00 +0000
commit3575f0c0b3787b97084c0e25c6d8fcb31e99ea62 (patch)
tree0913b91f85da0cab8f30d121bb0b09412e4f7b68 /clang/lib/Driver/Compilation.cpp
parentbbfc18b5b5a599cc3c4b341063d898a3f9ecf2f8 (diff)
downloadbcm5719-llvm-3575f0c0b3787b97084c0e25c6d8fcb31e99ea62.tar.gz
bcm5719-llvm-3575f0c0b3787b97084c0e25c6d8fcb31e99ea62.zip
[InstCombine] fold urem with sext bool divisor
Similar to other patches in this series: https://reviews.llvm.org/rL335512 https://reviews.llvm.org/rL335527 https://reviews.llvm.org/rL335597 https://reviews.llvm.org/rL335616 ...this is filling a gap in analysis that is exposed by an unrelated select-of-constants transform. I didn't see a way to unify the sext cases because each div/rem opcode results in a different fold. Note that in this case, the backend might want to convert the select into math: Name: sext urem %e = sext i1 %x to i32 %r = urem i32 %y, %e => %c = icmp eq i32 %y, -1 %z = zext i1 %c to i32 %r = add i32 %z, %y llvm-svn: 335622
Diffstat (limited to 'clang/lib/Driver/Compilation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud