Lines Matching refs:var_inst
45 for (auto var_inst = entry_bb->begin(); var_inst->opcode() == SpvOpVariable; in Process() local
46 ++var_inst) { in Process()
47 if (!IsPointerToArrayType(var_inst->type_id())) { in Process()
52 Instruction* store_inst = FindStoreInstruction(&*var_inst); in Process()
59 FindSourceObjectIfPossible(&*var_inst, store_inst); in Process()
62 if (CanUpdateUses(&*var_inst, source_object->GetPointerTypeId(this))) { in Process()
64 PropagateObject(&*var_inst, source_object.get(), store_inst); in Process()
73 CopyPropagateArrays::FindSourceObjectIfPossible(Instruction* var_inst, in FindSourceObjectIfPossible() argument
75 assert(var_inst->opcode() == SpvOpVariable && "Expecting a variable."); in FindSourceObjectIfPossible()
84 if (!HasValidReferencesOnly(var_inst, store_inst)) { in FindSourceObjectIfPossible()
109 const Instruction* var_inst) const { in FindStoreInstruction()
112 var_inst, [&store_inst, var_inst](Instruction* use) { in FindStoreInstruction()
115 var_inst->result_id()) { in FindStoreInstruction()
128 void CopyPropagateArrays::PropagateObject(Instruction* var_inst, in PropagateObject() argument
131 assert(var_inst->opcode() == SpvOpVariable && in PropagateObject()
135 context()->KillNamesAndDecorates(var_inst); in PropagateObject()
136 UpdateUses(var_inst, new_access_chain); in PropagateObject()
819 CopyPropagateArrays::MemoryObject::MemoryObject(Instruction* var_inst, in MemoryObject() argument
821 : variable_inst_(var_inst), access_chain_(begin, end) {} in MemoryObject()