llvm-6502/include/llvm/CodeGen
Jakob Stoklund Olesen b4ddedce59 Extract parts of RAGreedy::splitAroundRegion as SplitKit methods.
This gets rid of some of the gory splitting details in RAGreedy and
makes them available to future SplitKit clients.

Slightly generalize the functionality to support multi-way splitting.
Specifically, SplitEditor::splitLiveThroughBlock() supports switching
between different register intervals in a block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135307 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-15 21:47:57 +00:00
..
PBQP Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
Analysis.h Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef. 2011-07-13 10:26:04 +00:00
AsmPrinter.h Fix a FIXME by making GlobalVariable::getInitializer() return a 2011-06-19 18:37:11 +00:00
BinaryObject.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CalcSpillWeights.h Use the new TRI->getLargestLegalSuperClass hook to constrain register class inflation. 2011-04-26 18:52:36 +00:00
CallingConvLower.h Provide an ARMCCState subclass of CCState so that ARM clients will always set 2011-06-10 20:59:24 +00:00
EdgeBundles.h Build the Hopfield network incrementally when splitting global live ranges. 2011-04-09 02:59:09 +00:00
FastISel.h Revert r133953 for now. 2011-06-29 23:50:13 +00:00
FunctionLoweringInfo.h Introduce MachineBranchProbabilityInfo class, which has similar API to 2011-06-16 20:22:37 +00:00
GCMetadata.h Attach a DebugLoc to a GC point in order to get precise information in the JIT of a GC point. 2010-09-24 17:27:50 +00:00
GCMetadataPrinter.h Trailing whitespace. 2010-07-01 01:00:22 +00:00
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 Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
JITCodeEmitter.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
LatencyPriorityQueue.h Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
LinkAllAsmWriterComponents.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
LinkAllCodegenComponents.h There is only one register coalescer. Merge it into the base class and 2011-06-26 22:34:10 +00:00
LiveInterval.h Teach LiveInterval::isZeroLength about null SlotIndexes. 2011-05-16 23:50:05 +00:00
LiveIntervalAnalysis.h Dead code elimination may separate the live interval into multiple connected components. 2011-03-17 20:37:07 +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 Introduce MachineBranchProbabilityInfo class, which has similar API to 2011-06-16 20:22:37 +00:00
MachineBranchProbabilityInfo.h - Make BranchProbability constructor public. 2011-07-10 02:12:39 +00:00
MachineCodeEmitter.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
MachineCodeInfo.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineConstantPool.h Add comment to clarify what MachineConstantPoolEntry::isMachineConstantPoolEntry() means. 2011-03-24 06:28:45 +00:00
MachineDominators.h typoes 2010-09-10 22:25:58 +00:00
MachineFrameInfo.h Tidy up. 2011-03-07 19:28:43 +00:00
MachineFunction.h - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
MachineFunctionAnalysis.h Give MachineFunctionAnalysis a getPassName() implementation to make timing reports prettier. 2011-01-04 18:21:18 +00:00
MachineFunctionPass.h Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
MachineInstr.h Include a source location when complaining about bad inline assembly. 2011-07-02 03:53:34 +00:00
MachineInstrBuilder.h - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
MachineJumpTableInfo.h Add explicit keywords. 2010-06-18 19:04:37 +00:00
MachineLocation.h Merge .debug_loc entries whenever possible to reduce debug_loc size. 2011-02-04 22:57:18 +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 Reformatting. Moving class definitions to more natural places. No functionalogical changes. 2011-06-11 11:37:49 +00:00
MachineModuleInfoImpls.h Add a bit along with the MCSymbols stored in the MachineModuleInfo maps that 2010-03-10 22:34:10 +00:00
MachineOperand.h Handle debug info for i128 constants. 2011-06-24 20:46:11 +00:00
MachinePassRegistry.h Sundry dependent-name fixes flagged by clang++. 2009-12-17 23:49:16 +00:00
MachineRegisterInfo.h Be more aggressive about following hints. 2011-07-08 20:46:18 +00:00
MachineRelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineSSAUpdater.h Combine the implementations of the core part of the SSAUpdater and 2010-05-04 23:18:19 +00:00
MachORelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
ObjectCodeEmitter.h change EH related stuff (other than EH_LABEL) to use MCSymbol 2010-03-14 01:41:15 +00:00
Passes.h Remove the experimental (and unused) pre-ra splitting pass. Greedy regalloc can split live ranges. 2011-06-27 23:40:45 +00:00
ProcessImplicitDefs.h Place context in member variables instead of passing around pointers. 2011-03-14 20:57:14 +00:00
PseudoSourceValue.h Typos. 2011-06-01 23:32:40 +00:00
RegAllocPBQP.h Add a hook for PBQP clients to run a custom pre-alloc pass to run prior to PBQP allocation. Patch by Arnaud Allard de Grandmaison. 2011-06-17 07:09:01 +00:00
RegAllocRegistry.h
RegisterScavenging.h Teach the register scavenger to take subregs into account when finding a free register. 2011-03-05 00:20:19 +00:00
RuntimeLibcalls.h Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
ScheduleDAG.h - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
ScheduleHazardRecognizer.h Convert -enable-sched-cycles and -enable-sched-hazard to -disable 2011-01-21 05:51:33 +00:00
SchedulerRegistry.h Add an ILP scheduler. This is a register pressure aware scheduler that's 2010-07-24 00:39:05 +00:00
ScoreboardHazardRecognizer.h - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
SelectionDAG.h Don't allocate empty read-only SmallVectors during SelectionDAG deallocation. 2011-06-18 13:13:44 +00:00
SelectionDAGISel.h Recommit the fix for rdar://9289512 with a couple tweaks to 2011-04-22 21:59:37 +00:00
SelectionDAGNodes.h Add functions 'hasPredecessor' and 'hasPredecessorHelper' to SDNode. The 2011-07-07 04:31:51 +00:00
SlotIndexes.h Extract parts of RAGreedy::splitAroundRegion as SplitKit methods. 2011-07-15 21:47:57 +00:00
TargetLoweringObjectFileImpl.h Fix up TargetLoweringObjectFile ctors to properly initialize fields. 2011-07-13 19:54:59 +00:00
ValueTypes.h Fix formatting. 2011-06-16 16:52:24 +00:00
ValueTypes.td Fix formatting. 2011-06-16 16:52:24 +00:00