[llvm] [XRay][X86] Fix stack alignment for custom event calls. (PR #89360)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Mon May 27 17:48:37 PDT 2024
================
@@ -36254,6 +36254,31 @@ X86TargetLowering::EmitSjLjDispatchBlock(MachineInstr &MI,
return BB;
}
+MachineBasicBlock *
+X86TargetLowering::emitPatchableEventCall(MachineInstr &MI,
+ MachineBasicBlock *BB) const {
+ // Wrap patchable event calls in CALLSEQ_START/CALLSEQ_END, as tracing
+ // calls may require proper stack alignment.
+ const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
+ const MIMetadata MIMD(MI);
+ MachineFunction &MF = *BB->getParent();
+
+ // Emit CALLSEQ_START right before the instruction.
+ BB->getParent()->getFrameInfo().setAdjustsStack(true);
----------------
MaskRay wrote:
We can use here `MF.getFrameInfo()` here
https://github.com/llvm/llvm-project/pull/89360
More information about the llvm-commits
mailing list