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

Dominik Steenken via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 22 23:58:41 PST 2026


================
@@ -741,13 +743,41 @@ void SystemZAsmPrinter::emitInstruction(const MachineInstr *MI) {
   case SystemZ::EH_SjLj_Setup:
     return;
 
+  case SystemZ::LOAD_STACK_GUARD:
+    llvm_unreachable(
+        "LOAD_STACK_GUARD should have been eliminated by the DAG Combiner.");
+
+  case SystemZ::MOVE_STACK_GUARD:
+  case SystemZ::COMPARE_STACK_GUARD:
+    llvm_unreachable("MOVE_STACK_GUARD and COMPARE_STACK_GUARD should have "
+                     "been expanded by ExpandPostRAPseudo.");
+
+  case SystemZ::LARL:
+  case SystemZ::LGRL: {
+    auto &Op = MI->getOperand(1);
+    if (Op.isGlobal() && (Op.getGlobal()->getName() == "__stack_chk_guard"))
----------------
dominik-steenken wrote:

So - this would mean, e.g., bringing back the `LOAD_STACK_GUARD_ADDRESS` pseudo, and lowering it here, right?

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


More information about the cfe-commits mailing list