llvm-6502/lib/Target/AArch64
Hal Finkel dc3beb9017 Allow the register scavenger to spill multiple registers
This patch lets the register scavenger make use of multiple spill slots in
order to guarantee that it will be able to provide multiple registers
simultaneously.

To support this, the RS's API has changed slightly: setScavengingFrameIndex /
getScavengingFrameIndex have been replaced by addScavengingFrameIndex /
isScavengingFrameIndex / getScavengingFrameIndices.

In forthcoming commits, the PowerPC backend will use this capability in order
to implement the spilling of condition registers, and some special-purpose
registers, without relying on r0 being reserved. In some cases, spilling these
registers requires two GPRs: one for addressing and one to hold the value being
transferred.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177774 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-22 23:32:27 +00:00
..
AsmParser Silence anonymous type in anonymous union warnings. 2013-03-15 00:42:55 +00:00
Disassembler AArch64: remove post-encoder method from FCMP (immediate) instructions. 2013-02-28 14:46:14 +00:00
InstPrinter
MCTargetDesc AArch64: remove post-encoder method from FCMP (immediate) instructions. 2013-02-28 14:46:14 +00:00
TargetInfo AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
Utils
AArch64.h AArch64: add branch fixup pass. 2013-02-15 14:32:20 +00:00
AArch64.td AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
AArch64AsmPrinter.cpp AArch64: remove ConstantIsland pass & put literals in separate section. 2013-02-15 09:33:43 +00:00
AArch64AsmPrinter.h AArch64: remove ConstantIsland pass & put literals in separate section. 2013-02-15 09:33:43 +00:00
AArch64BranchFixupPass.cpp AArch64: add branch fixup pass. 2013-02-15 14:32:20 +00:00
AArch64CallingConv.td
AArch64FrameLowering.cpp Allow the register scavenger to spill multiple registers 2013-03-22 23:32:27 +00:00
AArch64FrameLowering.h Move the eliminateCallFramePseudoInstr method from TargetRegisterInfo 2013-02-21 20:05:00 +00:00
AArch64InstrFormats.td Typo 2013-02-24 12:34:13 +00:00
AArch64InstrInfo.cpp AArch64: add branch fixup pass. 2013-02-15 14:32:20 +00:00
AArch64InstrInfo.h AArch64: add branch fixup pass. 2013-02-15 14:32:20 +00:00
AArch64InstrInfo.td AArch64: remove post-encoder method from FCMP (immediate) instructions. 2013-02-28 14:46:14 +00:00
AArch64ISelDAGToDAG.cpp AArch64: remove ConstantIsland pass & put literals in separate section. 2013-02-15 09:33:43 +00:00
AArch64ISelLowering.cpp AArch64: expand sincos operations, we don't support them. 2013-03-08 13:55:07 +00:00
AArch64ISelLowering.h
AArch64MachineFunctionInfo.cpp AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
AArch64MachineFunctionInfo.h AArch64: remove ConstantIsland pass & put literals in separate section. 2013-02-15 09:33:43 +00:00
AArch64MCInstLower.cpp
AArch64RegisterInfo.cpp Move the eliminateCallFramePseudoInstr method from TargetRegisterInfo 2013-02-21 20:05:00 +00:00
AArch64RegisterInfo.h Move the eliminateCallFramePseudoInstr method from TargetRegisterInfo 2013-02-21 20:05:00 +00:00
AArch64RegisterInfo.td AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
AArch64Schedule.td
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h
AArch64Subtarget.cpp
AArch64Subtarget.h
AArch64TargetMachine.cpp AArch64: add branch fixup pass. 2013-02-15 14:32:20 +00:00
AArch64TargetMachine.h
AArch64TargetObjectFile.cpp AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
AArch64TargetObjectFile.h AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
CMakeLists.txt AArch64: add branch fixup pass. 2013-02-15 14:32:20 +00:00
LLVMBuild.txt
Makefile
README.txt

This file will contain changes that need to be made before AArch64 can become an
officially supported target. Currently a placeholder.