Struct Compiler::AnalyzeVariableScopeAccessHandler
Defined in File spirv_cross.hpp
Nested Relationships
This struct is a nested type of Class Compiler.
Inheritance Relationships
Base Type
public SPIRV_CROSS_NAMESPACE::Compiler::OpcodeHandler
(Struct Compiler::OpcodeHandler)
Struct Documentation
-
struct AnalyzeVariableScopeAccessHandler : public SPIRV_CROSS_NAMESPACE::Compiler::OpcodeHandler
Public Functions
-
AnalyzeVariableScopeAccessHandler(Compiler &compiler_, SPIRFunction &entry_)
-
virtual bool follow_function_call(const SPIRFunction&) override
-
virtual void set_current_block(const SPIRBlock &block) override
-
void notify_variable_access(uint32_t id, uint32_t block)
-
bool id_is_phi_variable(uint32_t id) const
-
bool id_is_potential_temporary(uint32_t id) const
-
virtual bool handle(spv::Op op, const uint32_t *args, uint32_t length) override
-
virtual bool handle_terminator(const SPIRBlock &block) override
Public Members
-
Compiler &compiler
-
SPIRFunction &entry
-
std::unordered_map<uint32_t, std::unordered_set<uint32_t>> accessed_variables_to_block
-
std::unordered_map<uint32_t, std::unordered_set<uint32_t>> accessed_temporaries_to_block
-
std::unordered_map<uint32_t, uint32_t> result_id_to_type
-
std::unordered_map<uint32_t, std::unordered_set<uint32_t>> complete_write_variables_to_block
-
std::unordered_map<uint32_t, std::unordered_set<uint32_t>> partial_write_variables_to_block
-
std::unordered_set<uint32_t> access_chain_expressions
-
std::unordered_map<uint32_t, std::unordered_set<uint32_t>> rvalue_forward_children
-
const SPIRBlock *current_block = nullptr
-
AnalyzeVariableScopeAccessHandler(Compiler &compiler_, SPIRFunction &entry_)