From e3359a2639fdcba83d9ba7b43fefeaf1915f8f26 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 11 Sep 2021 16:53:18 +0100 Subject: Prepare for LLVM 12.0.1 compatibility --- src/llvm_backend_opt.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'src/llvm_backend_opt.cpp') 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); -- cgit v1.2.3