[llvm] [NVPTX] Do not mark move of global address as cheap enabling more CSE (PR #153730)
Alex MacLean via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 15 09:38:25 PDT 2025
================
@@ -1510,18 +1510,22 @@ let hasSideEffects = false in {
"mov.b64 \t$d, __local_depot$num;">;
}
-
-// copyPhysreg is hard-coded in NVPTXInstrInfo.cpp
-let hasSideEffects = false, isAsCheapAsAMove = true in {
- let isMoveReg = true in
+let hasSideEffects = false in {
+ let isMoveReg = true, isAsCheapAsAMove = true in
class MOVr<RegisterClass RC, string OpStr> :
BasicNVPTXInst<(outs RC:$dst), (ins RC:$src), "mov." # OpStr>;
- let isMoveImm = true in
+ let isMoveImm = true, isAsCheapAsAMove = true in
class MOVi<RegTyInfo t, string suffix> :
BasicNVPTXInst<(outs t.RC:$dst), (ins t.Imm:$src),
"mov." # suffix,
[(set t.Ty:$dst, t.ImmNode:$src)]>;
+
+ // We don't want to set isAsCheapAsAMove to true for these instructions as
+ // this would prevent CSE and resulted in regressions.
----------------
AlexMaclean wrote:
Added!
https://github.com/llvm/llvm-project/pull/153730
More information about the llvm-commits
mailing list