reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1286 assert(Parts.size() > 1 && "Need two parts to concatenate"); 1288 for (CodeGenSubRegIndex *Idx : Parts) { 1294 CodeGenSubRegIndex *&Idx = ConcatIdx[Parts]; 1299 std::string Name = Parts.front()->getName(); 1302 unsigned Size = Parts.front()->Size; 1303 unsigned LastOffset = Parts.front()->Offset; 1304 unsigned LastSize = Parts.front()->Size; 1305 for (unsigned i = 1, e = Parts.size(); i != e; ++i) { 1307 Name += Parts[i]->getName(); 1308 Size += Parts[i]->Size; 1309 if (Parts[i]->Offset != (LastOffset + LastSize)) 1311 LastOffset = Parts[i]->Offset; 1312 LastSize = Parts[i]->Size; 1314 Idx = createSubRegIndex(Name, Parts.front()->getNamespace()); 1316 Idx->Offset = isContinuous ? Parts.front()->Offset : -1; 1317 Idx->ConcatenationOf.assign(Parts.begin(), Parts.end()); 1317 Idx->ConcatenationOf.assign(Parts.begin(), Parts.end());