From c59ef7d9d01926b639722314b2a58b6e0ac9daf5 Mon Sep 17 00:00:00 2001 From: Merry Date: Sun, 21 Jan 2024 17:16:14 +0000 Subject: [PATCH] arm/dynarmic: Add cpuopt_multiblock_compilation configuration option --- src/common/settings.h | 2 ++ src/core/arm/dynarmic/dynarmic_settings.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/common/settings.h b/src/common/settings.h index 07dba53aba..fefb2e555a 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -218,6 +218,8 @@ struct Values { Category::CpuDebug}; Setting cpuopt_ignore_memory_aborts{linkage, true, "cpuopt_ignore_memory_aborts", Category::CpuDebug}; + Setting cpuopt_multiblock_compilation{linkage, true, "cpuopt_multiblock_compilation", + Category::CpuDebug}; SwitchableSetting cpuopt_unsafe_unfuse_fma{linkage, true, "cpuopt_unsafe_unfuse_fma", Category::CpuUnsafe}; diff --git a/src/core/arm/dynarmic/dynarmic_settings.h b/src/core/arm/dynarmic/dynarmic_settings.h index 7a5be50b39..d31b179344 100644 --- a/src/core/arm/dynarmic/dynarmic_settings.h +++ b/src/core/arm/dynarmic/dynarmic_settings.h @@ -42,6 +42,9 @@ void ConfigureOptimizationSettings(Config& config) { if (!Settings::values.cpuopt_misc_ir) { config.optimizations &= ~Dynarmic::OptimizationFlag::MiscIROpt; } + if (!Settings::values.cpuopt_multiblock_compilation) { + config.optimizations &= ~Dynarmic::OptimizationFlag::MultiBlockCompilation; + } if (!Settings::values.cpuopt_reduce_misalign_checks) { config.only_detect_misalignment_via_page_table_on_page_boundary = false; }