[llvm] [RISCV] Loosen the requirement of shadow stack codegen to Zimop (PR #152251)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 25 12:49:45 PDT 2025
================
@@ -124,7 +130,12 @@ static void emitSCSPrologue(MachineFunction &MF, MachineBasicBlock &MBB,
const RISCVInstrInfo *TII = STI.getInstrInfo();
if (HasHWShadowStack) {
- BuildMI(MBB, MI, DL, TII->get(RISCV::SSPUSH)).addReg(RAReg);
+ if (STI.hasStdExtZcmop()) {
+ static_assert(RAReg == RISCV::X1);
+ BuildMI(MBB, MI, DL, TII->get(RISCV::PseudoMOP_C_SSPUSH));
+ }
+ else
+ BuildMI(MBB, MI, DL, TII->get(RISCV::PseudoMOP_SSPUSH)).addReg(RAReg);
----------------
topperc wrote:
```suggestion
} else {
BuildMI(MBB, MI, DL, TII->get(RISCV::PseudoMOP_SSPUSH)).addReg(RAReg);
}
```
https://github.com/llvm/llvm-project/pull/152251
More information about the llvm-commits
mailing list