[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