summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/compiler_llvm.cc
diff options
context:
space:
mode:
author Shih-wei Liao <sliao@google.com> 2012-03-01 11:47:23 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2012-03-01 11:47:23 -0800
commite84f807b454521b6e34915b4872b39075724cb41 (patch)
treeac70b660b4db7ddbb2c67b34bc9e50ef2414ea0a /src/compiler_llvm/compiler_llvm.cc
parentc73a7562fd82b027a6a49dc8f2ad53ab2982208e (diff)
parentdd7cf5b005ee368ce8df548af85579fbea20dcb3 (diff)
Merge "Move llvm::PassRegistry to InitializeLLVM()." into dalvik-dev
Diffstat (limited to 'src/compiler_llvm/compiler_llvm.cc')
-rw-r--r--src/compiler_llvm/compiler_llvm.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/compiler_llvm/compiler_llvm.cc b/src/compiler_llvm/compiler_llvm.cc
index 098589459f..146f577e95 100644
--- a/src/compiler_llvm/compiler_llvm.cc
+++ b/src/compiler_llvm/compiler_llvm.cc
@@ -24,6 +24,8 @@
#include "oat_compilation_unit.h"
#include "upcall_compiler.h"
+#include <llvm/LinkAllPasses.h>
+#include <llvm/LinkAllVMCore.h>
#include <llvm/Support/TargetSelect.h>
#include <llvm/Support/Threading.h>
@@ -40,6 +42,19 @@ void InitializeLLVM() {
llvm::InitializeAllAsmParsers();
// TODO: Maybe we don't have to initialize "all" targets.
+ // Initialize LLVM optimization passes
+ llvm::PassRegistry &registry = *llvm::PassRegistry::getPassRegistry();
+
+ llvm::initializeCore(registry);
+ llvm::initializeScalarOpts(registry);
+ llvm::initializeIPO(registry);
+ llvm::initializeAnalysis(registry);
+ llvm::initializeIPA(registry);
+ llvm::initializeTransformUtils(registry);
+ llvm::initializeInstCombine(registry);
+ llvm::initializeInstrumentation(registry);
+ llvm::initializeTarget(registry);
+
// Initialize LLVM internal data structure for multithreading
llvm::llvm_start_multithreaded();
}