MCPcopy Create free account
hub / github.com/KhronosGroup/SPIRV-Tools / GetLoopDescriptor

Method GetLoopDescriptor

source/opt/ir_context.cpp:842–856  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

840}
841
842LoopDescriptor* IRContext::GetLoopDescriptor(const Function* f) {
843 if (!AreAnalysesValid(kAnalysisLoopAnalysis)) {
844 ResetLoopAnalysis();
845 }
846
847 std::unordered_map<const Function*, LoopDescriptor>::iterator it =
848 loop_descriptors_.find(f);
849 if (it == loop_descriptors_.end()) {
850 return &loop_descriptors_
851 .emplace(std::make_pair(f, LoopDescriptor(this, f)))
852 .first->second;
853 }
854
855 return &it->second;
856}
857
858uint32_t IRContext::FindBuiltinInputVar(uint32_t builtin) {
859 for (auto& a : module_->annotations()) {

Callers 15

CreateBlockBeforeMethod · 0.45
ProcessFunctionMethod · 0.45
SplitLoopHeaderMethod · 0.45
ProcessMethod · 0.45
ProcessFunctionMethod · 0.45
ProcessFunctionMethod · 0.45
FuseMethod · 0.45
AnalyzePhiInstructionMethod · 0.45
ProcessFunctionMethod · 0.45

Calls 2

LoopDescriptorClass · 0.70
endMethod · 0.45

Tested by

no test coverage detected