CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
hrydgard

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: hrydgard/ppsspp
Path: blob/master/Core/MIPS/IR/IRPassSimplify.h
Views: 1401
1
#pragma once
2
3
#include "Core/MIPS/IR/IRInst.h"
4
5
typedef bool (*IRPassFunc)(const IRWriter &in, IRWriter &out, const IROptions &opts);
6
bool IRApplyPasses(const IRPassFunc *passes, size_t c, const IRWriter &in, IRWriter &out, const IROptions &opts);
7
8
// Block optimizer passes of varying usefulness.
9
bool RemoveLoadStoreLeftRight(const IRWriter &in, IRWriter &out, const IROptions &opts);
10
bool PropagateConstants(const IRWriter &in, IRWriter &out, const IROptions &opts);
11
bool PurgeTemps(const IRWriter &in, IRWriter &out, const IROptions &opts);
12
bool ReduceLoads(const IRWriter &in, IRWriter &out, const IROptions &opts);
13
bool ThreeOpToTwoOp(const IRWriter &in, IRWriter &out, const IROptions &opts);
14
bool OptimizeFPMoves(const IRWriter &in, IRWriter &out, const IROptions &opts);
15
bool ReorderLoadStore(const IRWriter &in, IRWriter &out, const IROptions &opts);
16
bool MergeLoadStore(const IRWriter &in, IRWriter &out, const IROptions &opts);
17
bool ApplyMemoryValidation(const IRWriter &in, IRWriter &out, const IROptions &opts);
18
bool ReduceVec4Flush(const IRWriter &in, IRWriter &out, const IROptions &opts);
19
20
bool OptimizeLoadsAfterStores(const IRWriter &in, IRWriter &out, const IROptions &opts);
21
bool OptimizeForInterpreter(const IRWriter &in, IRWriter &out, const IROptions &opts);
22
23