Home | History | Annotate | Download | only in TableGen

Lines Matching refs:Parts

72   std::vector<Record*> Parts =
74 if (!Parts.empty()) {
75 if (Parts.size() < 2)
79 for (unsigned i = 0, e = Parts.size(); i != e; ++i)
80 IdxParts.push_back(RegBank.getSubRegIdx(Parts[i]));
350 SmallVector<CodeGenSubRegIndex*, 8> Parts;
352 Parts.push_back(getSubRegIndex(SR->ExplicitSubRegs[j]));
354 // Offer this as an existing spelling for the concatenation of Parts.
355 RegBank.addConcatSubRegIndex(Parts, ExplicitSubRegIndices[i]);
439 SmallVector<CodeGenSubRegIndex*, 8> Parts(1, I->first);
444 Parts.push_back(Idx);
447 Parts.clear();
453 if (Parts.size() <= 1)
458 CodeGenSubRegIndex *Concat= RegBank.getConcatSubRegIndex(Parts);
1092 getConcatSubRegIndex(const SmallVector<CodeGenSubRegIndex *, 8> &Parts) {
1093 assert(Parts.size() > 1 && "Need two parts to concatenate");
1096 CodeGenSubRegIndex *&Idx = ConcatIdx[Parts];
1101 std::string Name = Parts.front()->getName();
1102 // Determine whether all parts are contiguous.
1104 unsigned Size = Parts.front()->Size;
1105 unsigned LastOffset = Parts.front()->Offset;
1106 unsigned LastSize = Parts.front()->Size;
1107 for (unsigned i = 1, e = Parts.size(); i != e; ++i) {
1109 Name += Parts[i]->getName();
1110 Size += Parts[i]->Size;
1111 if (Parts[i]->Offset != (LastOffset + LastSize))
1113 LastOffset = Parts[i]->Offset;
1114 LastSize = Parts[i]->Size;
1116 Idx = createSubRegIndex(Name, Parts.front()->getNamespace());
1118 Idx->Offset = isContinuous ? Parts.front()->Offset : -1;