diff options
author | Sanjay Patel <spatel@rotateright.com> | 2022-12-06 11:17:52 -0500 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2022-12-06 11:34:48 -0500 |
commit | adc7c589c3dd35af5991ee481fa4667094bca548 (patch) | |
tree | 3377b8da2b6564fb08c488b20312860eb4b1627d /llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp | |
parent | 772c2f461b942032df8426a49077c37066783a68 (diff) | |
download | llvm-adc7c589c3dd35af5991ee481fa4667094bca548.zip llvm-adc7c589c3dd35af5991ee481fa4667094bca548.tar.gz llvm-adc7c589c3dd35af5991ee481fa4667094bca548.tar.bz2 |
[SDAG] try to convert bit set/clear to signbit test when trunc is free
(X & Pow2MaskC) == 0 --> (trunc X) >= 0
(X & Pow2MaskC) != 0 --> (trunc X) < 0
This was noted as a regression in the post-commit feedback for D112634
(where we canonicalized IR differently).
For x86, this saves a few instruction bytes. AArch64 seems neutral.
Differential Revision: https://reviews.llvm.org/D139363
Diffstat (limited to 'llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp')
0 files changed, 0 insertions, 0 deletions