-internal-llvm-mem2reg

This commit is contained in:
gingerBill
2026-03-15 22:04:27 +00:00
parent 5d165f70e1
commit b3b31cdba7
3 changed files with 9 additions and 0 deletions

View File

@@ -577,6 +577,7 @@ struct BuildContext {
bool internal_by_value;
bool internal_weak_monomorphization;
bool internal_ignore_llvm_verification;
bool internal_llvm_mem2reg;
bool no_threaded_checker;

View File

@@ -4,6 +4,9 @@
break;
case 0:
array_add(&passes, "always-inline");
if (build_context.internal_llvm_mem2reg) {
array_add(&passes, "function<eager-inv>(mem2reg)");
}
array_add(&passes, "function(annotation-remarks)");
break;
case 1:

View File

@@ -411,6 +411,7 @@ enum BuildFlagKind {
BuildFlag_InternalByValue,
BuildFlag_InternalWeakMonomorphization,
BuildFlag_InternalLLVMVerification,
BuildFlag_InternalLLVMMem2Reg,
BuildFlag_Tilde,
@@ -642,6 +643,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_InternalByValue, str_lit("internal-by-value"), BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_InternalWeakMonomorphization, str_lit("internal-weak-monomorphization"), BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_InternalLLVMVerification, str_lit("internal-ignore-llvm-verification"), BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_InternalLLVMMem2Reg, str_lit("internal-llvm-mem2reg"), BuildFlagParam_None, Command_all);
#if ALLOW_TILDE
add_flag(&build_flags, BuildFlag_Tilde, str_lit("tilde"), BuildFlagParam_None, Command__does_build);
@@ -1634,6 +1636,9 @@ gb_internal bool parse_build_flags(Array<String> args) {
case BuildFlag_InternalLLVMVerification:
build_context.internal_ignore_llvm_verification = true;
break;
case BuildFlag_InternalLLVMMem2Reg:
build_context.internal_llvm_mem2reg = true;
break;
case BuildFlag_Tilde: