llvm-6502/include/llvm/CodeGen
Andrew Trick 92e946630d Introducing a new method of tracking register pressure. We can't
precisely track pressure on a selection DAG, but we can at least keep
it balanced. This design accounts for various interesting aspects of
selection DAGS: register and subregister copies, glued nodes, dead
nodes, unused registers, etc.

Added SUnit::NumRegDefsLeft and ScheduleDAGSDNodes::RegDefIter.

Note: I disabled PrescheduleNodesWithMultipleUses when register
pressure is enabled, based on no evidence other than I don't think it
makes sense to have both enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124853 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-04 03:18:17 +00:00
..
PBQP
Analysis.h Enable sibling call optimization of libcalls which are expanded during 2010-11-30 23:55:39 +00:00
AsmPrinter.h Add CFI directives-based frame information emission. Not hooked yet. 2011-01-14 21:57:53 +00:00
BinaryObject.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CalcSpillWeights.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
CallingConvLower.h In the calling convention logic, ValVT is always a legal type, 2010-11-04 10:49:57 +00:00
EdgeBundles.h Use the EdgeBundles analysis in X86FloatingPoint instead of recomputing CFG 2011-01-04 21:10:11 +00:00
FastISel.h Prune includes. 2010-11-06 11:45:59 +00:00
FunctionLoweringInfo.h Use an IndexedMap for LiveOutRegInfo to hide its dependence on TargetRegisterInfo::FirstVirtualRegister. 2011-01-08 23:10:50 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h Recognize inline asm 'rev /bin/bash, ' as a bswap intrinsic call. 2011-01-08 01:24:27 +00:00
ISDOpcodes.h [AVX] Add INSERT_SUBVECTOR and support it on x86. This provides a 2011-01-26 19:13:22 +00:00
JITCodeEmitter.h Merge System into Support. 2010-11-29 18:16:10 +00:00
LatencyPriorityQueue.h Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Stub out RegAllocGreedy. 2010-12-08 03:26:16 +00:00
LiveInterval.h Reapply this. 2011-02-03 06:18:29 +00:00
LiveIntervalAnalysis.h Annotate VirtRegRewriter debug output with slot indexes. 2011-01-12 22:28:48 +00:00
LiveStackAnalysis.h Teach TargetRegisterInfo how to cram stack slot indexes in with the virtual and 2011-01-09 21:17:37 +00:00
LiveVariables.h Use an IndexedMap for LiveVariables::VirtRegInfo. 2011-01-08 23:10:57 +00:00
MachineBasicBlock.h Teach frame lowering to ignore debug values after the terminators. 2011-01-13 21:28:52 +00:00
MachineCodeEmitter.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineCodeInfo.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineConstantPool.h
MachineDominators.h
MachineFrameInfo.h Remove dead ivar. 2011-01-22 12:13:28 +00:00
MachineFunction.h Keep track of incoming argument's location while emitting LiveIns. 2011-01-31 21:38:14 +00:00
MachineFunctionAnalysis.h Give MachineFunctionAnalysis a getPassName() implementation to make timing reports prettier. 2011-01-04 18:21:18 +00:00
MachineFunctionPass.h
MachineInstr.h Do not model all INLINEASM instructions as having unmodelled side effects. 2011-01-07 23:50:32 +00:00
MachineInstrBuilder.h Initial va_arg support for x86-64. Patch by David Meyer! 2010-10-12 18:00:49 +00:00
MachineJumpTableInfo.h
MachineLocation.h Do not talk about TargetRegisterInfo::FirstVirtualRegister. 2011-01-08 23:10:53 +00:00
MachineLoopInfo.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
MachineLoopRanges.h Enable loop splitting in RegAllocGreedy. 2010-12-17 23:16:32 +00:00
MachineMemOperand.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineModuleInfo.h Fix small bug in setDebugInfoAvailability. 2011-01-05 17:01:57 +00:00
MachineModuleInfoImpls.h
MachineOperand.h Simplify LiveDebugVariables by storing MachineOperand copies locations instead 2011-01-09 05:33:21 +00:00
MachinePassRegistry.h
MachineRegisterInfo.h Keep track of incoming argument's location while emitting LiveIns. 2011-01-31 21:38:14 +00:00
MachineRelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineSSAUpdater.h
MachORelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
ObjectCodeEmitter.h
Passes.h Add the SpillPlacement analysis pass. 2011-01-06 01:21:53 +00:00
ProcessImplicitDefs.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
PseudoSourceValue.h
RegAllocPBQP.h Fixed some dependencies in RegAllocPBQP.h . Thanks to Borja Ferrer for pointing out this issue. 2010-12-08 22:15:32 +00:00
RegAllocRegistry.h
RegisterCoalescer.h Merge System into Support. 2010-11-29 18:16:10 +00:00
RegisterScavenging.h
RuntimeLibcalls.h
ScheduleDAG.h Introducing a new method of tracking register pressure. We can't 2011-02-04 03:18:17 +00:00
ScheduleHazardRecognizer.h Convert -enable-sched-cycles and -enable-sched-hazard to -disable 2011-01-21 05:51:33 +00:00
SchedulerRegistry.h
ScoreboardHazardRecognizer.h Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
SelectionDAG.h Provide an interface to transfer SDDbgValue from one SDNode to another. 2011-01-25 23:27:42 +00:00
SelectionDAGISel.h Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
SelectionDAGNodes.h flags -> glue for selectiondag 2010-12-23 17:24:32 +00:00
SlotIndexes.h Assert if anybody tries to put a slot index on a DBG_VALUE instruction. 2011-01-12 21:27:45 +00:00
TargetLoweringObjectFileImpl.h Delay the creation of eh_frame so that the user can change the defaults. 2011-01-23 05:43:40 +00:00
ValueTypes.h rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for 2010-12-21 02:38:05 +00:00
ValueTypes.td