[llvm] [AMDGPU] LiveRegOptimizer: fix PHI same-BB filter; consider i8/i16 binops on SDWA (PR #155800)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 4 04:34:35 PDT 2025
================
@@ -126,7 +126,39 @@ class LiveRegOptimizer {
return LK.first != TargetLoweringBase::TypeLegal;
}
- bool isOpLegal(Instruction *I) { return isa<StoreInst, IntrinsicInst>(I); }
+ bool isOpLegal(Instruction *I) {
+ if (auto *Intr = dyn_cast<IntrinsicInst>(I))
+ return true; // FIXME: narrow to known native intrinsics
+ // (DOT/MFMA/tbuffer) or use TTI cost.
+
+ // Any store is a profitable sink (prevents flip-flopping)
+ if (isa<StoreInst>(I))
+ return true;
+
+ // Treat small-int vector binops as profitable when SDWA is available
+ if (auto *BO = dyn_cast<BinaryOperator>(I)) {
+ if (auto *VTy = dyn_cast<VectorType>(BO->getType())) {
+ Type *Elt = VTy->getElementType();
+ // Treat small-int vector binops as profitable when SDWA is available.
----------------
michaelselehov wrote:
Thank you! Fixed.
https://github.com/llvm/llvm-project/pull/155800
More information about the llvm-commits
mailing list