diff options
author | Craig Topper <craig.topper@sifive.com> | 2022-11-14 19:37:04 -0800 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2022-11-14 19:44:05 -0800 |
commit | dde8423f21fb09c77b83d1ec50d5fff6bb940586 (patch) | |
tree | 0cd5d700e2660a2ebcf70443ad9d8f0505c0625f /clang/lib/Lex/ModuleMap.cpp | |
parent | 17737437ed7bb4ca646020b17df822865247d193 (diff) | |
download | llvm-dde8423f21fb09c77b83d1ec50d5fff6bb940586.zip llvm-dde8423f21fb09c77b83d1ec50d5fff6bb940586.tar.gz llvm-dde8423f21fb09c77b83d1ec50d5fff6bb940586.tar.bz2 |
[RISCV] Expand i32 abs to negw+max at isel.
This adds a RISCVISD::ABSW to remember that we started with an i32
abs. Previously we used a DAG combine of (sext_inreg (abs)) to
delay emitting a freeze from type legalization in order to make
ComputeNumSignBits optimizations work on other promoted nodes.
This new approach always uses negw+max even if the result doesn't
need to be sign extended. This helps the RISCVSExtWRemoval pass
if the sext.w is in another basic block.
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions