mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-07-25 00:04:49 +02:00
Basically to allow slow/fast memory to work with IR, including for alignment checks.
18 lines
1.0 KiB
C
18 lines
1.0 KiB
C
#pragma once
|
|
|
|
#include "Core/MIPS/IR/IRInst.h"
|
|
|
|
typedef bool (*IRPassFunc)(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool IRApplyPasses(const IRPassFunc *passes, size_t c, const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
|
|
// Block optimizer passes of varying usefulness.
|
|
bool RemoveLoadStoreLeftRight(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool PropagateConstants(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool PurgeTemps(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool ReduceLoads(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool ThreeOpToTwoOp(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool OptimizeFPMoves(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool ReorderLoadStore(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool MergeLoadStore(const IRWriter &in, IRWriter &out, const IROptions &opts);
|
|
bool ApplyMemoryValidation(const IRWriter &in, IRWriter &out, const IROptions &opts);
|