diff options
author | Craig Topper <craig.topper@sifive.com> | 2024-04-29 10:15:57 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-29 10:15:57 -0700 |
commit | f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc (patch) | |
tree | d1f50b89192243917fd4afe92bbc7c7f542971c8 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 618adc762e95b33576c42be8912bb48dd0fdff94 (diff) | |
download | llvm-f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc.zip llvm-f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc.tar.gz llvm-f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc.tar.bz2 |
[RISCV] Break the (czero_eqz x, (setne x, 0)) -> x combine into 2 combines. (#90428)
We can think of this as two separate combines
(czero_eqz x, (setne y, 0)) -> (czero_eqz x, y)
and
(czero_eqz x, x) -> x
Similary the (czero_nez x, (seteq x, 0)) -> x combine can be broken into
(czero_nez x, (seteq y, 0)) -> (czero_eqz x, y)
and
(czero_eqz x, x) -> x
isel already does the (czero_eqz x, (setne y, 0)) -> (czero_eqz x, y)
and (czero_nez x, (seteq y, 0)) -> (czero_eqz x, y) combines, but doing
them early could expose other opportunities.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions