This commit causes Sonic x Shadow Generations to crash on boot.
This commit is contained in:
John 2026-02-13 06:43:15 +01:00 committed by crueter
parent 07bc77c7e7
commit d96f981be4
1 changed files with 5 additions and 6 deletions

View File

@ -1477,11 +1477,11 @@ static void VerificationPass(const IR::Block& block) {
void Optimize(IR::Block& block, const A32::UserConfig& conf, const Optimization::PolyfillOptions& polyfill_options) {
Optimization::PolyfillPass(block, polyfill_options);
Optimization::NamingPass(block);
if (conf.HasOptimization(OptimizationFlag::GetSetElimination)) {
if (conf.HasOptimization(OptimizationFlag::GetSetElimination)) [[likely]] {
Optimization::A32GetSetElimination(block, {.convert_nzc_to_nz = true});
Optimization::DeadCodeElimination(block);
}
if (conf.HasOptimization(OptimizationFlag::ConstProp)) {
if (conf.HasOptimization(OptimizationFlag::ConstProp)) [[likely]] {
Optimization::ConstantMemoryReads(block, conf.callbacks);
Optimization::ConstantPropagation(block);
Optimization::DeadCodeElimination(block);
@ -1496,18 +1496,17 @@ void Optimize(IR::Block& block, const A64::UserConfig& conf, const Optimization:
Optimization::PolyfillPass(block, polyfill_options);
Optimization::A64CallbackConfigPass(block, conf);
Optimization::NamingPass(block);
if (conf.HasOptimization(OptimizationFlag::GetSetElimination) && !conf.check_halt_on_memory_access) {
if (conf.HasOptimization(OptimizationFlag::GetSetElimination) && !conf.check_halt_on_memory_access) [[likely]] {
Optimization::A64GetSetElimination(block);
Optimization::DeadCodeElimination(block);
}
if (conf.HasOptimization(OptimizationFlag::ConstProp)) {
if (conf.HasOptimization(OptimizationFlag::ConstProp)) [[likely]] {
Optimization::ConstantPropagation(block);
Optimization::DeadCodeElimination(block);
}
if (conf.HasOptimization(OptimizationFlag::MiscIROpt)) {
if (conf.HasOptimization(OptimizationFlag::MiscIROpt)) [[likely]] {
Optimization::A64MergeInterpretBlocksPass(block, conf.callbacks);
}
Optimization::IdentityRemovalPass(block);
if (!conf.HasOptimization(OptimizationFlag::DisableVerification)) {
Optimization::VerificationPass(block);
}