#ifndef PS2RECOMP_ANALYSIS_PASSES_H #define PS2RECOMP_ANALYSIS_PASSES_H #include "ps2recomp/types.h" #include #include #include #include #include #include #include namespace ps2recomp { class AnalysisPasses { public: static bool hasHardwareIOSignal(const std::vector &instructions); static bool hasLargeComplexMMISignal(const std::vector &instructions, size_t largeInstructionThreshold = 500); static bool hasSelfModifyingSignal(const std::vector &instructions, const std::vector
§ions); static std::vector detectJumpTables( const std::vector &instructions, const std::vector
§ions, const std::function &readWord); static std::unordered_set findRecursiveFunctions( const std::unordered_map> &callGraph); }; } #endif // PS2RECOMP_ANALYSIS_PASSES_H