[PATCH] D109203: [X86] Don't clobber EBX in stackprobes

Pengfei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 2 20:45:50 PDT 2021


pengfei added inline comments.


================
Comment at: llvm/lib/Target/X86/X86FrameLowering.cpp:655
 
-  Register FinalStackProbed = Uses64BitFramePtr ? X86::R11 : X86::R11D;
+  Register FinalStackProbed = Uses64BitFramePtr ? X86::R11 : X86::EAX;
   BuildMI(MBB, MBBI, DL, TII.get(TargetOpcode::COPY), FinalStackProbed)
----------------
How about x32, a model that using 32 bit pointer on 64bit target? Can we use
```
  Register FinalStackProbed = Uses64BitFramePtr ? X86::R11 : Is64Bit ? X86::R11D : X86::EAX;
```


================
Comment at: llvm/lib/Target/X86/X86FrameLowering.cpp:1076
       const unsigned MovMIOpc = Is64Bit ? X86::MOV64mi32 : X86::MOV32mi;
-      Register FinalStackProbed = Uses64BitFramePtr ? X86::R11 : X86::R11D;
+      Register FinalStackProbed = Uses64BitFramePtr ? X86::R11 : X86::EAX;
 
----------------
ditto.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D109203



More information about the llvm-commits mailing list