[llvm] Limit Alloca->LDS promotion based on speculations as to eventual register pressure (PR #152814)

Tim Gymnich via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 9 07:55:12 PDT 2025


================
@@ -1471,9 +1485,83 @@ bool AMDGPUPromoteAllocaImpl::hasSufficientLocalMem(const Function &F) {
   return true;
 }
 
+size_t AMDGPUPromoteAllocaImpl::getSGPRPressureEstimate(AllocaInst &I) {
+  Function &F = *I.getParent()->getParent();
+  size_t MaxLive = 0;
+  for (BasicBlock *BB : post_order(&F)) {
+    if (SGPRLiveIns.count(BB))
+      continue;
+
+    std::unordered_set<Instruction *> CurrentlyLive;
+    for (BasicBlock *SuccBB : successors(BB))
+      if (SGPRLiveIns.count(SuccBB))
----------------
tgymnich wrote:

```suggestion
      if (!SGPRLiveIns.contains(SuccBB))
```

https://github.com/llvm/llvm-project/pull/152814


More information about the llvm-commits mailing list