Lines Matching refs:Res

163 MachineInstrBuilder MachineIRBuilder::buildFrameIndex(unsigned Res, int Idx) {  in buildFrameIndex()  argument
164 assert(getMRI()->getType(Res).isPointer() && "invalid operand type"); in buildFrameIndex()
166 .addDef(Res) in buildFrameIndex()
170 MachineInstrBuilder MachineIRBuilder::buildGlobalValue(unsigned Res, in buildGlobalValue() argument
172 assert(getMRI()->getType(Res).isPointer() && "invalid operand type"); in buildGlobalValue()
173 assert(getMRI()->getType(Res).getAddressSpace() == in buildGlobalValue()
178 .addDef(Res) in buildGlobalValue()
182 void MachineIRBuilder::validateBinaryOp(const LLT &Res, const LLT &Op0, in validateBinaryOp() argument
184 assert((Res.isScalar() || Res.isVector()) && "invalid operand type"); in validateBinaryOp()
185 assert((Res == Op0 && Res == Op1) && "type mismatch"); in validateBinaryOp()
188 MachineInstrBuilder MachineIRBuilder::buildGEP(unsigned Res, unsigned Op0, in buildGEP() argument
190 assert(getMRI()->getType(Res).isPointer() && in buildGEP()
191 getMRI()->getType(Res) == getMRI()->getType(Op0) && "type mismatch"); in buildGEP()
195 .addDef(Res) in buildGEP()
201 MachineIRBuilder::materializeGEP(unsigned &Res, unsigned Op0, in materializeGEP() argument
203 assert(Res == 0 && "Res is a result argument"); in materializeGEP()
207 Res = Op0; in materializeGEP()
211 Res = getMRI()->createGenericVirtualRegister(getMRI()->getType(Op0)); in materializeGEP()
215 return buildGEP(Res, Op0, TmpReg); in materializeGEP()
218 MachineInstrBuilder MachineIRBuilder::buildPtrMask(unsigned Res, unsigned Op0, in buildPtrMask() argument
220 assert(getMRI()->getType(Res).isPointer() && in buildPtrMask()
221 getMRI()->getType(Res) == getMRI()->getType(Op0) && "type mismatch"); in buildPtrMask()
224 .addDef(Res) in buildPtrMask()
238 MachineInstrBuilder MachineIRBuilder::buildCopy(const DstOp &Res, in buildCopy() argument
240 return buildInstr(TargetOpcode::COPY, Res, Op); in buildCopy()
243 MachineInstrBuilder MachineIRBuilder::buildConstant(const DstOp &Res, in buildConstant() argument
245 LLT Ty = Res.getLLTTy(*getMRI()); in buildConstant()
255 Res.addDefToMIB(*getMRI(), MIB); in buildConstant()
260 MachineInstrBuilder MachineIRBuilder::buildConstant(const DstOp &Res, in buildConstant() argument
263 Res.getLLTTy(*getMRI()).getSizeInBits()); in buildConstant()
265 return buildConstant(Res, *CI); in buildConstant()
268 MachineInstrBuilder MachineIRBuilder::buildFConstant(const DstOp &Res, in buildFConstant() argument
270 assert(Res.getLLTTy(*getMRI()).isScalar() && "invalid operand type"); in buildFConstant()
273 Res.addDefToMIB(*getMRI(), MIB); in buildFConstant()
278 MachineInstrBuilder MachineIRBuilder::buildFConstant(const DstOp &Res, in buildFConstant() argument
280 LLT DstTy = Res.getLLTTy(*getMRI()); in buildFConstant()
284 return buildFConstant(Res, *CFP); in buildFConstant()
294 MachineInstrBuilder MachineIRBuilder::buildLoad(unsigned Res, unsigned Addr, in buildLoad() argument
296 return buildLoadInstr(TargetOpcode::G_LOAD, Res, Addr, MMO); in buildLoad()
300 unsigned Res, in buildLoadInstr() argument
303 assert(getMRI()->getType(Res).isValid() && "invalid operand type"); in buildLoadInstr()
307 .addDef(Res) in buildLoadInstr()
323 MachineInstrBuilder MachineIRBuilder::buildUAdde(const DstOp &Res, in buildUAdde() argument
328 return buildInstr(TargetOpcode::G_UADDE, {Res, CarryOut}, in buildUAdde()
332 MachineInstrBuilder MachineIRBuilder::buildAnyExt(const DstOp &Res, in buildAnyExt() argument
334 return buildInstr(TargetOpcode::G_ANYEXT, Res, Op); in buildAnyExt()
337 MachineInstrBuilder MachineIRBuilder::buildSExt(const DstOp &Res, in buildSExt() argument
339 return buildInstr(TargetOpcode::G_SEXT, Res, Op); in buildSExt()
342 MachineInstrBuilder MachineIRBuilder::buildZExt(const DstOp &Res, in buildZExt() argument
344 return buildInstr(TargetOpcode::G_ZEXT, Res, Op); in buildZExt()
348 const DstOp &Res, in buildExtOrTrunc() argument
353 assert(Res.getLLTTy(*getMRI()).isScalar() || in buildExtOrTrunc()
354 Res.getLLTTy(*getMRI()).isVector()); in buildExtOrTrunc()
355 assert(Res.getLLTTy(*getMRI()).isScalar() == in buildExtOrTrunc()
359 if (Res.getLLTTy(*getMRI()).getSizeInBits() > in buildExtOrTrunc()
362 else if (Res.getLLTTy(*getMRI()).getSizeInBits() < in buildExtOrTrunc()
366 assert(Res.getLLTTy(*getMRI()) == Op.getLLTTy(*getMRI())); in buildExtOrTrunc()
368 return buildInstr(Opcode, Res, Op); in buildExtOrTrunc()
371 MachineInstrBuilder MachineIRBuilder::buildSExtOrTrunc(const DstOp &Res, in buildSExtOrTrunc() argument
373 return buildExtOrTrunc(TargetOpcode::G_SEXT, Res, Op); in buildSExtOrTrunc()
376 MachineInstrBuilder MachineIRBuilder::buildZExtOrTrunc(const DstOp &Res, in buildZExtOrTrunc() argument
378 return buildExtOrTrunc(TargetOpcode::G_ZEXT, Res, Op); in buildZExtOrTrunc()
381 MachineInstrBuilder MachineIRBuilder::buildAnyExtOrTrunc(const DstOp &Res, in buildAnyExtOrTrunc() argument
383 return buildExtOrTrunc(TargetOpcode::G_ANYEXT, Res, Op); in buildAnyExtOrTrunc()
406 MachineInstrBuilder MachineIRBuilder::buildExtract(unsigned Res, unsigned Src, in buildExtract() argument
410 assert(getMRI()->getType(Res).isValid() && "invalid operand type"); in buildExtract()
411 assert(Index + getMRI()->getType(Res).getSizeInBits() <= in buildExtract()
416 if (getMRI()->getType(Res).getSizeInBits() == in buildExtract()
419 return buildCast(Res, Src); in buildExtract()
423 .addDef(Res) in buildExtract()
428 void MachineIRBuilder::buildSequence(unsigned Res, ArrayRef<unsigned> Ops, in buildSequence() argument
436 assert(getMRI()->getType(Res).isValid() && "invalid operand type"); in buildSequence()
441 LLT ResTy = getMRI()->getType(Res); in buildSequence()
453 buildMerge(Res, Ops); in buildSequence()
462 ? Res in buildSequence()
469 MachineInstrBuilder MachineIRBuilder::buildUndef(const DstOp &Res) { in buildUndef() argument
470 return buildInstr(TargetOpcode::G_IMPLICIT_DEF, {Res}, {}); in buildUndef()
473 MachineInstrBuilder MachineIRBuilder::buildMerge(const DstOp &Res, in buildMerge() argument
479 return buildInstr(TargetOpcode::G_MERGE_VALUES, Res, TmpVec); in buildMerge()
482 MachineInstrBuilder MachineIRBuilder::buildUnmerge(ArrayRef<LLT> Res, in buildUnmerge() argument
487 SmallVector<DstOp, 8> TmpVec(Res.begin(), Res.end()); in buildUnmerge()
491 MachineInstrBuilder MachineIRBuilder::buildUnmerge(ArrayRef<unsigned> Res, in buildUnmerge() argument
496 SmallVector<DstOp, 8> TmpVec(Res.begin(), Res.end()); in buildUnmerge()
500 MachineInstrBuilder MachineIRBuilder::buildBuildVector(const DstOp &Res, in buildBuildVector() argument
506 return buildInstr(TargetOpcode::G_BUILD_VECTOR, Res, TmpVec); in buildBuildVector()
510 MachineIRBuilder::buildBuildVectorTrunc(const DstOp &Res, in buildBuildVectorTrunc() argument
516 return buildInstr(TargetOpcode::G_BUILD_VECTOR_TRUNC, Res, TmpVec); in buildBuildVectorTrunc()
520 MachineIRBuilder::buildConcatVectors(const DstOp &Res, ArrayRef<unsigned> Ops) { in buildConcatVectors() argument
525 return buildInstr(TargetOpcode::G_CONCAT_VECTORS, Res, TmpVec); in buildConcatVectors()
528 MachineInstrBuilder MachineIRBuilder::buildInsert(unsigned Res, unsigned Src, in buildInsert() argument
531 getMRI()->getType(Res).getSizeInBits() && in buildInsert()
534 if (getMRI()->getType(Res).getSizeInBits() == in buildInsert()
536 return buildCast(Res, Op); in buildInsert()
540 .addDef(Res) in buildInsert()
547 unsigned Res, in buildIntrinsic() argument
552 if (Res) in buildIntrinsic()
553 MIB.addDef(Res); in buildIntrinsic()
558 MachineInstrBuilder MachineIRBuilder::buildTrunc(const DstOp &Res, in buildTrunc() argument
560 return buildInstr(TargetOpcode::G_TRUNC, Res, Op); in buildTrunc()
563 MachineInstrBuilder MachineIRBuilder::buildFPTrunc(const DstOp &Res, in buildFPTrunc() argument
565 return buildInstr(TargetOpcode::G_FPTRUNC, Res, Op); in buildFPTrunc()
569 const DstOp &Res, in buildICmp() argument
572 return buildInstr(TargetOpcode::G_ICMP, Res, {Pred, Op0, Op1}); in buildICmp()
576 const DstOp &Res, in buildFCmp() argument
580 return buildInstr(TargetOpcode::G_FCMP, Res, {Pred, Op0, Op1}); in buildFCmp()
583 MachineInstrBuilder MachineIRBuilder::buildSelect(const DstOp &Res, in buildSelect() argument
588 return buildInstr(TargetOpcode::G_SELECT, {Res}, {Tst, Op0, Op1}); in buildSelect()
592 MachineIRBuilder::buildInsertVectorElement(const DstOp &Res, const SrcOp &Val, in buildInsertVectorElement() argument
594 return buildInstr(TargetOpcode::G_INSERT_VECTOR_ELT, Res, {Val, Elt, Idx}); in buildInsertVectorElement()
598 MachineIRBuilder::buildExtractVectorElement(const DstOp &Res, const SrcOp &Val, in buildExtractVectorElement() argument
600 return buildInstr(TargetOpcode::G_EXTRACT_VECTOR_ELT, Res, {Val, Idx}); in buildExtractVectorElement()
746 MachineIRBuilder::buildBlockAddress(unsigned Res, const BlockAddress *BA) { in buildBlockAddress() argument
748 assert(getMRI()->getType(Res).isPointer() && "invalid res type"); in buildBlockAddress()
751 return buildInstr(TargetOpcode::G_BLOCK_ADDR).addDef(Res).addBlockAddress(BA); in buildBlockAddress()