diff options
author | Craig Topper <craig.topper@sifive.com> | 2025-09-29 10:36:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-29 10:36:27 -0700 |
commit | 301259a6b1c8146a185e7c1bea46ec02d028243e (patch) | |
tree | 390250ca1390d50ef56e284b3da15fc5d83bf2ae /llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp | |
parent | 87bd7825902ec378d4f6372c2463e51f5df69fc3 (diff) | |
download | llvm-301259a6b1c8146a185e7c1bea46ec02d028243e.zip llvm-301259a6b1c8146a185e7c1bea46ec02d028243e.tar.gz llvm-301259a6b1c8146a185e7c1bea46ec02d028243e.tar.bz2 |
[RISCV] Teach getIntImmCostInst about (X & -(1 << C1) & 0xffffffff) == C2 << C1 (#160163)
We can rewrite this to (srai(w)/srli X, C1) == C2 so the AND immediate
is free. This transform is done by performSETCCCombine in
RISCVISelLowering.cpp.
This fixes the opaque constant case mentioned in #157416.
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp')
0 files changed, 0 insertions, 0 deletions