1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/include/llvm/CodeGen
Andrew Trick 8b72906a53 misched: Heuristics based on the machine model.
misched is disabled by default. With -enable-misched, these heuristics
balance the schedule to simultaneously avoid saturating processor
resources, expose ILP, and minimize register pressure. I've been
analyzing the performance of these heuristics on everything in the
llvm test suite in addition to a few other benchmarks. I would like
each heuristic check to be verified by a unit test, but I'm still
trying to figure out the best way to do that. The heuristics are still
in considerable flux, but as they are refined we should be rigorous
about unit testing the improvements.

llvm-svn: 167527
2012-11-07 07:05:09 +00:00
..
PBQP Use ilist rather than std::list for Node and Edge lists in the PBQP graph. This 2012-10-23 17:10:51 +00:00
Analysis.h
AsmPrinter.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
CalcSpillWeights.h
CallingConvLower.h Fix PR13899 2012-10-01 16:44:04 +00:00
CommandFlags.h Reapply the TargerTransformInfo changes, minus the changes to LSR and Lowerinvoke. 2012-10-18 23:22:48 +00:00
DFAPacketizer.h
EdgeBundles.h
FastISel.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
FunctionLoweringInfo.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
GCMetadata.h Remove GC roots that reference dead objects. 2012-10-26 09:15:55 +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
GCStrategy.h
IntrinsicLowering.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
ISDOpcodes.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
JITCodeEmitter.h
LatencyPriorityQueue.h
LexicalScopes.h
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
LiveIntervalAnalysis.h Fix function parameter spelling in comments. Caught by -Wdocumentation. 2012-10-16 15:37:50 +00:00
LiveRangeEdit.h
LiveStackAnalysis.h
LiveVariables.h Switch most getReservedRegs() clients to the MRI equivalent. 2012-10-15 21:57:41 +00:00
MachineBasicBlock.h Add a function computeRegisterLiveness() to MachineBasicBlock. This uses analyzePhysReg() from r163694 to heuristically try and determine the liveness state of a physical register upon arrival at a particular instruction in a block. 2012-09-12 10:18:23 +00:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
MachineCodeEmitter.h
MachineCodeInfo.h
MachineConstantPool.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
MachineDominators.h
MachineFrameInfo.h Change MachineFrameInfo::StackObject::Alloca from Value* to AllocaInst* 2012-10-18 19:53:45 +00:00
MachineFunction.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h [inline asm] Get the mayLoad/mayStore directly from the MIOp_ExtraInfo operand. 2012-10-30 20:39:19 +00:00
MachineInstrBuilder.h Change MachineInstrBuilder::addDisp to copy over target flags by default. 2012-10-11 00:15:48 +00:00
MachineInstrBundle.h Add an analyzePhysReg() function to MachineOperandIteratorBase that analyses an instruction's use of a physical register, analogous to analyzeVirtReg. 2012-09-12 10:03:31 +00:00
MachineJumpTableInfo.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
MachineLoopInfo.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachineLoopRanges.h
MachineMemOperand.h Add MachineMemOperand::isUnordered(). 2012-08-29 21:08:52 +00:00
MachineModuleInfo.h
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 Add extra declarations of hash_value needed to build llvm with xlc 12.1. 2012-10-31 00:46:18 +00:00
MachinePassRegistry.h
MachinePostDominators.h Make MachinePostDominatorTree::DT private 2012-09-18 13:49:54 +00:00
MachineRegisterInfo.h Switch MRI::UsedPhysRegs to a register unit bit vector. 2012-10-17 20:26:33 +00:00
MachineRelocation.h
MachineScheduler.h misched: Heuristics based on the machine model. 2012-11-07 07:05:09 +00:00
MachineSSAUpdater.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachORelocation.h
Passes.h Add a new optimization pass: Stack Coloring, that merges disjoint static allocations (allocas). Allocas are known to be 2012-09-06 09:17:37 +00:00
PseudoSourceValue.h Remove unnecessary classof()'s 2012-10-11 23:30:49 +00:00
RegAllocPBQP.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
RegAllocRegistry.h
RegisterClassInfo.h Remove RegisterClassInfo::isReserved() and isAllocatable(). 2012-10-15 22:41:03 +00:00
RegisterPressure.h misched: handle on-the-fly regpressure queries better for 2-addr 2012-11-07 07:05:05 +00:00
RegisterScavenging.h Switch most getReservedRegs() clients to the MRI equivalent. 2012-10-15 21:57:41 +00:00
ResourcePriorityQueue.h
RuntimeLibcalls.h
ScheduleDAG.h misched: TargetSchedule interface for machine resources. 2012-11-06 07:10:38 +00:00
ScheduleDAGILP.h misched: ILP scheduler for experimental heuristics. 2012-10-15 18:02:27 +00:00
ScheduleDAGInstrs.h misched: TargetSchedule interface for machine resources. 2012-11-06 07:10:38 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h Add a really faster pre-RA scheduler (-pre-RA-sched=linearize). It doesn't use 2012-10-17 19:39:36 +00:00
ScoreboardHazardRecognizer.h
SelectionDAG.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
SelectionDAGISel.h
SelectionDAGNodes.h In various places throughout the code generator, there were special 2012-10-29 18:35:49 +00:00
SlotIndexes.h
TargetLoweringObjectFileImpl.h
TargetSchedule.h misched: TargetSchedule interface for machine resources. 2012-11-06 07:10:38 +00:00
ValueTypes.h Revert r164663 due to buildbot failure. 2012-09-26 07:43:06 +00:00
ValueTypes.td Add in new data types that are used by AMDIL/ANL among others. 2012-09-19 22:47:07 +00:00