aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/VirtualFileSystemTest.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2022-03-30 11:37:34 -0700
committerCraig Topper <craig.topper@sifive.com>2022-03-30 11:46:42 -0700
commit4477500533281c90c6ce70eb87271f61fd6a415f (patch)
treedbef29e49796cfeab8b685fc1a885da1d3331920 /llvm/unittests/Support/VirtualFileSystemTest.cpp
parent5fd0925bc98e9e42a08634063be3e81cd546f46d (diff)
downloadllvm-4477500533281c90c6ce70eb87271f61fd6a415f.zip
llvm-4477500533281c90c6ce70eb87271f61fd6a415f.tar.gz
llvm-4477500533281c90c6ce70eb87271f61fd6a415f.tar.bz2
[RISCV] ISel (and (shift X, C1), C2)) to shift pair in more cases
Previously, these isel optimizations were disabled if the AND could be selected as a ANDI instruction. This patch disables the optimizations only if the immediate is valid for C.ANDI. If we can't use C.ANDI, we might be able to compress the shift instructions instead. I'm not checking the C extension since we have relatively poor test coverage of the C extension. Without C extension the code size should be equal. My only concern would be if the shift+andi had better latency/throughput on a particular CPU. I did have to add a peephole to match SRLIW if the input is zexti32 to prevent a regression in rv64zbp.ll. Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D122701
Diffstat (limited to 'llvm/unittests/Support/VirtualFileSystemTest.cpp')
0 files changed, 0 insertions, 0 deletions