RetroArch
Public Member Functions | Public Attributes | List of all members
spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler Struct Reference

#include <spirv_cross.hpp>

Inheritance diagram for spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler:
[legend]
Collaboration diagram for spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler:
[legend]

Public Member Functions

 AnalyzeVariableScopeAccessHandler (Compiler &compiler_, SPIRFunction &entry_)
 
bool follow_function_call (const SPIRFunction &) override
 
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
 
bool handle (spv::Op op, const uint32_t *args, uint32_t length) override
 
- Public Member Functions inherited from spirv_cross::Compiler::OpcodeHandler
virtual ~OpcodeHandler ()=default
 
virtual bool begin_function_scope (const uint32_t *, uint32_t)
 
virtual bool end_function_scope (const uint32_t *, uint32_t)
 

Public Attributes

Compilercompiler
 
SPIRFunctionentry
 
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_tresult_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
 
const SPIRBlockcurrent_block = nullptr
 

Constructor & Destructor Documentation

◆ AnalyzeVariableScopeAccessHandler()

Compiler::AnalyzeVariableScopeAccessHandler::AnalyzeVariableScopeAccessHandler ( Compiler compiler_,
SPIRFunction entry_ 
)

Member Function Documentation

◆ follow_function_call()

bool Compiler::AnalyzeVariableScopeAccessHandler::follow_function_call ( const SPIRFunction )
overridevirtual

◆ handle()

bool Compiler::AnalyzeVariableScopeAccessHandler::handle ( spv::Op  op,
const uint32_t args,
uint32_t  length 
)
overridevirtual

◆ id_is_phi_variable()

bool Compiler::AnalyzeVariableScopeAccessHandler::id_is_phi_variable ( uint32_t  id) const

◆ id_is_potential_temporary()

bool Compiler::AnalyzeVariableScopeAccessHandler::id_is_potential_temporary ( uint32_t  id) const

◆ notify_variable_access()

void Compiler::AnalyzeVariableScopeAccessHandler::notify_variable_access ( uint32_t  id,
uint32_t  block 
)

◆ set_current_block()

void Compiler::AnalyzeVariableScopeAccessHandler::set_current_block ( const SPIRBlock block)
overridevirtual

Member Data Documentation

◆ accessed_temporaries_to_block

std::unordered_map<uint32_t, std::unordered_set<uint32_t> > spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler::accessed_temporaries_to_block

◆ accessed_variables_to_block

std::unordered_map<uint32_t, std::unordered_set<uint32_t> > spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler::accessed_variables_to_block

◆ compiler

Compiler& spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler::compiler

◆ complete_write_variables_to_block

std::unordered_map<uint32_t, std::unordered_set<uint32_t> > spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler::complete_write_variables_to_block

◆ current_block

const SPIRBlock* spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler::current_block = nullptr

◆ entry

SPIRFunction& spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler::entry

◆ partial_write_variables_to_block

std::unordered_map<uint32_t, std::unordered_set<uint32_t> > spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler::partial_write_variables_to_block

◆ result_id_to_type

std::unordered_map<uint32_t, uint32_t> spirv_cross::Compiler::AnalyzeVariableScopeAccessHandler::result_id_to_type

The documentation for this struct was generated from the following files: