[llvm] [RISCV] Implement shadow stack on shadow stack mode with Zicfiss. (PR #68075)

Kito Cheng via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 13 13:07:47 PDT 2023


================
@@ -106,9 +111,14 @@ static void emitSCSEpilogue(MachineFunction &MF, MachineBasicBlock &MBB,
           CSI, [&](CalleeSavedInfo &CSR) { return CSR.getReg() == RAReg; }))
     return;
 
+  const RISCVInstrInfo *TII = STI.getInstrInfo();
+  if (STI.hasFeature(RISCV::FeatureStdExtZicfiss)) {
----------------
kito-cheng wrote:

> Do we need an enable other than just the feature being in -march? The shadow stack pointer has to be set up when the application starts. Is this done by the kernel?
>
> My concern is that if your -mcpu supports Zicfiss, but the kernel doesn't, this will generate code that doesn't work.

oh, that's good point...let me check how other target do

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


More information about the llvm-commits mailing list