From 8c20ac1bf052851c0547b77bfacb13bb53265b8c Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 29 Mar 2021 14:55:37 +0100 Subject: [PATCH] Add optional `LLVM_USE_BASIC_PASSES` build flag. If evaluates to a truthy value, it will be do only basic passes for -llvm-api --- src/llvm_backend_opt.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/llvm_backend_opt.cpp b/src/llvm_backend_opt.cpp index 395ee2fce..0c53a01aa 100644 --- a/src/llvm_backend_opt.cpp +++ b/src/llvm_backend_opt.cpp @@ -1,8 +1,12 @@ +#ifndef LLVM_USE_BASIC_PASSES +#define LLVM_USE_BASIC_PASSES 0 +#endif + void lb_populate_function_pass_manager(LLVMPassManagerRef fpm, bool ignore_memcpy_pass) { if (!ignore_memcpy_pass) { LLVMAddMemCpyOptPass(fpm); } - if (build_context.optimization_level == 0) { + if (LLVM_USE_BASIC_PASSES || build_context.optimization_level == 0) { LLVMAddPromoteMemoryToRegisterPass(fpm); LLVMAddMergedLoadStoreMotionPass(fpm); LLVMAddEarlyCSEPass(fpm); @@ -95,7 +99,7 @@ void lb_populate_module_pass_manager(LLVMTargetMachineRef target_machine, LLVMPa LLVMAddStripDeadPrototypesPass(mpm); LLVMAddAnalysisPasses(target_machine, mpm); LLVMAddPruneEHPass(mpm); - if (build_context.optimization_level == 0) { + if (LLVM_USE_BASIC_PASSES || build_context.optimization_level == 0) { // LLVMAddMergeFunctionsPass(mpm); return; }