mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Still want to inline the operation, because the backend shouldn't have to redo it every time, and we want the temps cleaned up if possible.
16 lines
940 B
C
16 lines
940 B
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);
|