X86: Make @llvm.frameaddress work correctly with Windows unwind codes
authorDavid Majnemer <david.majnemer@gmail.com>
Tue, 10 Feb 2015 21:22:05 +0000 (21:22 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Tue, 10 Feb 2015 21:22:05 +0000 (21:22 +0000)
commit420f72a301b229a333e0d2abadd2fd322da95c87
tree225cd80452264e65d2dcc3b85c7c2f79bb86c651
parent8ffa03cd986b3c399bd288b690ef99301b7ebdb5
X86: Make @llvm.frameaddress work correctly with Windows unwind codes

Simply loading or storing the frame pointer is not sufficient for
Windows targets.  Instead, create a synthetic frame object that we will
lower later.  References to this synthetic object will be replaced with
the correct reference to the frame address.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228748 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86FrameLowering.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86MachineFunctionInfo.h
test/CodeGen/X86/frameallocate.ll