From e3e04ffa22f11cb9b7fcb55ec91daad34137d61d Mon Sep 17 00:00:00 2001 From: Laytan Laats Date: Tue, 16 Apr 2024 17:52:44 +0200 Subject: [PATCH] llvm-18: enable sroa and static map calls --- src/build_settings.cpp | 2 ++ src/llvm_backend.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/build_settings.cpp b/src/build_settings.cpp index 9b8531e12..c01309b35 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -2027,10 +2027,12 @@ gb_internal void init_build_context(TargetMetrics *cross_target, Subtarget subta bc->optimization_level = gb_clamp(bc->optimization_level, -1, 3); + #if LLVM_VERSION_MAJOR != 18 if (bc->metrics.os != TargetOs_windows) { // ENFORCE DYNAMIC MAP CALLS bc->dynamic_map_calls = true; } + #endif bc->ODIN_VALGRIND_SUPPORT = false; if (build_context.metrics.os != TargetOs_windows) { diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index be800a53f..03c17a8bb 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -1640,6 +1640,7 @@ inferattrs, function( lower-expect, simplifycfg, + sroa, early-cse<> ), ipsccp, @@ -1661,6 +1662,7 @@ cgscc( inline, function-attrs, function( + sroa, early-cse, speculative-execution, jump-threading, @@ -1688,6 +1690,7 @@ cgscc( loop-deletion, loop-unroll-full ), + sroa, vector-combine, mldst-motion, gvn<>, @@ -1737,6 +1740,7 @@ function( instcombine, loop-unroll, transform-warning, + sroa, infer-alignment, instcombine, loop-mssa( @@ -1896,6 +1900,7 @@ inferattrs, function( lower-expect, simplifycfg, + sroa, early-cse<> ), ipsccp, @@ -1917,6 +1922,7 @@ cgscc( inline, function-attrs, function( + sroa, early-cse, speculative-execution, jump-threading, @@ -1945,6 +1951,7 @@ cgscc( loop-deletion, loop-unroll-full ), + sroa, vector-combine, mldst-motion, gvn<>, @@ -1994,6 +2001,7 @@ function( instcombine, loop-unroll, transform-warning, + sroa, infer-alignment, instcombine, loop-mssa( @@ -2157,6 +2165,7 @@ inferattrs, function( lower-expect, simplifycfg, + sroa, early-cse<>, callsite-splitting ), @@ -2178,6 +2187,7 @@ cgscc( function-attrs, argpromotion, function( + sroa, early-cse, speculative-execution, jump-threading, @@ -2206,6 +2216,7 @@ cgscc( loop-deletion, loop-unroll-full ), + sroa, vector-combine, mldst-motion, gvn<>, @@ -2254,6 +2265,7 @@ function( instcombine, loop-unroll, transform-warning, + sroa, infer-alignment, instcombine, loop-mssa(licm),