[clang] [llvm] [SystemZ] Global Stackprotector and associated location section (PR #169317)
Dominik Steenken via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 2 07:20:07 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:
This is really only meant to be a workaround until issue https://github.com/llvm/llvm-project/issues/172511 is fixed. Given that, is doing it properly here still worthwhile? Once the issue is fixed, this whole function will have to be deleted, as will any work i would have done to properly maintain a RegScavenger instance in the PostRA Pseudo Expander.
https://github.com/llvm/llvm-project/pull/169317
More information about the cfe-commits
mailing list