llvm-6502/include/llvm/CodeGen
Evan Cheng 70017e44cd Add an ILP scheduler. This is a register pressure aware scheduler that's
appropriate for targets without detailed instruction iterineries.
The scheduler schedules for increased instruction level parallelism in
low register pressure situation; it schedules to reduce register pressure
when the register pressure becomes high.

On x86_64, this is a win for all tests in CFP2000. It also sped up 256.bzip2
by 16%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109300 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-24 00:39:05 +00:00
..
Analysis.h
AsmPrinter.h For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb 2010-07-21 23:03:52 +00:00
BinaryObject.h
CalcSpillWeights.h
CallingConvLower.h Reapply bottom-up fast-isel, with several fixes for x86-32: 2010-07-10 09:00:22 +00:00
FastISel.h Delete fast-isel's trivial load optimization; it breaks debugging because 2010-07-14 17:25:37 +00:00
FunctionLoweringInfo.h Reapply bottom-up fast-isel, with several fixes for x86-32: 2010-07-10 09:00:22 +00:00
GCMetadata.h Trailing whitespace. 2010-07-01 01:00:22 +00:00
GCMetadataPrinter.h Trailing whitespace. 2010-07-01 01:00:22 +00:00
GCs.h
GCStrategy.h
IntrinsicLowering.h
ISDOpcodes.h When splitting a VAARG, remember its alignment. 2010-06-26 18:22:20 +00:00
JITCodeEmitter.h
LatencyPriorityQueue.h Eliminate the use of PriorityQueue and just use a std::vector, 2010-05-26 18:52:00 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Remove the local register allocator. 2010-06-15 21:58:33 +00:00
LiveInterval.h If 'other' was empty 'overlapsFrom(other, other.begin());' will segfault. This avoids that. 2010-07-22 02:05:10 +00:00
LiveIntervalAnalysis.h LoopSplitter - intended to split live intervals over loop boundaries. 2010-07-17 07:34:01 +00:00
LiveStackAnalysis.h
LiveVariables.h
MachineBasicBlock.h Add a getFirstNonPHI utility function. 2010-07-07 14:33:51 +00:00
MachineCodeEmitter.h
MachineCodeInfo.h
MachineConstantPool.h
MachineDominators.h
MachineFrameInfo.h Formatting. 2010-07-20 21:05:58 +00:00
MachineFunction.h Revert r107205 and r107207. 2010-06-29 22:34:52 +00:00
MachineFunctionAnalysis.h
MachineFunctionPass.h Make MachineFunctionPass::createPrinterPass private, as no subclasses 2010-06-05 01:19:12 +00:00
MachineInstr.h Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and 2010-07-16 22:20:36 +00:00
MachineInstrBuilder.h
MachineJumpTableInfo.h Add explicit keywords. 2010-06-18 19:04:37 +00:00
MachineLocation.h
MachineLoopInfo.h Move PHIElimination's SplitCriticalEdge for MachineBasicBlocks out 2010-06-22 17:25:57 +00:00
MachineMemOperand.h
MachineModuleInfo.h Revert r108369, sorting llvm.dbg.declare information by source position, 2010-07-16 17:54:27 +00:00
MachineModuleInfoImpls.h
MachineOperand.h Add a TargetRegisterInfo::composeSubRegIndices hook with a default 2010-05-28 18:18:53 +00:00
MachinePassRegistry.h
MachineRegisterInfo.h Begin implementation of an inline spiller. 2010-06-29 23:58:39 +00:00
MachineRelocation.h
MachineSSAUpdater.h Combine the implementations of the core part of the SSAUpdater and 2010-05-04 23:18:19 +00:00
MachORelocation.h
ObjectCodeEmitter.h
Passes.h Remove the local register allocator. 2010-06-15 21:58:33 +00:00
PostRAHazardRecognizer.h Add missing include to unbreak the build. 2010-06-14 22:44:26 +00:00
ProcessImplicitDefs.h Teach ProcessImplicitDefs to transform more COPY instructions into IMPLICIT_DEF (and subsequently eliminate them). This allows machine LICM to hoist IMPLICIT_DEF's. PR7620. 2010-07-14 01:22:19 +00:00
PseudoSourceValue.h
RegAllocRegistry.h
RegisterCoalescer.h Be more forgiving when calculating alias interference for physreg coalescing. 2010-07-06 20:31:51 +00:00
RegisterScavenging.h After r107880, findSurvivorReg() no longer needs to be public. 2010-07-08 17:27:23 +00:00
RuntimeLibcalls.h back-end libcall handling for ATOMIC_SWAP (__sync_lock_test_and_set) 2010-06-18 23:03:10 +00:00
ScheduleDAG.h Change push_all to a non-virtual function and implement it in the 2010-05-26 01:10:55 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h Add an ILP scheduler. This is a register pressure aware scheduler that's 2010-07-24 00:39:05 +00:00
SelectionDAG.h Fix va_arg for doubles. With this patch VAARG nodes always contain the 2010-07-11 04:01:49 +00:00
SelectionDAGISel.h Reapply bottom-up fast-isel, with several fixes for x86-32: 2010-07-10 09:00:22 +00:00
SelectionDAGNodes.h Move ArgFlagsTy, OutputArg, and InputArg out of SelectionDAGNodes.h and 2010-07-07 15:28:42 +00:00
SlotIndexes.h Render MachineFunctions to HTML pages, with options to render register 2010-07-19 15:22:28 +00:00
TargetLoweringObjectFileImpl.h More data/parsing support for tls directives. Add a few more testcases 2010-05-17 22:53:55 +00:00
ValueTypes.h Fix enum to address array bounds regression. 2010-05-18 21:22:12 +00:00
ValueTypes.td Adding a v8i64 512-bit vector type. This will be used to model ARM NEON intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers. 2010-05-13 23:55:47 +00:00