aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/VirtualFileSystem.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2022-03-30 09:29:32 -0400
committerSanjay Patel <spatel@rotateright.com>2022-03-30 09:29:32 -0400
commite18cc5277fd8f29da6ba5273a2f4c8359754ccb6 (patch)
tree83f0802ed0f35c238217c3ef9ce3ade25a4a2ad6 /llvm/lib/Support/VirtualFileSystem.cpp
parent849d577e564225d498a35dac920fb0899c299b12 (diff)
downloadllvm-e18cc5277fd8f29da6ba5273a2f4c8359754ccb6.zip
llvm-e18cc5277fd8f29da6ba5273a2f4c8359754ccb6.tar.gz
llvm-e18cc5277fd8f29da6ba5273a2f4c8359754ccb6.tar.bz2
[SDAG] try to canonicalize logical shift after bswap
When shifting by a byte-multiple: bswap (shl X, C) --> lshr (bswap X), C bswap (lshr X, C) --> shl (bswap X), C This is the backend version of D122010 and an alternative suggested in D120648. There's an extra check to make sure the shift amount is valid that was not in the rough draft. I'm not sure if there is a larger motivating case for RISCV (bug report?), but the ARM diffs show a benefit from having a late version of the transform (because we do not combine the loads in IR). Differential Revision: https://reviews.llvm.org/D122655
Diffstat (limited to 'llvm/lib/Support/VirtualFileSystem.cpp')
0 files changed, 0 insertions, 0 deletions