summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2012-11-02 21:48:17 +0000
committerNadav Rotem <nrotem@apple.com>2012-11-02 21:48:17 +0000
commit6bed58ef240b1e1a1fb41fb867a8ba6e7566e0e9 (patch)
treec071ea892cf774a5eda005215095242eee48fd69 /include
parent2b0c96f71ff1f26617dd805cafa35bf9a29c5a60 (diff)
downloadllvm-6bed58ef240b1e1a1fb41fb867a8ba6e7566e0e9.tar.gz
llvm-6bed58ef240b1e1a1fb41fb867a8ba6e7566e0e9.tar.bz2
llvm-6bed58ef240b1e1a1fb41fb867a8ba6e7566e0e9.tar.xz
Add a cost model analysis that allows us to estimate the cost of IR-level instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167324 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Analysis/Passes.h7
-rw-r--r--include/llvm/InitializePasses.h1
-rw-r--r--include/llvm/LinkAllPasses.h1
3 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h
index ff1008b8fd..27726f49bc 100644
--- a/include/llvm/Analysis/Passes.h
+++ b/include/llvm/Analysis/Passes.h
@@ -187,6 +187,13 @@ namespace llvm {
//===--------------------------------------------------------------------===//
//
+ // createCostModelAnalysisPass - This creates an instance of the
+ // CostModelAnalysis pass.
+ //
+ FunctionPass *createCostModelAnalysisPass();
+
+ //===--------------------------------------------------------------------===//
+ //
// Minor pass prototypes, allowing us to expose them through bugpoint and
// analyze.
FunctionPass *createInstCountPass();
diff --git a/include/llvm/InitializePasses.h b/include/llvm/InitializePasses.h
index 9b8a6bdf54..8c164eb919 100644
--- a/include/llvm/InitializePasses.h
+++ b/include/llvm/InitializePasses.h
@@ -88,6 +88,7 @@ void initializeCodePlacementOptPass(PassRegistry&);
void initializeConstantMergePass(PassRegistry&);
void initializeConstantPropagationPass(PassRegistry&);
void initializeMachineCopyPropagationPass(PassRegistry&);
+void initializeCostModelAnalysisPass(PassRegistry&);
void initializeCorrelatedValuePropagationPass(PassRegistry&);
void initializeDAEPass(PassRegistry&);
void initializeDAHPass(PassRegistry&);
diff --git a/include/llvm/LinkAllPasses.h b/include/llvm/LinkAllPasses.h
index a6d2f29168..806e4b37b7 100644
--- a/include/llvm/LinkAllPasses.h
+++ b/include/llvm/LinkAllPasses.h
@@ -60,6 +60,7 @@ namespace {
(void) llvm::createCFGSimplificationPass();
(void) llvm::createConstantMergePass();
(void) llvm::createConstantPropagationPass();
+ (void) llvm::createCostModelAnalysisPass();
(void) llvm::createDeadArgEliminationPass();
(void) llvm::createDeadCodeEliminationPass();
(void) llvm::createDeadInstEliminationPass();