[PATCH] [x32] Use ebp/esp as frame and stack pointer

Derek Schuff dschuff at google.com
Wed Aug 6 09:13:27 PDT 2014


Hi Pavel,
Sorry about the delay, we had a bit of a disruption.
I'll get you something more detailed soon but the short version is that I found that X86Subtarget::isTarget64BitLP64() returns true for NaCl when it should return false. So I was thinking about fixing that in a separate change, which would mean this change would be slightly different. does that seem reasonable?

================
Comment at: lib/Target/X86/X86FrameLowering.cpp:453
@@ -453,1 +452,3 @@
+  // standard x86_64 and NaCl use 64-bit frame/stack pointers, x32 - 32-bit.
+  const bool Uses64BitFramePtr = STI.isTarget64BitLP64();
   bool IsWin64 = STI.isTargetWin64();
----------------
It looks like X86Subtarget::IsTarget64BitLP64 returns true for NaCl when it should return false. Would you mind fixing that, and then Uses64BitFramePtr would be STI.isTarget64BitLP64() || STI.isTargetNaCl64()

http://reviews.llvm.org/D4617






More information about the llvm-commits mailing list