2
0
Эх сурвалжийг харах

Add `LLVMAddMergedLoadStoreMotionPass` on `-debug -opt:0`

gingerBill 3 жил өмнө
parent
commit
51dcbc80c3

+ 6 - 10
src/llvm_backend_opt.cpp

@@ -57,17 +57,13 @@ LLVMBool lb_must_preserve_predicate_callback(LLVMValueRef value, void *user_data
 
 
 void lb_basic_populate_function_pass_manager(LLVMPassManagerRef fpm, i32 optimization_level) {
 void lb_basic_populate_function_pass_manager(LLVMPassManagerRef fpm, i32 optimization_level) {
 	if (optimization_level == 0 && build_context.ODIN_DEBUG) {
 	if (optimization_level == 0 && build_context.ODIN_DEBUG) {
-		return;
+		LLVMAddMergedLoadStoreMotionPass(fpm);
+	} else {
+		LLVMAddPromoteMemoryToRegisterPass(fpm);
+		LLVMAddMergedLoadStoreMotionPass(fpm);
+		LLVM_ADD_CONSTANT_VALUE_PASS(fpm);
+		LLVMAddEarlyCSEPass(fpm);
 	}
 	}
-	LLVMAddPromoteMemoryToRegisterPass(fpm);
-	LLVMAddMergedLoadStoreMotionPass(fpm);
-	LLVM_ADD_CONSTANT_VALUE_PASS(fpm);
-	LLVMAddEarlyCSEPass(fpm);
-
-	// LLVM_ADD_CONSTANT_VALUE_PASS(fpm);
-	// LLVMAddMergedLoadStoreMotionPass(fpm);
-	// LLVMAddPromoteMemoryToRegisterPass(fpm);
-	// LLVMAddCFGSimplificationPass(fpm);
 }
 }
 
 
 void lb_populate_function_pass_manager(lbModule *m, LLVMPassManagerRef fpm, bool ignore_memcpy_pass, i32 optimization_level) {
 void lb_populate_function_pass_manager(lbModule *m, LLVMPassManagerRef fpm, bool ignore_memcpy_pass, i32 optimization_level) {