llvm-6502/include/llvm/CodeGen
Mark Lacey e742d68736 Auto-compute live intervals on demand.
When new virtual registers are created during splitting/spilling, defer
creation of the live interval until we need to use the live interval.

Along with the recent commits to notify LiveRangeEdit when new virtual
registers are created, this makes it possible for functions like
TargetInstrInfo::loadRegFromStackSlot() and
TargetInstrInfo::storeRegToStackSlot() to create multiple virtual
registers as part of the process of generating loads/stores for
different register classes, and then have the live intervals for those
new registers computed when they are needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188437 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 23:50:16 +00:00
..
PBQP Fix PBQP graph iterator typedefs. 2013-05-16 02:20:41 +00:00
Analysis.h Remove unused parameter. Also use the AttributeSet query methods instead of the Attribute query methods. 2013-01-18 21:50:24 +00:00
AsmPrinter.h For COFF only: dwarf debug info output a label reference as a section relative item only when it's one of dw_from strp, sec_offset, ref_addr or op_call_ref instead of going by size. 2013-08-13 17:45:53 +00:00
CalcSpillWeights.h Switch spill weights from a basic loop depth estimation to BlockFrequencyInfo. 2013-06-17 19:00:36 +00:00
CallingConvLower.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-14 04:42:23 +00:00
CommandFlags.h Use function attributes to indicate that we don't want to realign the stack. 2013-08-01 21:42:05 +00:00
DAGCombine.h Refactor DAGCombinerInfo. Change the different booleans that indicate if we are before or after different runs of DAGCo, with the CombineLevel enum. 2012-12-27 06:47:41 +00:00
DFAPacketizer.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
EdgeBundles.h Give a small negative bias to giant edge bundles. 2012-05-21 03:11:23 +00:00
FastISel.h Changed "mode: c++" => "C++" at the suggestion of Nick Lewycky. 2013-07-10 18:40:49 +00:00
FunctionLoweringInfo.h Simplify landing pad lowering. 2013-07-04 04:53:45 +00:00
GCMetadata.h GCInfoDeleter code cleanup after r175528 2013-03-01 11:40:32 +00:00
GCMetadataPrinter.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
GCs.h Add a GC plugin for Erlang 2013-03-25 13:47:46 +00:00
GCStrategy.h Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00
IntrinsicLowering.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ISDOpcodes.h Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
JITCodeEmitter.h Simplify code. 2013-02-09 13:29:31 +00:00
LatencyPriorityQueue.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LexicalScopes.h Return SmallVectorImpl& instead of SmallVector& in a couple places to avoid having to specify the vector size in multiple places. 2013-07-03 04:30:58 +00:00
LinkAllAsmWriterComponents.h Add a GC plugin for Erlang 2013-03-25 13:47:46 +00:00
LinkAllCodegenComponents.h Add a GC plugin for Erlang 2013-03-25 13:47:46 +00:00
LiveInterval.h Remove unnecessary parameter to RenumberValues. 2013-08-14 17:28:52 +00:00
LiveIntervalAnalysis.h Auto-compute live intervals on demand. 2013-08-14 23:50:16 +00:00
LiveIntervalUnion.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LiveRangeEdit.h Auto-compute live intervals on demand. 2013-08-14 23:50:16 +00:00
LiveRegMatrix.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveStackAnalysis.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LiveVariables.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-11 16:22:38 +00:00
MachineBasicBlock.h Add the MachineInstrSpan class. 2013-08-14 23:50:11 +00:00
MachineBlockFrequencyInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
MachineBranchProbabilityInfo.h Add editor C++ filetype declaration no functionality change. 2013-08-12 21:10:23 +00:00
MachineCodeEmitter.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineCodeInfo.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineConstantPool.h Directly access objects which may change during compilation. 2013-06-17 20:41:25 +00:00
MachineDominators.h Add even more constatness in MachineDominators.h. 2013-02-16 12:36:32 +00:00
MachineFrameInfo.h Directly access objects which may change during compilation. 2013-06-17 20:41:25 +00:00
MachineFunction.h Fix comment that didn't match the method it was above 2013-04-22 20:30:50 +00:00
MachineFunctionAnalysis.h Remove unneeded "TargetMachine.h" #includes. 2013-02-09 20:54:05 +00:00
MachineFunctionPass.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineInstr.h Remove dead function. 2013-07-05 23:04:55 +00:00
MachineInstrBuilder.h Reapply an improved version of r180816/180817. 2013-07-09 20:28:37 +00:00
MachineInstrBundle.h Add a getBundleEnd() function to go with the existing getBundleStart(). 2013-01-09 01:02:19 +00:00
MachineJumpTableInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineLoopInfo.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineMemOperand.h Add target flags to MachineMemOperands. 2013-04-27 03:54:17 +00:00
MachineModuleInfo.h Remove addFrameMove. 2013-05-16 21:02:15 +00:00
MachineModuleInfoImpls.h Rename virtual table anchors from Anchor() to anchor() for consistency with the rest of the tree. 2012-09-26 06:36:36 +00:00
MachineOperand.h MachineOperand::setIsDebug should ensure the register is /not/ a definition 2013-06-16 20:34:09 +00:00
MachinePassRegistry.h Allow targets to select the default scheduler by name. 2012-04-19 01:34:10 +00:00
MachinePostDominators.h Remove unneeded #include. 2013-03-10 01:15:14 +00:00
MachineRegisterInfo.h Notify LiveRangeEdit of new virtual registers. 2013-08-14 23:50:09 +00:00
MachineRelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineScheduler.h Move #include from .h to .cpp file. 2013-06-14 00:00:13 +00:00
MachineSSAUpdater.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachineTraceMetrics.h Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
MachORelocation.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Passes.h Don't leak passes if added outside of the area determined by Started/Stopped flags. 2013-08-05 11:11:11 +00:00
PseudoSourceValue.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
RegAllocPBQP.h Switch spill weights from a basic loop depth estimation to BlockFrequencyInfo. 2013-06-17 19:00:36 +00:00
RegAllocRegistry.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RegisterClassInfo.h MI-Sched: Adjust regpressure limits for reserved regs. 2013-06-21 18:32:58 +00:00
RegisterPressure.h MI Sched: Track live-thru registers. 2013-07-30 19:59:12 +00:00
RegisterScavenging.h Use SmallVectorImpl::iterator/const_iterator instead of SmallVector 2013-07-03 05:01:24 +00:00
ResourcePriorityQueue.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RuntimeLibcalls.h [stackprotector] Add in the stackprotector libcall. 2013-08-12 18:45:38 +00:00
ScheduleDAG.h Use SmallVectorImpl::iterator/const_iterator instead of SmallVector 2013-07-03 05:01:24 +00:00
ScheduleDAGInstrs.h Machine Model: Add MicroOpBufferSize and resource BufferSize. 2013-06-15 04:49:57 +00:00
ScheduleDFS.h SchedDFS: Complete support for nested subtrees. 2013-01-25 06:52:27 +00:00
ScheduleHazardRecognizer.h misched: Allow disabling scoreboard hazard checking for subtargets with a 2012-06-05 03:44:32 +00:00
SchedulerRegistry.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ScoreboardHazardRecognizer.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
SelectionDAG.h Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily. 2013-07-03 05:11:49 +00:00
SelectionDAGISel.h Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. 2013-06-19 21:36:55 +00:00
SelectionDAGNodes.h Put an llvm_unreachable at the end of getSplatIndex as its loop should never find all undef elements. 2013-08-06 05:41:22 +00:00
SlotIndexes.h Down-scale slot index distance to save bits. 2013-07-30 19:59:19 +00:00
TargetLoweringObjectFileImpl.h PR16493: DebugInfo with TLS on PPC crashing due to invalid relocation 2013-07-01 21:45:25 +00:00
TargetSchedule.h Machine Model: Add MicroOpBufferSize and resource BufferSize. 2013-06-15 04:49:57 +00:00
ValueTypes.h [Mips][msa] Value types for MSA support. 2013-08-13 22:34:26 +00:00
ValueTypes.td [Mips][msa] Value types for MSA support. 2013-08-13 22:34:26 +00:00
VirtRegMap.h Remove VirtRegMap::getRegAllocPref(). 2012-12-04 00:35:59 +00:00