aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
diff options
context:
space:
mode:
authorLaytan Laats <laytanlaats@hotmail.com>2024-04-16 17:52:44 +0200
committerLaytan Laats <laytanlaats@hotmail.com>2024-05-07 16:52:46 +0200
commite3e04ffa22f11cb9b7fcb55ec91daad34137d61d (patch)
tree66c20e9452f794a000b86ee759a7c068ab23e851 /src/llvm_backend.cpp
parent043dd98e91f40ef8a3980667d83dd69db8f7b8de (diff)
llvm-18: enable sroa and static map calls
Diffstat (limited to 'src/llvm_backend.cpp')
-rw-r--r--src/llvm_backend.cpp12
1 files changed, 12 insertions, 0 deletions
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<eager-inv>(
lower-expect,
simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;no-switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch>,
+ sroa<modify-cfg>,
early-cse<>
),
ipsccp,
@@ -1661,6 +1662,7 @@ cgscc(
inline,
function-attrs<skip-non-recursive-function-attrs>,
function<eager-inv;no-rerun>(
+ sroa<modify-cfg>,
early-cse<memssa>,
speculative-execution<only-if-divergent-target>,
jump-threading,
@@ -1688,6 +1690,7 @@ cgscc(
loop-deletion,
loop-unroll-full
),
+ sroa<modify-cfg>,
vector-combine,
mldst-motion<no-split-footer-bb>,
gvn<>,
@@ -1737,6 +1740,7 @@ function<eager-inv>(
instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,
loop-unroll<O2>,
transform-warning,
+ sroa<preserve-cfg>,
infer-alignment,
instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,
loop-mssa(
@@ -1896,6 +1900,7 @@ inferattrs,
function<eager-inv>(
lower-expect,
simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;no-switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch>,
+ sroa<modify-cfg>,
early-cse<>
),
ipsccp,
@@ -1917,6 +1922,7 @@ cgscc(
inline,
function-attrs<skip-non-recursive-function-attrs>,
function<eager-inv;no-rerun>(
+ sroa<modify-cfg>,
early-cse<memssa>,
speculative-execution<only-if-divergent-target>,
jump-threading,
@@ -1945,6 +1951,7 @@ cgscc(
loop-deletion,
loop-unroll-full
),
+ sroa<modify-cfg>,
vector-combine,
mldst-motion<no-split-footer-bb>,
gvn<>,
@@ -1994,6 +2001,7 @@ function<eager-inv>(
instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,
loop-unroll<O2>,
transform-warning,
+ sroa<modify-cfg>,
infer-alignment,
instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,
loop-mssa(
@@ -2157,6 +2165,7 @@ inferattrs,
function<eager-inv>(
lower-expect,
simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;no-switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch>,
+ sroa<modify-cfg>,
early-cse<>,
callsite-splitting
),
@@ -2178,6 +2187,7 @@ cgscc(
function-attrs<skip-non-recursive-function-attrs>,
argpromotion,
function<eager-inv;no-rerun>(
+ sroa<modify-cfg>,
early-cse<memssa>,
speculative-execution<only-if-divergent-target>,
jump-threading,
@@ -2206,6 +2216,7 @@ cgscc(
loop-deletion,
loop-unroll-full
),
+ sroa<modify-cfg>,
vector-combine,
mldst-motion<no-split-footer-bb>,
gvn<>,
@@ -2254,6 +2265,7 @@ function<eager-inv>(
instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,
loop-unroll<O3>,
transform-warning,
+ sroa<preserve-cfg>,
infer-alignment,
instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,
loop-mssa(licm<allowspeculation>),