summaryrefslogtreecommitdiff
path: root/include/llvm/InitializePasses.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-07-26 18:38:11 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-07-26 18:38:11 +0000
commit9f63e104271eb91e545fa8cdb16fb9e10a8a9578 (patch)
tree129292c1e42af3731aa15b38dec315b74795fed6 /include/llvm/InitializePasses.h
parent27db99fcee85939f0b7580ad55303c4c60a3b98d (diff)
downloadllvm-9f63e104271eb91e545fa8cdb16fb9e10a8a9578.tar.gz
llvm-9f63e104271eb91e545fa8cdb16fb9e10a8a9578.tar.bz2
llvm-9f63e104271eb91e545fa8cdb16fb9e10a8a9578.tar.xz
Start scaffolding for a MachineTraceMetrics analysis pass.
This is still a work in progress. Out-of-order CPUs usually execute instructions from multiple basic blocks simultaneously, so it is necessary to look at longer traces when estimating the performance effects of code transformations. The MachineTraceMetrics analysis will pick a typical trace through a given basic block and provide performance metrics for the trace. Metrics will include: - Instruction count through the trace. - Issue count per functional unit. - Critical path length, and per-instruction 'slack'. These metrics can be used to determine the performance limiting factor when executing the trace, and how it will be affected by a code transformation. Initially, this will be used by the early if-conversion pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160796 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/InitializePasses.h')
-rw-r--r--include/llvm/InitializePasses.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/llvm/InitializePasses.h b/include/llvm/InitializePasses.h
index e6fa8c3d30..de97957a84 100644
--- a/include/llvm/InitializePasses.h
+++ b/include/llvm/InitializePasses.h
@@ -172,6 +172,7 @@ void initializeMachineLoopRangesPass(PassRegistry&);
void initializeMachineModuleInfoPass(PassRegistry&);
void initializeMachineSchedulerPass(PassRegistry&);
void initializeMachineSinkingPass(PassRegistry&);
+void initializeMachineTraceMetricsPass(PassRegistry&);
void initializeMachineVerifierPassPass(PassRegistry&);
void initializeMemCpyOptPass(PassRegistry&);
void initializeMemDepPrinterPass(PassRegistry&);