diff --git a/libSPIRV/SPIRVModule.cpp b/libSPIRV/SPIRVModule.cpp index 3aaf8af702f..1b6c2fdbce8 100644 --- a/libSPIRV/SPIRVModule.cpp +++ b/libSPIRV/SPIRVModule.cpp @@ -1225,6 +1225,7 @@ class TopologicalSort { typedef std::vector SPIRVTypeVec; typedef std::vector SPIRVConstantVector; typedef std::vector SPIRVVariableVec; + typedef std::vector SPIRVConstAndVarVec; typedef std::vector SPIRVForwardPointerVec; typedef std::function IdComp; typedef std::map EntryStateMapTy; @@ -1232,8 +1233,7 @@ class TopologicalSort { SPIRVTypeVec TypeIntVec; SPIRVConstantVector ConstIntVec; SPIRVTypeVec TypeVec; - SPIRVConstantVector ConstVec; - SPIRVVariableVec VariableVec; + SPIRVConstAndVarVec ConstAndVarVec; const SPIRVForwardPointerVec& ForwardPointerVec; EntryStateMapTy EntryStateMap; @@ -1269,11 +1269,11 @@ class TopologicalSort { if (C->getType()->isTypeInt()) ConstIntVec.push_back(C); else - ConstVec.push_back(C); + ConstAndVarVec.push_back(E); } else if (isTypeOpCode(OC)) TypeVec.push_back(static_cast(E)); - else if (E->isVariable()) - VariableVec.push_back(static_cast(E)); + else + ConstAndVarVec.push_back(E); } public: TopologicalSort(const SPIRVTypeVec &_TypeVec, @@ -1303,8 +1303,7 @@ operator<< (spv_ostream &O, const TopologicalSort &S) { O << S.TypeIntVec << S.ConstIntVec << S.TypeVec - << S.ConstVec - << S.VariableVec; + << S.ConstAndVarVec; return O; }