ac: move all LLVM module initialization into ac_create_module
[mesa.git] / src / amd / common / ac_llvm_helper.cpp
index 1a2aee3bc9a8859c008af38e073919ee22be6261..495bd98da9cb93b83d95957b2c1cf3819d5773a9 100644 (file)
@@ -61,6 +61,16 @@ bool ac_llvm_is_function(LLVMValueRef v)
        return LLVMGetValueKind(v) == LLVMFunctionValueKind;
 }
 
+LLVMModuleRef ac_create_module(LLVMTargetMachineRef tm, LLVMContextRef ctx)
+{
+   llvm::TargetMachine *TM = reinterpret_cast<llvm::TargetMachine*>(tm);
+   LLVMModuleRef module = LLVMModuleCreateWithNameInContext("mesa-shader", ctx);
+
+   llvm::unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple());
+   llvm::unwrap(module)->setDataLayout(TM->createDataLayout());
+   return module;
+}
+
 LLVMBuilderRef ac_create_builder(LLVMContextRef ctx,
                                 enum ac_float_mode float_mode)
 {