std::vector<Variable> variables;
std::vector<Constant> spec_constants;
std::vector<InstructionBlock> blocks;
std::vector<Variable> variables;
std::vector<Constant> spec_constants;
std::vector<InstructionBlock> blocks;
const std::vector<Variable> &get_variables() const { return variables; }
const std::vector<Constant> &get_spec_constants() const { return spec_constants; }
const std::vector<InstructionBlock> &get_blocks() const { return blocks; }
const std::vector<Variable> &get_variables() const { return variables; }
const std::vector<Constant> &get_spec_constants() const { return spec_constants; }
const std::vector<InstructionBlock> &get_blocks() const { return blocks; }
/** Creates a new module which is a specialized version of this one. */
SpirVModule *specialize(const std::map<std::string, int> &) const;
/** Creates a new module which is a specialized version of this one. */
SpirVModule *specialize(const std::map<std::string, int> &) const;