summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/simplification_pass.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-tools/source/opt/simplification_pass.h')
-rw-r--r--3rdparty/bgfx/3rdparty/spirv-tools/source/opt/simplification_pass.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/simplification_pass.h b/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/simplification_pass.h
index bcb88bfcd3f..149874b0944 100644
--- a/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/simplification_pass.h
+++ b/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/simplification_pass.h
@@ -42,6 +42,14 @@ class SimplificationPass : public Pass {
// instruction in |function| until nothing else in the function can be
// simplified.
bool SimplifyFunction(Function* function);
+
+ // FactorAddMul can create |folded_inst| Mul of new Add. If Mul, push any Add
+ // operand not in |seen_inst| into |worklist|. This is heavily restricted to
+ // improve compile time but can be expanded for future simplifications which
+ // simiarly create new operations.
+ void AddNewOperands(Instruction* folded_inst,
+ std::unordered_set<Instruction*>* inst_seen,
+ std::vector<Instruction*>* work_list);
};
} // namespace opt