Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hrydgard
GitHub Repository: hrydgard/ppsspp
Path: blob/master/Core/MIPS/IR/IRPassSimplify.h
3188 views
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