[PATCH] D91020: [X86] Unbind the ebx with GOT address in regcall calling convention

LuoYuanke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 7 18:00:44 PST 2020


LuoYuanke added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:4123
     if (!isTailCall) {
-      RegsToPass.push_back(std::make_pair(
+      if (CallConv != CallingConv::X86_RegCall)
+        RegsToPass.push_back(std::make_pair(
----------------
Would you add comments to explain why EBX is avoid in regcall?


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:4136
 
       // Note: The actual moving to ECX is done further down.
       GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee);
----------------
Would you add a test case for tail call? Is there any conflict to ECX?


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

https://reviews.llvm.org/D91020



More information about the llvm-commits mailing list