diff --git a/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp b/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp --- a/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp +++ b/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp @@ -507,9 +507,7 @@ // track the current stack after allocating variable sized objects. if (hasBP(MF)) { // move BP, SP - BuildMI(MBB, MBBI, DL, TII->get(RISCV::ADDI), BPReg) - .addReg(SPReg) - .addImm(0); + TII->copyPhysReg(MBB, MBBI, DL, BPReg, SPReg, false); } } }