aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_opt.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-03-29 16:51:06 +0100
committergingerBill <bill@gingerbill.org>2021-03-29 16:51:06 +0100
commit8fcc6ca4647b98ef81292e598237297326018059 (patch)
tree1c468b38e23222a91bb9c65a80671d1e82c8f22e /src/llvm_backend_opt.cpp
parentfaa0240900b0e254f44fa54e604beacbf4890c0d (diff)
Add `LLVM_USE_NO_EXTRA_PASSES` build flag
Diffstat (limited to 'src/llvm_backend_opt.cpp')
-rw-r--r--src/llvm_backend_opt.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/llvm_backend_opt.cpp b/src/llvm_backend_opt.cpp
index 97da50d1b..18b52b0a9 100644
--- a/src/llvm_backend_opt.cpp
+++ b/src/llvm_backend_opt.cpp
@@ -1,7 +1,12 @@
+#ifndef LLVM_USE_NO_EXTRA_PASSES
+#define LLVM_USE_NO_EXTRA_PASSES 0
+#endif
+
#ifndef LLVM_USE_BASIC_PASSES
-#define LLVM_USE_BASIC_PASSES 0
+#define LLVM_USE_BASIC_PASSES LLVM_USE_NO_EXTRA_PASSES
#endif
+
void lb_populate_function_pass_manager(LLVMPassManagerRef fpm, bool ignore_memcpy_pass, i32 optimization_level) {
// NOTE(bill): Treat -opt:3 as if it was -opt:2
// TODO(bill): Determine which opt definitions should exist in the first place
@@ -111,6 +116,9 @@ void lb_populate_module_pass_manager(LLVMTargetMachineRef target_machine, LLVMPa
if (LLVM_USE_BASIC_PASSES) {
optimization_level = 0;
}
+ if (LLVM_USE_NO_EXTRA_PASSES) {
+ return;
+ }
LLVMAddAlwaysInlinerPass(mpm);
LLVMAddStripDeadPrototypesPass(mpm);