glsl: Rework var alloc to not assign unused results

This commit is contained in:
ameerj 2021-05-30 19:13:22 -04:00
parent 1269a0cf8b
commit 9f3ffb996b
9 changed files with 91 additions and 49 deletions

View file

@ -62,9 +62,15 @@ public:
bool uses_temp{};
};
/// Used for explicit usages of variables, may revert to temporaries
std::string Define(IR::Inst& inst, GlslVarType type);
std::string Define(IR::Inst& inst, IR::Type type);
/// Used to assign variables used by the IR. May return a blank string if
/// the instruction's result is unused in the IR.
std::string AddDefine(IR::Inst& inst, GlslVarType type);
std::string PhiDefine(IR::Inst& inst, IR::Type type);
std::string Consume(const IR::Value& value);
std::string ConsumeInst(IR::Inst& inst);