llvm-6502/include/llvm
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
..
ADT Use pre-inc, pre-dec when possible. 2013-03-20 23:56:19 +00:00
Analysis Add std prefixes to fix the build with xlc. 2013-03-20 21:00:22 +00:00
Assembly Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
Bitcode use memcpy instead of dubious union to type pun two values, 2013-02-13 04:53:40 +00:00
CodeGen Allow the register scavenger to spill multiple registers 2013-03-22 23:32:27 +00:00
Config Fix MSan annotations inclusion guard. 2013-02-13 10:40:01 +00:00
DebugInfo Add support for the pubnames section to llvm-dwarfdump. 2013-02-12 16:20:28 +00:00
ExecutionEngine Silence anonymous type in anonymous union warnings. 2013-03-15 00:42:55 +00:00
IR Revert r177675. This is language-specific and shouldn't be in the API. 2013-03-22 18:46:32 +00:00
MC Dead code. 2013-03-19 22:12:47 +00:00
Object [llvm-readobj] Add ELF .dynamic table dumping. 2013-02-20 02:37:12 +00:00
Option Use LLVM_DELETED_FUNCTION rather than '// do not implement' comments. 2013-02-18 23:11:17 +00:00
Support Introduce LLVM_STATIC_ASSERT macro, which expands to C/C++'s static_assert on compilers which support it. 2013-03-22 03:10:51 +00:00
TableGen Make sure TableGen exits with an error code after printing errors. 2013-03-20 20:43:11 +00:00
Target Add SchedRW as an Instruction field. 2013-03-15 22:51:13 +00:00
Transforms [ASan] emit instrumentation for initialization order checking by default 2013-03-14 12:38:58 +00:00
AutoUpgrade.h
CMakeLists.txt
DebugInfo.h Swap the DIFile in DILexicalBlockFile out for the raw name/directory pair 2013-03-22 20:18:46 +00:00
DIBuilder.h DIBuilder: allow linkage name to be specified for global variables 2013-03-20 17:49:48 +00:00
GVMaterializer.h
InitializePasses.h Remove -print-dbginfo as it is unused & bitrotten. 2013-03-08 18:17:46 +00:00
InstVisitor.h
LinkAllIR.h Rename LinkAllVMCore.h to LinkAllIR.h since VMCore directory was renamed to IR. 2013-01-10 21:55:02 +00:00
LinkAllPasses.h Remove -print-dbginfo as it is unused & bitrotten. 2013-03-08 18:17:46 +00:00
Linker.h The Linker interface has some dead code after the cleanup in r172749 2013-03-19 15:26:24 +00:00
Pass.h
PassAnalysisSupport.h
PassManager.h
PassManagers.h Use a DenseMap instead of a std::map for AnalysisID -> Pass* maps. This reduces the pass-manager overhead from FPPassManager::runOnFunction() by about 10%. 2013-02-26 01:31:59 +00:00
PassRegistry.h
PassSupport.h