diff options
| author | gingerBill <bill@gingerbill.org> | 2021-09-11 16:53:18 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-09-11 16:53:18 +0100 |
| commit | e3359a2639fdcba83d9ba7b43fefeaf1915f8f26 (patch) | |
| tree | ba8c2f022f0d2b6da4467ab82238e055c4652c5c /src/llvm_backend_opt.cpp | |
| parent | 344abf2cb2e9c1b27d6e786618aed633f72b89af (diff) | |
Prepare for LLVM 12.0.1 compatibility
Diffstat (limited to 'src/llvm_backend_opt.cpp')
| -rw-r--r-- | src/llvm_backend_opt.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/llvm_backend_opt.cpp b/src/llvm_backend_opt.cpp index 213005f8f..b3f1fbb95 100644 --- a/src/llvm_backend_opt.cpp +++ b/src/llvm_backend_opt.cpp @@ -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); |