Lines Matching defs:DstOps

113 void CSEMIRBuilder::profileEverything(unsigned Opc, ArrayRef<DstOp> DstOps,
119 // Then add the DstOps.
120 profileDstOps(DstOps, B);
137 bool CSEMIRBuilder::checkCopyToDefsPossible(ArrayRef<DstOp> DstOps) {
138 if (DstOps.size() == 1)
141 return llvm::all_of(DstOps, [](const DstOp &Op) {
148 CSEMIRBuilder::generateCopiesIfRequired(ArrayRef<DstOp> DstOps,
150 assert(checkCopyToDefsPossible(DstOps) &&
152 if (DstOps.size() == 1) {
153 const DstOp &Op = DstOps[0];
176 ArrayRef<DstOp> DstOps,
184 assert(DstOps.size() == 1 && "Invalid dsts");
191 return buildBuildVectorConstant(DstOps[0], *Cst);
192 return buildConstant(DstOps[0], Cst->front());
216 assert(DstOps.size() == 1 && "Invalid dsts");
228 return buildBuildVectorConstant(DstOps[0], VecCst);
234 return buildConstant(DstOps[0], *Cst);
251 assert(DstOps.size() == 1 && "Invalid dsts");
254 return buildFConstant(DstOps[0], *Cst);
258 assert(DstOps.size() == 1 && "Invalid dst ops");
260 const DstOp &Dst = DstOps[0];
272 assert(DstOps.size() == 1 && "Invalid dsts");
274 Opc, DstOps[0].getLLTTy(*getMRI()), SrcOps[0].getReg(), *getMRI()))
275 return buildFConstant(DstOps[0], *Cst);
281 assert(DstOps.size() == 1 && "Expected one dest");
291 return buildConstant(DstOps[0], (*MaybeCsts)[0]);
294 LLT VecTy = DstOps[0].getLLTTy(*getMRI());
298 return buildBuildVector(DstOps[0], ConstantRegs);
301 bool CanCopy = checkCopyToDefsPossible(DstOps);
303 return MachineIRBuilder::buildInstr(Opc, DstOps, SrcOps, Flag);
307 auto MIB = MachineIRBuilder::buildInstr(Opc, DstOps, SrcOps, Flag);
316 profileEverything(Opc, DstOps, SrcOps, Flag, ProfBuilder);
320 return generateCopiesIfRequired(DstOps, MIB);
324 MachineIRBuilder::buildInstr(Opc, DstOps, SrcOps, Flag);