[PATCH] ARM: support stack probe emission for Windows on ARM

Renato Golin renato.golin at linaro.org
Wed Apr 2 10:46:13 PDT 2014



================
Comment at: lib/Target/ARM/ARMFrameLowering.cpp:321
@@ +320,3 @@
+          .addReg(ARM::R12, RegState::Kill)
+          .addReg(ARM::R4, RegState::Implicit);
+        break;
----------------
Saleem Abdulrasool wrote:
> Renato Golin wrote:
> > I don't know much about the Windows ABI, but are those registers fixed by it? Or are them just the "next available GPRs on either side"?
> The R4 is definitely fixed.  I use R12 as it is intra-procedural scratch, and this usage is in the stack setup.
> 
> The interface for __chkstk on WoA is as follows:
> 
> R4 = 32-bit *words* to be allocated
> call __chkstk
> Adjust SP by value in R4 (now containing bytes)
> 
> This is what the ABI/API is and we have no choice in the matter unfortunately.
Ok, I'm happy with this.


http://llvm-reviews.chandlerc.com/D3255



More information about the llvm-commits mailing list