XCore target: Make handling of large frames not dependent upon an FP.
authorRobert Lytton <robert@xmos.com>
Mon, 2 Dec 2013 11:05:28 +0000 (11:05 +0000)
committerRobert Lytton <robert@xmos.com>
Mon, 2 Dec 2013 11:05:28 +0000 (11:05 +0000)
commitf19c6f576367a368cf729cd0019d16d691163d72
treec3ae3e7de6723c0205d29aa88c0f5c606cd2b080
parentf715d5176953dde487969561f0140bd55bd5daf6
XCore target: Make handling of large frames not dependent upon an FP.

eliminateFrameIndex() has been reworked to handle both small & large frames
with either a FP or SP.
An additional Slot is required for Scavenging spills when not using FP for large frames.
Reworked the handling of Register Scavenging.

Whether we are using an FP or not, whether it is a large frame or not,
and whether we are using a large code model or not are now independent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196091 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/XCore/XCoreFrameLowering.cpp
lib/Target/XCore/XCoreFrameLowering.h
lib/Target/XCore/XCoreMachineFunctionInfo.cpp
lib/Target/XCore/XCoreMachineFunctionInfo.h
lib/Target/XCore/XCoreRegisterInfo.cpp
lib/Target/XCore/XCoreRegisterInfo.h
test/CodeGen/XCore/epilogue_prologue.ll
test/CodeGen/XCore/epilogue_prologue_fp.ll [deleted file]
test/CodeGen/XCore/scavenging.ll