diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp index f38f635d822..76ea0d72f6d 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp @@ -108,11 +108,11 @@ bool WebAssemblyRegNumbering::runOnMachineFunction(MachineFunction &MF) { } } // Allocate locals for used physical registers - if (FrameInfo.getStackSize() > 0 || FrameInfo.adjustsStack()) { + bool HasFP = MF.getSubtarget().getFrameLowering()->hasFP(MF); + if (FrameInfo.getStackSize() > 0 || FrameInfo.adjustsStack() || HasFP) { DEBUG(dbgs() << "PReg SP " << CurReg << "\n"); MFI.addPReg(WebAssembly::SP32, CurReg++); } - bool HasFP = MF.getSubtarget().getFrameLowering()->hasFP(MF); if (HasFP) { DEBUG(dbgs() << "PReg FP " << CurReg << "\n"); MFI.addPReg(WebAssembly::FP32, CurReg++); |