Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Opnd

758       // i64 shift.result = lshr i64 opnd, imm
1254 /// \brief Build a truncate instruction of \p Opnd producing a \p Ty
1256 /// trunc Opnd to Ty.
1257 TruncBuilder(Instruction *Opnd, Type *Ty) : TypePromotionAction(Opnd) {
1258 IRBuilder<> Builder(Opnd);
1259 Inst = cast<Instruction>(Builder.CreateTrunc(Opnd, Ty, "promoted"));
1276 /// \brief Build a sign extension instruction of \p Opnd producing a \p Ty
1278 /// sext Opnd to Ty.
1279 SExtBuilder(Instruction *InsertPt, Value *Opnd, Type *Ty)
1282 Inst = cast<Instruction>(Builder.CreateSExt(Opnd, Ty, "promoted"));
1421 Instruction *createTrunc(Instruction *Opnd, Type *Ty);
1423 Instruction *createSExt(Instruction *Inst, Value *Opnd, Type *Ty);
1455 Instruction *TypePromotionTransaction::createTrunc(Instruction *Opnd,
1457 std::unique_ptr<TruncBuilder> Ptr(new TruncBuilder(Opnd, Ty));
1464 Value *Opnd, Type *Ty) {
1465 std::unique_ptr<SExtBuilder> Ptr(new SExtBuilder(Inst, Opnd, Ty));
1755 Instruction *Opnd = dyn_cast<Instruction>(OpndVal);
1756 if (!Opnd)
1763 InstrToOrigTy::const_iterator It = PromotedInsts.find(Opnd);
1766 else if (isa<SExtInst>(Opnd))
1767 OpndType = cast<Instruction>(Opnd)->getOperand(0)->getType();
1814 // Replace sext(trunc(opnd)) or sext(sext(opnd))
1815 // => sext(opnd).
1827 // At this point we have: sext ty opnd to ty.
1828 // Reassign the uses of SExt to the opnd and remove SExt.
1885 Value *Opnd = SExtOpnd->getOperand(OpIdx);
1886 if (const ConstantInt *Cst = dyn_cast<ConstantInt>(Opnd)) {
1894 if (isa<UndefValue>(Opnd)) {
1905 SExtForOpnd = TPT.createSExt(SExt, Opnd, SExt->getType());
1909 TPT.setOperand(SExtForOpnd, 0, Opnd);
2149 // op = add opnd, 1
2153 // promotedOpnd = sext opnd <- no match here