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)
commit5a96b41c7098411204a186712ff3aa988a2c8913
tree42296533e2ea9c81cbd141f1dbeb0fc6f024a87b
parent6312816b42efc879f0b567b35d3fa532b2353de5
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214534 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/StackMaps.cpp
test/CodeGen/X86/stackmap.ll