1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/include/llvm/CodeGen
Andrew Trick 6b4f5ddf56 misched: implemented a framework for top-down or bottom-up scheduling.
New flags: -misched-topdown, -misched-bottomup. They can be used with
the default scheduler or with -misched=shuffle. Without either
topdown/bottomup flag -misched=shuffle now alternates scheduling
direction.

LiveIntervals update is unimplemented with bottom-up scheduling, so
only -misched-topdown currently works.

Capped the ScheduleDAG hierarchy with a concrete ScheduleDAGMI class.
ScheduleDAGMI is aware of the top and bottom of the unscheduled zone
within the current region. Scheduling policy can be plugged into
the ScheduleDAGMI driver by implementing MachineSchedStrategy.
ConvergingScheduler is now the default scheduling algorithm.
It exercises the new driver but still does no reordering.

llvm-svn: 152700
2012-03-14 04:00:41 +00:00
..
PBQP Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
Analysis.h Move global variables in TargetMachine into new TargetOptions class. As an API 2011-12-02 22:16:29 +00:00
AsmPrinter.h Allow the use of an alternate symbol for calculating a function's size. 2012-02-22 21:11:47 +00:00
CalcSpillWeights.h Move CalculateRegClass to MRI::recomputeRegClass. 2011-08-09 16:46:27 +00:00
CallingConvLower.h Convert more static tables of registers used by calling convention to uint16_t to reduce space. 2012-03-11 07:57:25 +00:00
DFAPacketizer.h Cleanup VLIWPacketizer to use the updated ScheduleDAGInstrs interface. 2012-03-07 23:01:09 +00:00
EdgeBundles.h Twinify GraphWriter a little bit. 2011-11-15 16:26:38 +00:00
FastISel.h [fast-isel] Add support for selecting insertvalue. 2011-12-09 20:09:54 +00:00
FunctionLoweringInfo.h Replace a DenseSet with SmallPtrSet. 2012-02-23 20:53:02 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h Add a custom safepoint method, in order for language implementers to decide which machine instruction gets to be a safepoint. 2011-11-11 18:32:52 +00:00
IntrinsicLowering.h
ISDOpcodes.h Add a RegisterMaskSDNode class. 2012-01-18 23:52:12 +00:00
JITCodeEmitter.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
LatencyPriorityQueue.h misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
LexicalScopes.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Codegen pass definition cleanup. No functionality. 2012-02-08 21:23:13 +00:00
LiveInterval.h Drop the REDEF_BY_EC VNInfo flag. 2012-02-04 05:51:25 +00:00
LiveIntervalAnalysis.h Add API "handleMoveIntoBundl" for updating liveness when moving instructions into 2012-02-21 22:29:38 +00:00
LiveStackAnalysis.h Move getCommonSubClass() into TRI. 2011-09-30 22:18:51 +00:00
LiveVariables.h Handle register masks in LiveVariables. 2012-01-21 00:58:53 +00:00
MachineBasicBlock.h Added MachineBasicBlock::getFullName() to standardize/factor codegen diagnostics. 2012-03-07 00:18:18 +00:00
MachineBlockFrequencyInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
MachineBranchProbabilityInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
MachineCodeEmitter.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MachineCodeInfo.h
MachineConstantPool.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MachineDominators.h Silence the new -Wempty-body warning. It appeared because the next statement 2012-02-14 22:17:14 +00:00
MachineFrameInfo.h Fix typo, reported by Eitan Adler! 2011-12-10 03:16:20 +00:00
MachineFunction.h Allow inlining of functions with returns_twice calls, if they have the 2011-12-18 20:35:43 +00:00
MachineFunctionAnalysis.h Sink codegen optimization level into MCCodeGenInfo along side relocation model 2011-11-16 08:38:26 +00:00
MachineFunctionPass.h
MachineInstr.h Move getBundleStart() into MachineInstrBundle.h. 2012-03-01 01:26:01 +00:00
MachineInstrBuilder.h Use <def,undef> operands when spilling NEON bundles. 2012-03-04 18:40:30 +00:00
MachineInstrBundle.h Move getBundleStart() into MachineInstrBundle.h. 2012-03-01 01:26:01 +00:00
MachineJumpTableInfo.h Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which is 2012-02-03 04:33:00 +00:00
MachineLoopInfo.h
MachineLoopRanges.h
MachineMemOperand.h Make headers standalone. 2011-11-14 17:45:03 +00:00
MachineModuleInfo.h Properly emit _fltused with FastISel. Refactor to share code with SDAG. 2012-02-22 19:06:13 +00:00
MachineModuleInfoImpls.h
MachineOperand.h Clean up comment. 2012-02-10 19:27:34 +00:00
MachinePassRegistry.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MachineRegisterInfo.h Use uint16_t to store register overlaps to reduce static data. 2012-03-04 10:43:23 +00:00
MachineRelocation.h
MachineScheduler.h misched: allow the default scheduler to be one chosen by the target. 2012-03-09 00:52:20 +00:00
MachineSSAUpdater.h
MachORelocation.h
Passes.h s/SjLjEHPass/SjLjEHPrepare/ 2012-03-13 20:04:21 +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 Track reserved registers separately from RegsAvailable. 2012-02-23 01:13:32 +00:00
ResourcePriorityQueue.h misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +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 misched: implemented a framework for top-down or bottom-up scheduling. 2012-03-14 04:00:41 +00:00
ScheduleDAGInstrs.h misched interface: rename Begin/End to RegionBegin/RegionEnd since they are not private. 2012-03-09 04:29:02 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h VLIW specific scheduler framework that utilizes deterministic finite automaton (DFA). 2012-02-01 22:13:57 +00:00
ScoreboardHazardRecognizer.h - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
SelectionDAG.h Inline the d'tor and add an anchor instead. 2012-03-13 05:51:56 +00:00
SelectionDAGISel.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
SelectionDAGNodes.h Add a RegisterMaskSDNode class. 2012-01-18 23:52:12 +00:00
SlotIndexes.h Move getBundleStart() into MachineInstrBundle.h. 2012-03-01 01:26:01 +00:00
TargetLoweringObjectFileImpl.h Modify the code that emits the module flags to use the new module flags accessor 2012-02-15 22:36:15 +00:00
ValueTypes.h Remove an unused function. 2012-03-05 12:49:45 +00:00
ValueTypes.td Added MVT::v2f16 2012-01-12 23:14:13 +00:00