diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp index 46f271c20af..3397f598759 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp @@ -74,8 +74,9 @@ void WebAssemblyRegisterInfo::eliminateFrameIndex( // generate broken code. report_fatal_error("Memory offset field overflow"); } - MI.getOperand(1).setImm(Offset); - MI.getOperand(2).ChangeToRegister(WebAssembly::SP32, /*IsDef=*/false); + MI.getOperand(FIOperandNum - 1).setImm(Offset); + MI.getOperand(FIOperandNum) + .ChangeToRegister(WebAssembly::SP32, /*IsDef=*/false); } else { // Otherwise create an i32.add SP, offset and make it the operand. auto &MRI = MF.getRegInfo(); |