[PATCH] D6388: Restore X86 base pointer after call to llvm.eh.sjlj.setjmp

LuoYuanke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 23 01:23:54 PST 2023


LuoYuanke added inline comments.
Herald added subscribers: pengfei, dschuff.
Herald added a project: All.


================
Comment at: lib/Target/X86/X86MachineFunctionInfo.cpp:24
+    for (const MCPhysReg *CSR = 
+      RegInfo->X86RegisterInfo::getCalleeSavedRegs(MF);
+      unsigned Reg = *CSR;
----------------
The real callee saved register should be determined after register allocation. We don't need to save untouched callee registers.


================
Comment at: test/CodeGen/X86/sjlj-baseptr.ll:26
+; X86: movl    %esp, %esi
+; X86: movl    %esp, -16(%ebp)
+; X86: {{.LBB.*:}}
----------------
The stack slot should be allocated before the stack realignment, so that it can be referenced by ebp.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D6388/new/

https://reviews.llvm.org/D6388



More information about the llvm-commits mailing list