mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-19 21:10:30 +00:00
Prepare for LLVM 12.0.1 compatibility
This commit is contained in:
@@ -21,13 +21,19 @@ void lb_add_must_preserve_predicate_pass(lbModule *m, LLVMPassManagerRef fpm, i3
|
||||
}
|
||||
|
||||
|
||||
#if LLVM_VERSION_MAJOR < 12
|
||||
#define LLVM_ADD_CONSTNAT_VALUE_PASS LLVMAddConstantPropagationPass
|
||||
#else
|
||||
#define LLVM_ADD_CONSTNAT_VALUE_PASS LLVMAddCorrelatedValuePropagationPass
|
||||
#endif
|
||||
|
||||
void lb_basic_populate_function_pass_manager(LLVMPassManagerRef fpm) {
|
||||
LLVMAddPromoteMemoryToRegisterPass(fpm);
|
||||
LLVMAddMergedLoadStoreMotionPass(fpm);
|
||||
LLVMAddConstantPropagationPass(fpm);
|
||||
LLVM_ADD_CONSTNAT_VALUE_PASS(fpm);
|
||||
LLVMAddEarlyCSEPass(fpm);
|
||||
|
||||
LLVMAddConstantPropagationPass(fpm);
|
||||
LLVM_ADD_CONSTNAT_VALUE_PASS(fpm);
|
||||
LLVMAddMergedLoadStoreMotionPass(fpm);
|
||||
LLVMAddPromoteMemoryToRegisterPass(fpm);
|
||||
LLVMAddCFGSimplificationPass(fpm);
|
||||
@@ -58,10 +64,10 @@ void lb_populate_function_pass_manager(lbModule *m, LLVMPassManagerRef fpm, bool
|
||||
LLVMAddMemCpyOptPass(fpm);
|
||||
LLVMAddPromoteMemoryToRegisterPass(fpm);
|
||||
LLVMAddMergedLoadStoreMotionPass(fpm);
|
||||
LLVMAddConstantPropagationPass(fpm);
|
||||
LLVM_ADD_CONSTNAT_VALUE_PASS(fpm);
|
||||
LLVMAddEarlyCSEPass(fpm);
|
||||
|
||||
LLVMAddConstantPropagationPass(fpm);
|
||||
LLVM_ADD_CONSTNAT_VALUE_PASS(fpm);
|
||||
LLVMAddMergedLoadStoreMotionPass(fpm);
|
||||
LLVMAddPromoteMemoryToRegisterPass(fpm);
|
||||
LLVMAddCFGSimplificationPass(fpm);
|
||||
@@ -99,10 +105,10 @@ void lb_populate_function_pass_manager_specific(lbModule *m, LLVMPassManagerRef
|
||||
LLVMAddMemCpyOptPass(fpm);
|
||||
LLVMAddPromoteMemoryToRegisterPass(fpm);
|
||||
LLVMAddMergedLoadStoreMotionPass(fpm);
|
||||
LLVMAddConstantPropagationPass(fpm);
|
||||
LLVM_ADD_CONSTNAT_VALUE_PASS(fpm);
|
||||
LLVMAddEarlyCSEPass(fpm);
|
||||
|
||||
LLVMAddConstantPropagationPass(fpm);
|
||||
LLVM_ADD_CONSTNAT_VALUE_PASS(fpm);
|
||||
LLVMAddMergedLoadStoreMotionPass(fpm);
|
||||
LLVMAddPromoteMemoryToRegisterPass(fpm);
|
||||
LLVMAddCFGSimplificationPass(fpm);
|
||||
@@ -159,7 +165,7 @@ void lb_add_function_simplifcation_passes(LLVMPassManagerRef mpm, i32 optimizati
|
||||
|
||||
LLVMAddInstructionCombiningPass(mpm);
|
||||
LLVMAddJumpThreadingPass(mpm);
|
||||
LLVMAddCorrelatedValuePropagationPass(mpm);
|
||||
LLVM_ADD_CONSTNAT_VALUE_PASS(mpm);
|
||||
LLVMAddDeadStoreEliminationPass(mpm);
|
||||
LLVMAddLICMPass(mpm);
|
||||
|
||||
@@ -225,7 +231,7 @@ void lb_populate_module_pass_manager(LLVMTargetMachineRef target_machine, LLVMPa
|
||||
LLVMAddInstructionCombiningPass(mpm);
|
||||
if (optimization_level >= 2) {
|
||||
LLVMAddEarlyCSEPass(mpm);
|
||||
LLVMAddCorrelatedValuePropagationPass(mpm);
|
||||
LLVM_ADD_CONSTNAT_VALUE_PASS(mpm);
|
||||
LLVMAddLICMPass(mpm);
|
||||
LLVMAddLoopUnswitchPass(mpm);
|
||||
LLVMAddCFGSimplificationPass(mpm);
|
||||
|
||||
Reference in New Issue
Block a user