[dynarmic] add back A64 identity pass (#3519)
results in way better codegen (less noise for movs and all dat) i think it was removed by accident by me, oops Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3519 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
parent
d0af14632e
commit
634686d59b
|
|
@ -1472,11 +1472,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)) [[likely]] {
|
||||
if (conf.HasOptimization(OptimizationFlag::GetSetElimination)) {
|
||||
Optimization::A32GetSetElimination(block, {.convert_nzc_to_nz = true});
|
||||
Optimization::DeadCodeElimination(block);
|
||||
}
|
||||
if (conf.HasOptimization(OptimizationFlag::ConstProp)) [[likely]] {
|
||||
if (conf.HasOptimization(OptimizationFlag::ConstProp)) {
|
||||
Optimization::ConstantMemoryReads(block, conf.callbacks);
|
||||
Optimization::ConstantPropagation(block);
|
||||
Optimization::DeadCodeElimination(block);
|
||||
|
|
@ -1491,17 +1491,18 @@ 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) [[likely]] {
|
||||
if (conf.HasOptimization(OptimizationFlag::GetSetElimination) && !conf.check_halt_on_memory_access) {
|
||||
Optimization::A64GetSetElimination(block);
|
||||
Optimization::DeadCodeElimination(block);
|
||||
}
|
||||
if (conf.HasOptimization(OptimizationFlag::ConstProp)) [[likely]] {
|
||||
if (conf.HasOptimization(OptimizationFlag::ConstProp)) {
|
||||
Optimization::ConstantPropagation(block);
|
||||
Optimization::DeadCodeElimination(block);
|
||||
}
|
||||
if (conf.HasOptimization(OptimizationFlag::MiscIROpt)) [[likely]] {
|
||||
if (conf.HasOptimization(OptimizationFlag::MiscIROpt)) {
|
||||
Optimization::A64MergeInterpretBlocksPass(block, conf.callbacks);
|
||||
}
|
||||
Optimization::IdentityRemovalPass(block);
|
||||
if (!conf.HasOptimization(OptimizationFlag::DisableVerification)) {
|
||||
Optimization::VerificationPass(block);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue