Initialize required component.
Without the initialization of MCRegisterInfo for X86,
libbcc will crash at compile time for some input, for example:
define double @testDouble() {
entry:
ret double 2.000000e-01
}
Change-Id: Ifde89c5bd39e67f852c25cc7dc08c8f0c256ea6b
diff --git a/lib/ExecutionEngine/Compiler.cpp b/lib/ExecutionEngine/Compiler.cpp
index 7807194..639d76e 100644
--- a/lib/ExecutionEngine/Compiler.cpp
+++ b/lib/ExecutionEngine/Compiler.cpp
@@ -148,6 +148,8 @@
#if defined(DEFAULT_ARM_CODEGEN) || defined(PROVIDE_ARM_CODEGEN)
LLVMInitializeARMMCAsmInfo();
+ LLVMInitializeARMMCCodeGenInfo();
+ LLVMInitializeARMMCSubtargetInfo();
LLVMInitializeARMAsmPrinter();
LLVMInitializeARMTargetInfo();
LLVMInitializeARMTarget();
@@ -156,6 +158,8 @@
#if defined(DEFAULT_X86_CODEGEN) || defined(PROVIDE_X86_CODEGEN) || \
defined(DEFAULT_X64_CODEGEN) || defined(PROVIDE_X64_CODEGEN)
LLVMInitializeX86MCAsmInfo();
+ LLVMInitializeX86MCCodeGenInfo();
+ LLVMInitializeX86MCSubtargetInfo();
LLVMInitializeX86AsmPrinter();
LLVMInitializeX86TargetInfo();
LLVMInitializeX86Target();