Talvos  0.1
SPIR-V interpreter and dynamic analysis framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | List of all members
talvos::ModuleBuilder Class Reference

Internal class used to construct a Module during SPIRV-Tools parsing. More...

Classes

struct  EntryPointSpec
 

Public Member Functions

void init (uint32_t IdBound)
 Initialize the module builder. More...
 
void processInstruction (const spv_parsed_instruction_t *Inst)
 Process a parsed SPIR-V instruction. More...
 
std::shared_ptr< ModulegetModule ()
 Returns the Module that has been built. More...
 

Private Attributes

std::shared_ptr< ModuleMod
 Internal ModuleBuilder variables. More...
 
std::unique_ptr< FunctionCurrentFunction
 
std::unique_ptr< BlockCurrentBlock
 
InstructionPreviousInstruction
 
std::map< uint32_t, uint32_t > ArrayStrides
 
std::map< std::pair< uint32_t,
uint32_t >, std::map< uint32_t,
uint32_t > > 
MemberDecorations
 
std::map< uint32_t,
std::vector< std::pair
< uint32_t, uint32_t > > > 
ObjectDecorations
 
std::map< uint32_t,
EntryPointSpec
EntryPoints
 

Detailed Description

Internal class used to construct a Module during SPIRV-Tools parsing.

Definition at line 29 of file Module.cpp.

Member Function Documentation

std::shared_ptr<Module> talvos::ModuleBuilder::getModule ( )
inline

Returns the Module that has been built.

Definition at line 651 of file Module.cpp.

void talvos::ModuleBuilder::init ( uint32_t  IdBound)
inline

Initialize the module builder.

Definition at line 33 of file Module.cpp.

void talvos::ModuleBuilder::processInstruction ( const spv_parsed_instruction_t *  Inst)
inline

Process a parsed SPIR-V instruction.

Definition at line 43 of file Module.cpp.

Member Data Documentation

std::map<uint32_t, uint32_t> talvos::ModuleBuilder::ArrayStrides
private

Definition at line 660 of file Module.cpp.

std::unique_ptr<Block> talvos::ModuleBuilder::CurrentBlock
private

Definition at line 658 of file Module.cpp.

std::unique_ptr<Function> talvos::ModuleBuilder::CurrentFunction
private

Definition at line 657 of file Module.cpp.

std::map<uint32_t, EntryPointSpec> talvos::ModuleBuilder::EntryPoints
private

Definition at line 672 of file Module.cpp.

std::map<std::pair<uint32_t, uint32_t>, std::map<uint32_t, uint32_t> > talvos::ModuleBuilder::MemberDecorations
private

Definition at line 662 of file Module.cpp.

std::shared_ptr<Module> talvos::ModuleBuilder::Mod
private

Internal ModuleBuilder variables.

Definition at line 656 of file Module.cpp.

std::map<uint32_t, std::vector<std::pair<uint32_t, uint32_t> > > talvos::ModuleBuilder::ObjectDecorations
private

Definition at line 664 of file Module.cpp.

Instruction* talvos::ModuleBuilder::PreviousInstruction
private

Definition at line 659 of file Module.cpp.