[llvm] [RegAllocFast] Don't align stack slots if the stack can't be realigned (PR #153682)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 14 16:49:39 PDT 2025


================
@@ -474,6 +474,13 @@ int RegAllocFastImpl::getStackSpaceFor(Register VirtReg) {
   const TargetRegisterClass &RC = *MRI->getRegClass(VirtReg);
   unsigned Size = TRI->getSpillSize(RC);
   Align Alignment = TRI->getSpillAlign(RC);
+
+  const MachineFunction &MF = MRI->getMF();
+  auto &ST = MF.getSubtarget();
+  Align CurrentAlign = ST.getFrameLowering()->getStackAlign();
+  if (Alignment > CurrentAlign && !ST.getRegisterInfo()->canRealignStack(MF))
----------------
arsenm wrote:

```suggestion
  if (Alignment > CurrentAlign && !TRI->canRealignStack(MF))
```

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


More information about the llvm-commits mailing list