[clang] [llvm] [SystemZ] Global Stackprotector and associated location section (PR #169317)

Dominik Steenken via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 2 07:04:21 PST 2026


================
@@ -1805,15 +1777,141 @@ bool SystemZInstrInfo::expandPostRAPseudo(MachineInstr &MI) const {
     splitAdjDynAlloc(MI);
     return true;
 
-  case TargetOpcode::LOAD_STACK_GUARD:
-    expandLoadStackGuard(&MI);
+  case SystemZ::MOVE_STACK_GUARD:
+    expandMSGPseudo(MI);
+    return true;
+
+  case SystemZ::COMPARE_STACK_GUARD:
+    expandCSGPseudo(MI);
     return true;
 
   default:
     return false;
   }
 }
 
+namespace {
+Register scavengeAddrReg(MachineInstr &MI, MachineBasicBlock *MBB) {
+  // create fresh RegScavanger instance.
+  RegScavenger RS;
----------------
dominik-steenken wrote:

Hm, ok. That would be the ExpandPostRAPseudos pass. I'll look into moving the `RegScavanger` instance there and threading a reference to it into this function.

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


More information about the llvm-commits mailing list