[DRIVER] LLVM driver fixup (#482)

Current way of doing things is probably not super thread safe. init is shared between threads and some threads my not call the LLVMInitialize* function.
This commit is contained in:
Philippe Tillet
2022-03-23 00:24:45 -07:00
committed by GitHub
parent a4f68165cd
commit ea6d1f1b85

View File

@@ -70,8 +70,6 @@ namespace triton{
namespace driver{ namespace driver{
void init_llvm() { void init_llvm() {
static bool init = false;
if(!init){
LLVMInitializeNVPTXTargetInfo(); LLVMInitializeNVPTXTargetInfo();
LLVMInitializeNVPTXTarget(); LLVMInitializeNVPTXTarget();
LLVMInitializeNVPTXTargetMC(); LLVMInitializeNVPTXTargetMC();
@@ -80,8 +78,6 @@ void init_llvm() {
LLVMInitializeAMDGPUTarget(); LLVMInitializeAMDGPUTarget();
LLVMInitializeAMDGPUTargetMC(); LLVMInitializeAMDGPUTargetMC();
LLVMInitializeAMDGPUAsmPrinter(); LLVMInitializeAMDGPUAsmPrinter();
init = true;
}
} }
@@ -169,8 +165,6 @@ std::string llir_to_ptx(llvm::Module* module, int cc, int version){
// verify and store llvm // verify and store llvm
llvm::legacy::PassManager pm; llvm::legacy::PassManager pm;
pm.add(llvm::createVerifierPass()); pm.add(llvm::createVerifierPass());
// pm.add(llvm::createDeadCodeEliminationPass());
// pm.add(llvm::createEarlyCSEPass());
pm.run(*module); pm.run(*module);
// module->print(llvm::outs(), nullptr); // module->print(llvm::outs(), nullptr);