From e82b0ea4cd1b8c750b517eee806ea4ae1e2b21a6 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 21 Sep 2023 09:48:53 +0100 Subject: Add `-o:aggressive` for LLVM 17 --- src/main.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 3d2dd3c44..706bbab87 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -664,12 +664,18 @@ gb_internal bool parse_build_flags(Array args) { } else if (value.value_string == "speed") { build_context.custom_optimization_level = true; build_context.optimization_level = 2; + } else if (value.value_string == "aggressive" && LB_USE_NEW_PASS_SYSTEM) { + build_context.custom_optimization_level = true; + build_context.optimization_level = 3; } else { gb_printf_err("Invalid optimization mode for -o:, got %.*s\n", LIT(value.value_string)); gb_printf_err("Valid optimization modes:\n"); gb_printf_err("\tminimal\n"); gb_printf_err("\tsize\n"); gb_printf_err("\tspeed\n"); + if (LB_USE_NEW_PASS_SYSTEM) { + gb_printf_err("\taggressive\n"); + } gb_printf_err("\tnone (useful for -debug builds)\n"); bad_flags = true; } @@ -1668,8 +1674,13 @@ gb_internal void print_show_help(String const arg0, String const &command) { print_usage_line(1, "-o:"); print_usage_line(2, "Set the optimization mode for compilation"); - print_usage_line(2, "Accepted values: minimal, size, speed, none"); + if (LB_USE_NEW_PASS_SYSTEM) { + print_usage_line(2, "Accepted values: none, minimal, size, speed, aggressive"); + } else { + print_usage_line(2, "Accepted values: none, minimal, size, speed"); + } print_usage_line(2, "Example: -o:speed"); + print_usage_line(2, "The default is -o:minimal"); print_usage_line(0, ""); } @@ -1948,6 +1959,15 @@ gb_internal void print_show_help(String const arg0, String const &command) { } + if (run_or_build) { + print_usage_line(1, "-sanitize:"); + print_usage_line(1, "Enables sanitization analysis"); + print_usage_line(1, "Options are 'address', 'memory', and 'thread'"); + print_usage_line(1, "NOTE: This flag can be used multiple times"); + print_usage_line(0, ""); + + } + if (run_or_build) { #if defined(GB_SYSTEM_WINDOWS) print_usage_line(1, "-ignore-vs-search"); -- cgit v1.2.3