summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2011-11-02 07:17:12 +0000
committerChandler Carruth <chandlerc@gmail.com>2011-11-02 07:17:12 +0000
commit37efc9fe42a4867c81526cac7fca9fe0ea04a484 (patch)
tree9241d2ae6f5a0ffd132c90849bcea84999efd0b2 /include
parent205e3378fda530628ac63c26a9b7b0920a9b49bd (diff)
downloadllvm-37efc9fe42a4867c81526cac7fca9fe0ea04a484.tar.gz
llvm-37efc9fe42a4867c81526cac7fca9fe0ea04a484.tar.bz2
llvm-37efc9fe42a4867c81526cac7fca9fe0ea04a484.tar.xz
Begin collecting some of the statistics for block placement discussed on
the mailing list. Suggestions for other statistics to collect would be awesome. =] Currently these are implemented as a separate pass guarded by a separate flag. I'm not thrilled by that, but I wanted to be able to collect the statistics for the old code placement as well as the new in order to have a point of comparison. I'm planning on folding them into the single pass if / when there is only one pass of interest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143537 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/Passes.h5
-rw-r--r--include/llvm/InitializePasses.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h
index 7d0c412a1b..bf440f4ccf 100644
--- a/include/llvm/CodeGen/Passes.h
+++ b/include/llvm/CodeGen/Passes.h
@@ -159,6 +159,11 @@ namespace llvm {
/// probabilities.
FunctionPass *createMachineBlockPlacementPass();
+ /// MachineBlockPlacementStats Pass - This pass collects statistics about the
+ /// basic block placement using branch probabilities and block frequency
+ /// information.
+ FunctionPass *createMachineBlockPlacementStatsPass();
+
/// Code Placement Pass - This pass optimize code placement and aligns loop
/// headers to target specific alignment boundary.
FunctionPass *createCodePlacementOptPass();
diff --git a/include/llvm/InitializePasses.h b/include/llvm/InitializePasses.h
index b5344fccf8..47a7779608 100644
--- a/include/llvm/InitializePasses.h
+++ b/include/llvm/InitializePasses.h
@@ -147,6 +147,7 @@ void initializeLowerInvokePass(PassRegistry&);
void initializeLowerSwitchPass(PassRegistry&);
void initializeMachineBlockFrequencyInfoPass(PassRegistry&);
void initializeMachineBlockPlacementPass(PassRegistry&);
+void initializeMachineBlockPlacementStatsPass(PassRegistry&);
void initializeMachineBranchProbabilityInfoPass(PassRegistry&);
void initializeMachineCSEPass(PassRegistry&);
void initializeMachineDominatorTreePass(PassRegistry&);