• Home
  • Raw
  • Download

Lines Matching full:module

33 // A struct for containing the module header information.
42 // A SPIR-V module. It contains all the information for a SPIR-V module and
44 class Module {
51 // Creates an empty module with zero'd header.
52 Module() : header_({}), contains_debug_info_(false) {} in Module() function
74 // Appends a capability instruction to this module.
77 // Appends an extension instruction to this module.
80 // Appends an extended instruction set instruction to this module.
83 // Set the memory model for this module.
86 // Appends an entry point instruction to this module.
89 // Appends an execution mode instruction to this module.
92 // Appends a debug 1 instruction (excluding OpLine & OpNoLine) to this module.
94 // 2.4 Logical Layout of a Module from the SPIR-V specification.
97 // Appends a debug 2 instruction (excluding OpLine & OpNoLine) to this module.
99 // 2.4 Logical Layout of a Module from the SPIR-V specification.
102 // Appends a debug 3 instruction (OpModuleProcessed) to this module.
107 // NonSemantic.Shader.DebugInfo.100, or DebugInfo) instruction to this module.
110 // Appends an annotation instruction to this module.
113 // Appends a type-declaration instruction to this module.
116 // Appends a constant, global variable, or OpUndef instruction to this module.
119 // Appends a function to this module.
127 // module.
131 // module.
149 // Iterators for capabilities instructions contained in this module.
155 // Iterators for ext_inst_imports instructions contained in this module.
161 // Return the memory model instruction contained inthis module.
168 // appear in the logical layout of a module:
176 // in this module. These are for layout section 7a.
183 // in this module. These are for layout section 7b.
190 // in this module. These are for layout section 7c.
197 // contained in this module. These are OpExtInst for DebugInfo extension
204 // Iterators for entry point instructions contained in this module
208 // Iterators for execution_modes instructions contained in this module.
214 // Iterators for annotation instructions contained in this module.
220 // Iterators for extension instructions contained in this module.
232 // Iterators for functions contained in this module.
240 // Invokes function |f| on all instructions in this module, and optionally on
251 // Returns 1 more than the maximum Id value mentioned in the module.
254 // Returns true if module has capability |cap|
261 // Sets the associated context for this module
264 // Gets the associated context for this module
281 ModuleHeader header_; // Module header
283 // The following fields respect the "Logical Layout of a Module" in
289 // A module only has one memory model instruction.
302 // If the module ends with Op*Line instruction, they will not be attached to
306 // This module contains DebugScope/DebugNoScope or OpLine/OpNoLine.
310 // Pretty-prints |module| to |str|. Returns |str|.
311 std::ostream& operator<<(std::ostream& str, const Module& module);
313 inline void Module::AddCapability(std::unique_ptr<Instruction> c) { in AddCapability()
317 inline void Module::AddExtension(std::unique_ptr<Instruction> e) { in AddExtension()
321 inline void Module::AddExtInstImport(std::unique_ptr<Instruction> e) { in AddExtInstImport()
325 inline void Module::SetMemoryModel(std::unique_ptr<Instruction> m) { in SetMemoryModel()
329 inline void Module::AddEntryPoint(std::unique_ptr<Instruction> e) { in AddEntryPoint()
333 inline void Module::AddExecutionMode(std::unique_ptr<Instruction> e) { in AddExecutionMode()
337 inline void Module::AddDebug1Inst(std::unique_ptr<Instruction> d) { in AddDebug1Inst()
341 inline void Module::AddDebug2Inst(std::unique_ptr<Instruction> d) { in AddDebug2Inst()
345 inline void Module::AddDebug3Inst(std::unique_ptr<Instruction> d) { in AddDebug3Inst()
349 inline void Module::AddExtInstDebugInfo(std::unique_ptr<Instruction> d) { in AddExtInstDebugInfo()
353 inline void Module::AddAnnotationInst(std::unique_ptr<Instruction> a) { in AddAnnotationInst()
357 inline void Module::AddType(std::unique_ptr<Instruction> t) { in AddType()
361 inline void Module::AddGlobalValue(std::unique_ptr<Instruction> v) { in AddGlobalValue()
365 inline void Module::AddFunction(std::unique_ptr<Function> f) { in AddFunction()
369 inline void Module::SetContainsDebugInfo() { contains_debug_info_ = true; } in SetContainsDebugInfo()
371 inline Module::inst_iterator Module::capability_begin() { in capability_begin()
374 inline Module::inst_iterator Module::capability_end() { in capability_end()
378 inline IteratorRange<Module::inst_iterator> Module::capabilities() { in capabilities()
382 inline IteratorRange<Module::const_inst_iterator> Module::capabilities() const { in capabilities()
386 inline Module::inst_iterator Module::ext_inst_import_begin() { in ext_inst_import_begin()
389 inline Module::inst_iterator Module::ext_inst_import_end() { in ext_inst_import_end()
393 inline IteratorRange<Module::inst_iterator> Module::ext_inst_imports() { in ext_inst_imports()
397 inline IteratorRange<Module::const_inst_iterator> Module::ext_inst_imports() in ext_inst_imports()
402 inline Module::inst_iterator Module::debug1_begin() { return debugs1_.begin(); } in debug1_begin()
403 inline Module::inst_iterator Module::debug1_end() { return debugs1_.end(); } in debug1_end()
405 inline IteratorRange<Module::inst_iterator> Module::debugs1() { in debugs1()
409 inline IteratorRange<Module::const_inst_iterator> Module::debugs1() const { in debugs1()
413 inline Module::inst_iterator Module::debug2_begin() { return debugs2_.begin(); } in debug2_begin()
414 inline Module::inst_iterator Module::debug2_end() { return debugs2_.end(); } in debug2_end()
416 inline IteratorRange<Module::inst_iterator> Module::debugs2() { in debugs2()
420 inline IteratorRange<Module::const_inst_iterator> Module::debugs2() const { in debugs2()
424 inline Module::inst_iterator Module::debug3_begin() { return debugs3_.begin(); } in debug3_begin()
425 inline Module::inst_iterator Module::debug3_end() { return debugs3_.end(); } in debug3_end()
427 inline IteratorRange<Module::inst_iterator> Module::debugs3() { in debugs3()
431 inline IteratorRange<Module::const_inst_iterator> Module::debugs3() const { in debugs3()
435 inline Module::inst_iterator Module::ext_inst_debuginfo_begin() { in ext_inst_debuginfo_begin()
438 inline Module::inst_iterator Module::ext_inst_debuginfo_end() { in ext_inst_debuginfo_end()
442 inline IteratorRange<Module::inst_iterator> Module::ext_inst_debuginfo() { in ext_inst_debuginfo()
446 inline IteratorRange<Module::const_inst_iterator> Module::ext_inst_debuginfo() in ext_inst_debuginfo()
451 inline IteratorRange<Module::inst_iterator> Module::entry_points() { in entry_points()
455 inline IteratorRange<Module::const_inst_iterator> Module::entry_points() const { in entry_points()
459 inline Module::inst_iterator Module::execution_mode_begin() { in execution_mode_begin()
462 inline Module::inst_iterator Module::execution_mode_end() { in execution_mode_end()
466 inline IteratorRange<Module::inst_iterator> Module::execution_modes() { in execution_modes()
470 inline IteratorRange<Module::const_inst_iterator> Module::execution_modes() in execution_modes()
475 inline Module::inst_iterator Module::annotation_begin() { in annotation_begin()
478 inline Module::inst_iterator Module::annotation_end() { in annotation_end()
482 inline IteratorRange<Module::inst_iterator> Module::annotations() { in annotations()
486 inline IteratorRange<Module::const_inst_iterator> Module::annotations() const { in annotations()
490 inline Module::inst_iterator Module::extension_begin() { in extension_begin()
493 inline Module::inst_iterator Module::extension_end() { in extension_end()
497 inline IteratorRange<Module::inst_iterator> Module::extensions() { in extensions()
501 inline IteratorRange<Module::const_inst_iterator> Module::extensions() const { in extensions()
505 inline Module::inst_iterator Module::types_values_begin() { in types_values_begin()
509 inline Module::inst_iterator Module::types_values_end() { in types_values_end()
513 inline IteratorRange<Module::inst_iterator> Module::types_values() { in types_values()
517 inline IteratorRange<Module::const_inst_iterator> Module::types_values() const { in types_values()
521 inline Module::const_iterator Module::cbegin() const { in cbegin()
525 inline Module::const_iterator Module::cend() const { in cend()