Play-/Source/ee/EeBasicBlock.h
Jean-Philip Desjardins 93c7fdd777
Some checks are pending
Build Android / build_android (apk) (push) Waiting to run
Build Android / build_android (libretro) (push) Waiting to run
Build iOS / build_ios (push) Waiting to run
Build JavaScript / build_js (push) Waiting to run
Build Linux / build_linux (push) Waiting to run
Build Linux ARM32 / build_linux_arm32 (push) Waiting to run
Build Linux ARM64 / build_linux_arm64 (push) Waiting to run
Build macOS / build_macos (push) Waiting to run
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Waiting to run
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Waiting to run
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Waiting to run
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Waiting to run
Check Format / run_clangformat (push) Waiting to run
Add idle loop block tagging.
2025-01-14 10:53:33 -05:00

24 lines
556 B
C++

#pragma once
#include "BasicBlock.h"
class CEeBasicBlock : public CBasicBlock
{
public:
using CBasicBlock::CBasicBlock;
void SetFpRoundingMode(Jitter::CJitter::ROUNDINGMODE);
void SetIsIdleLoopBlock();
protected:
void CompileProlog(CMipsJitter*) override;
void CompileEpilog(CMipsJitter*, bool) override;
private:
bool IsCodeIdleLoopBlock() const;
static constexpr auto DEFAULT_FP_ROUNDING_MODE = Jitter::CJitter::ROUND_TRUNCATE;
Jitter::CJitter::ROUNDINGMODE m_fpRoundingMode = DEFAULT_FP_ROUNDING_MODE;
bool m_isIdleLoopBlock = false;
};