Browse Source

Experiment with different opt passes

gingerBill 4 years ago
parent
commit
46c5c7d1ec
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/llvm_backend_opt.cpp

+ 2 - 1
src/llvm_backend_opt.cpp

@@ -108,10 +108,11 @@ void lb_populate_module_pass_manager(LLVMTargetMachineRef target_machine, LLVMPa
 	if (optimization_level >= 2) {
 	if (optimization_level >= 2) {
 		// NOTE(bill, 2021-03-29: use this causes invalid code generation)
 		// NOTE(bill, 2021-03-29: use this causes invalid code generation)
 		LLVMPassManagerBuilderRef pmb = LLVMPassManagerBuilderCreate();
 		LLVMPassManagerBuilderRef pmb = LLVMPassManagerBuilderCreate();
+		LLVMPassManagerBuilderSetOptLevel(pmb, optimization_level);
 		LLVMPassManagerBuilderPopulateModulePassManager(pmb, mpm);
 		LLVMPassManagerBuilderPopulateModulePassManager(pmb, mpm);
 		LLVMPassManagerBuilderPopulateLTOPassManager(pmb, mpm, false, true);
 		LLVMPassManagerBuilderPopulateLTOPassManager(pmb, mpm, false, true);
-		LLVMPassManagerBuilderSetOptLevel(pmb, optimization_level);
 		// LLVMPassManagerBuilderSetSizeLevel(pmb, optimization_level);
 		// LLVMPassManagerBuilderSetSizeLevel(pmb, optimization_level);
+		return;
 	}
 	}
 
 
 	LLVMAddIPSCCPPass(mpm);
 	LLVMAddIPSCCPPass(mpm);