Home | History | Annotate | Download | only in TableGen

Lines Matching full: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);
1094 getConcatSubRegIndex(const SmallVector<CodeGenSubRegIndex *, 8> &Parts) {
1095 assert(Parts.size() > 1 && "Need two parts to concatenate");
1098 CodeGenSubRegIndex *&Idx = ConcatIdx[Parts];
1103 std::string Name = Parts.front()->getName();
1104 // Determine whether all parts are contiguous.
1106 unsigned Size = Parts.front()->Size;
1107 unsigned LastOffset = Parts.front()->Offset;
1108 unsigned LastSize = Parts.front()->Size;
1109 for (unsigned i = 1, e = Parts.size(); i != e; ++i) {
1111 Name += Parts[i]->getName();
1112 Size += Parts[i]->Size;
1113 if (Parts[i]->Offset != (LastOffset + LastSize))
1115 LastOffset = Parts[i]->Offset;
1116 LastSize = Parts[i]->Size;
1118 Idx = createSubRegIndex(Name, Parts.front()->getNamespace());
1120 Idx->Offset = isContinuous ? Parts.front()->Offset : -1;