================
@@ -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)) {
----------------
topperc wrote:

As @samitolvanen wrote earlier the SSPUSH and SSPOPCHK instruction fall back to 
NOPs based on configuration.

> If the kernel doesn't support Zicfiss, it presumably also hasn't enabled the 
> extension for U-mode. Therefore, my understanding is that the application 
> loader can simply skip shadow stack setup for the program, including the 
> prctl (which would fail with -EINVAL), and since the Zicfiss (Zimop) 
> instructions are no-ops when the extension is disabled, the program would run 
> normally, just without shadow stacks. Does this sound correct?

https://github.com/llvm/llvm-project/pull/68075
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to