mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 18:00:17 +02:00
If the long divides don't have anything in the upper bits then they can be optimized away. Teeworlds, SuperTuxKart, and RRootage were between 50%-55% getting removed
26 lines
872 B
C++
26 lines
872 B
C++
#pragma once
|
|
|
|
namespace FEXCore::IR {
|
|
class Pass;
|
|
class RegisterAllocationPass;
|
|
class RegisterAllocationData;
|
|
|
|
FEXCore::IR::Pass* CreateConstProp(bool InlineConstants);
|
|
FEXCore::IR::Pass* CreateContextLoadStoreElimination();
|
|
FEXCore::IR::Pass* CreateSyscallOptimization();
|
|
FEXCore::IR::Pass* CreateDeadFlagCalculationEliminination();
|
|
FEXCore::IR::Pass* CreateDeadStoreElimination();
|
|
FEXCore::IR::Pass* CreatePassDeadCodeElimination();
|
|
FEXCore::IR::Pass* CreateIRCompaction();
|
|
FEXCore::IR::RegisterAllocationPass* CreateRegisterAllocationPass(FEXCore::IR::Pass* CompactionPass, bool OptimizeSRA);
|
|
FEXCore::IR::Pass* CreateStaticRegisterAllocationPass();
|
|
FEXCore::IR::Pass* CreateLongDivideEliminationPass();
|
|
|
|
namespace Validation {
|
|
FEXCore::IR::Pass* CreateIRValidation();
|
|
FEXCore::IR::Pass* CreatePhiValidation();
|
|
FEXCore::IR::Pass* CreateValueDominanceValidation();
|
|
}
|
|
}
|
|
|