Reorder LLVM initialize procedure.
Change-Id: I7c5683c010d936eaa893866dc65b1254359eb8f6
diff --git a/src/compiler_llvm/compiler_llvm.cc b/src/compiler_llvm/compiler_llvm.cc
index dce7f91..b517d47 100644
--- a/src/compiler_llvm/compiler_llvm.cc
+++ b/src/compiler_llvm/compiler_llvm.cc
@@ -55,12 +55,18 @@
pthread_once_t llvm_initialized = PTHREAD_ONCE_INIT;
void InitializeLLVM() {
+ // Initialize LLVM internal data structure for multithreading
+ llvm::llvm_start_multithreaded();
+
// NOTE: Uncomment following line to show the time consumption of LLVM passes
//llvm::TimePassesIsEnabled = true;
// Enable -arm-reserve-r9
ReserveR9 = true;
+ // Enable -arm-long-calls
+ EnableARMLongCalls = false;
+
// Initialize LLVM target, MC subsystem, asm printer, and asm parser
llvm::InitializeAllTargets();
llvm::InitializeAllTargetMCs();
@@ -68,9 +74,6 @@
llvm::InitializeAllAsmParsers();
// TODO: Maybe we don't have to initialize "all" targets.
- // Enable -arm-long-calls
- EnableARMLongCalls = false;
-
// Initialize LLVM optimization passes
llvm::PassRegistry ®istry = *llvm::PassRegistry::getPassRegistry();
@@ -83,9 +86,6 @@
llvm::initializeInstCombine(registry);
llvm::initializeInstrumentation(registry);
llvm::initializeTarget(registry);
-
- // Initialize LLVM internal data structure for multithreading
- llvm::llvm_start_multithreaded();
}
// The Guard to Shutdown LLVM