llvm-6502/lib/CodeGen/SelectionDAG
Jakob Stoklund Olesen e4f273908b Freeze the reserved registers as soon as isel is complete.
Also provide an MRI::getReservedRegs() function to access the frozen
register set, and isReserved() and isAllocatable() methods to test
individual registers.

The various implementations of TRI::getReservedRegs() are quite
complicated, and many passes need to look at the reserved register set.
This patch makes it possible for these passes to use the cached copy in
MRI, avoiding a lot of malloc traffic and repeated calculations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165982 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-15 21:33:06 +00:00
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
DAGCombiner.cpp Refactor the AddrMode class out of TLI to its own header file. 2012-10-08 23:06:34 +00:00
FastISel.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
FunctionLoweringInfo.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
InstrEmitter.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
InstrEmitter.h Allow trailing physreg RegisterSDNode operands on non-variadic instructions. 2012-07-04 23:53:23 +00:00
LegalizeDAG.cpp Legalizer optimize a pair of div / mod to a call to divrem libcall if they are 2012-10-12 01:15:47 +00:00
LegalizeFloatTypes.cpp Follow the same routine to add target float expansion hook 2012-10-11 07:22:01 +00:00
LegalizeIntegerTypes.cpp Fix PR13991: legalizing an overflowing multiplication operation is harder than 2012-10-02 15:03:49 +00:00
LegalizeTypes.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
LegalizeTypes.h Add alternative support for FP_ROUND from v2f32 to v2f64 2012-10-10 16:32:15 +00:00
LegalizeTypesGeneric.cpp Fix big-endian codegen bug in DAGTypeLegalizer::ExpandRes_BITCAST 2012-10-12 15:42:58 +00:00
LegalizeVectorOps.cpp Fix a typo. 2012-09-02 12:21:50 +00:00
LegalizeVectorTypes.cpp Add alternative support for FP_ROUND from v2f32 to v2f64 2012-10-10 16:32:15 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile
ResourcePriorityQueue.cpp I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
ScheduleDAGFast.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
ScheduleDAGRRList.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
ScheduleDAGSDNodes.cpp Release build: guard dump functions with 2012-09-11 22:23:19 +00:00
ScheduleDAGSDNodes.h misched: remove forceUnitLatencies. Defaults are handled by the default SchedModel 2012-10-08 18:53:57 +00:00
ScheduleDAGVLIW.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
SDNodeDbgValue.h Do not lose debug info of an inlined function argument even if the argument is only used through GEPs. 2011-02-18 22:43:42 +00:00
SDNodeOrdering.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-18 02:01:41 +00:00
SelectionDAG.cpp Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis. 2012-10-15 16:24:29 +00:00
SelectionDAGBuilder.cpp Issue description: 2012-10-10 11:37:36 +00:00
SelectionDAGBuilder.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
SelectionDAGDumper.cpp Fix PR11985 2012-09-12 21:43:09 +00:00
SelectionDAGISel.cpp Freeze the reserved registers as soon as isel is complete. 2012-10-15 21:33:06 +00:00
SelectionDAGPrinter.cpp Constify SDNodeIterator an stop its only non-const user being cast stripped 2012-09-05 22:03:34 +00:00
TargetLowering.cpp Add in the first step of the multiple pointer support. This adds in support to the data layout for specifying a per address space pointer size. 2012-10-09 16:06:12 +00:00
TargetSelectionDAGInfo.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00