Explicitly report runtime stack realignment in StackMap section
authorPhilip Reames <listmail@philipreames.com>
Fri, 1 Aug 2014 18:26:27 +0000 (18:26 +0000)
committerPhilip Reames <listmail@philipreames.com>
Fri, 1 Aug 2014 18:26:27 +0000 (18:26 +0000)
commit87c2b605f5862edeeaa3f5b2f1674e3071e8e99c
tree0c155b2e611952f1fc54e9e9512199b3fd49a1dd
parentce47a05c7c5251fa8d0e4e6d9610b774d53a5e7c
Explicitly report runtime stack realignment in StackMap section

This change adds code to explicitly mark a function which requires runtime stack realignment as not having a fixed frame size in the StackMap section. As it happens, this is not actually a functional change. The size that would be reported without the check is also "-1", but as far as I can tell, that's an accident. The code change makes this explicit.

Note: There's a separate bug in handling of stackmaps and patchpoints in functions which need dynamic frame realignment. The current code assumes that offsets can be calculated from RBP, but realigned frames must use RSP. (There's a variable gap between RBP and the spill slots.) This change set does not address that issue.

Reviewers: atrick, ributzka

Differential Revision: http://reviews.llvm.org/D4572

llvm-svn: 214534
llvm/lib/CodeGen/StackMaps.cpp
llvm/test/CodeGen/X86/stackmap.ll