Backend/A64: add Polyfill optimization
This commit is contained in:
parent
6aea986fb2
commit
a4fc791ae8
@ -50,6 +50,7 @@ struct Jit::Impl {
|
|||||||
A32JitState jit_state;
|
A32JitState jit_state;
|
||||||
BlockOfCode block_of_code;
|
BlockOfCode block_of_code;
|
||||||
A32EmitA64 emitter;
|
A32EmitA64 emitter;
|
||||||
|
Optimization::PolyfillOptions polyfill_options;
|
||||||
|
|
||||||
const A32::UserConfig config;
|
const A32::UserConfig config;
|
||||||
|
|
||||||
@ -148,6 +149,7 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
IR::Block ir_block = A32::Translate(A32::LocationDescriptor{descriptor}, config.callbacks, {config.arch_version, config.define_unpredictable_behaviour, config.hook_hint_instructions});
|
IR::Block ir_block = A32::Translate(A32::LocationDescriptor{descriptor}, config.callbacks, {config.arch_version, config.define_unpredictable_behaviour, config.hook_hint_instructions});
|
||||||
|
Optimization::PolyfillPass(ir_block, polyfill_options);
|
||||||
if (config.HasOptimization(OptimizationFlag::GetSetElimination)) {
|
if (config.HasOptimization(OptimizationFlag::GetSetElimination)) {
|
||||||
Optimization::A32GetSetElimination(ir_block);
|
Optimization::A32GetSetElimination(ir_block);
|
||||||
Optimization::DeadCodeElimination(ir_block);
|
Optimization::DeadCodeElimination(ir_block);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user