Lines Matching defs:CV
305 void gather(Instruction *Op, const ValueVector &CV, const VectorSplit &VS);
306 void replaceUses(Instruction *Op, Value *CV);
308 void transferMetadataAndIRFlags(Instruction *Op, const ValueVector &CV);
378 ValueVector &CV = CachePtr ? *CachePtr : Tmp;
380 if (CV[Frag])
381 return CV[Frag];
385 CV[Frag] = V;
387 CV[Frag] = Builder.CreateConstGEP1_32(VS.SplitTy, V, Frag,
389 return CV[Frag];
398 CV[Frag] =
415 CV[Frag] = Insert->getOperand(1);
416 return CV[Frag];
419 if (VS.NumPacked == 1 && !CV[J]) {
423 CV[J] = Insert->getOperand(1);
426 CV[Frag] = Builder.CreateExtractElement(V, Frag * VS.NumPacked,
430 return CV[Frag];
501 // Replace Op with the gathered form of the components in CV. Defer the
504 // replaced with uses of CV.
505 void ScalarizerVisitor::gather(Instruction *Op, const ValueVector &CV,
507 transferMetadataAndIRFlags(Op, CV);
515 if (V == nullptr || SV[I] == CV[I])
519 if (isa<Instruction>(CV[I]))
520 CV[I]->takeName(Old);
521 Old->replaceAllUsesWith(CV[I]);
525 SV = CV;
529 // Replace Op with CV and collect Op has a potentially dead instruction.
530 void ScalarizerVisitor::replaceUses(Instruction *Op, Value *CV) {
531 if (CV != Op) {
532 Op->replaceAllUsesWith(CV);
551 // Transfer metadata from Op to the instructions in CV if it is known
554 const ValueVector &CV) {
557 for (Value *V : CV) {
1263 ValueVector &CV = *GMI.second;
1275 assert(VS.NumFragments == CV.size());
1277 Res = concatenate(Builder, CV, VS, Op->getName());
1290 for (auto *CVelem : CV) {
1302 assert(VS.NumFragments == CV.size());
1310 assert(CV.size() == 1 && Op->getType() == CV[0]->getType());
1311 Res = CV[0];