Lines Matching refs:Op
292 // Replace Op with the gathered form of the components in CV. Defer the
293 // deletion of Op and creation of the gathered form to the end of the pass,
294 // so that we can avoid creating the gathered form if all uses of Op are
296 void Scalarizer::gather(Instruction *Op, const ValueVector &CV) {
297 // Since we're not deleting Op yet, stub out its operands, so that it
299 for (unsigned I = 0, E = Op->getNumOperands(); I != E; ++I)
300 Op->setOperand(I, UndefValue::get(Op->getOperand(I)->getType()));
302 transferMetadata(Op, CV);
304 // If we already have a scattered form of Op (created from ExtractElements
305 // of Op itself), replace them with the new form.
306 ValueVector &SV = Scattered[Op];
320 Gathered.push_back(GatherList::value_type(Op, &SV));
335 // Transfer metadata from Op to the instructions in CV if it is known
337 void Scalarizer::transferMetadata(Instruction *Op, const ValueVector &CV) {
339 Op->getAllMetadataOtherThanDebugLoc(MDs);
345 if (Op->getDebugLoc() && !New->getDebugLoc())
346 New->setDebugLoc(Op->getDebugLoc());
517 // In the best case, the resulting conversion might be a no-op.
585 Scatterer Op = scatter(&PHI, PHI.getIncomingValue(I));
588 cast<PHINode>(Res[J])->addIncoming(Op[J], IncomingBlock);
653 Instruction *Op = GMI.first;
655 if (!Op->use_empty()) {
658 Type *Ty = Op->getType();
660 BasicBlock *BB = Op->getParent();
662 IRBuilder<> Builder(Op);
663 if (isa<PHINode>(Op))
667 Op->getName() + ".upto" + Twine(I));
668 Res->takeName(Op);
669 Op->replaceAllUsesWith(Res);
671 Op->eraseFromParent();