aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2023-01-24 16:01:37 -0500
committerSanjay Patel <spatel@rotateright.com>2023-01-24 16:44:15 -0500
commite44a305690add9f759d2fba85827bca260c94b41 (patch)
tree037ea66aef49fb113c54708fde43abda181cb5b7 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parent7ea998e3be78bcae1a988d311af71236b41d0bf9 (diff)
downloadllvm-e44a305690add9f759d2fba85827bca260c94b41.zip
llvm-e44a305690add9f759d2fba85827bca260c94b41.tar.gz
llvm-e44a305690add9f759d2fba85827bca260c94b41.tar.bz2
[InstCombine] invert canonicalization of sext (x > -1) --> not (ashr x)
https://alive2.llvm.org/ce/z/2iC4oB This is similar to changes made for zext + lshr: 21d3871b7c90 6c39a3aae1dc The existing fold did not account for extra uses, so we see some instruction count reductions in the test diffs. This is intended to improve analysis (icmp likely has more transforms than any other opcode), make other transforms more symmetric with zext/lshr, and it can be inverted in codegen if profitable. As with the earlier changes, there is potential to uncover infinite combine loops, but I have not found any yet.
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions