[clang] [llvm] [SystemZ] Global Stackprotector and associated location section (PR #169317)
Ulrich Weigand via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 23 02:27:56 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"))
----------------
uweigand wrote:
Yes. But only for the "global" case, this decision should still be make in the post-RA pass. Not sure if it is better to make the PIC vs. non-PIC decision here or in post-RA ...
https://github.com/llvm/llvm-project/pull/169317
More information about the cfe-commits
mailing list