[clang] [llvm] [RISCV] Support frame pointers in SiFive CLIC preemptible handlers (PR #221318)

Sam Elliott via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 19 00:29:40 PDT 2026


================
@@ -1651,7 +1682,10 @@ RISCVFrameLowering::getFrameIndexReference(const MachineFunction &MF, int FI,
     MaxCSFI = std::max(CSI.front().getFrameIdx(), CSI.back().getFrameIdx());
   }
 
-  if (FI >= MinCSFI && FI <= MaxCSFI) {
+  bool IsInterruptCSR = RVFI->isSiFivePreemptibleInterrupt(MF) &&
----------------
lenary wrote:

This sounds... bad. I guess no one was hitting that in their interrupt handlers, and instead pushing complexity like large or over-aligned stack frames at least a function call away.

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


More information about the cfe-commits mailing list