Lines Matching refs:Opnd
1059 // i64 shift.result = lshr i64 opnd, imm
2241 /// \brief Build a truncate instruction of \p Opnd producing a \p Ty
2243 /// trunc Opnd to Ty.
2244 TruncBuilder(Instruction *Opnd, Type *Ty) : TypePromotionAction(Opnd) {
2245 IRBuilder<> Builder(Opnd);
2246 Val = Builder.CreateTrunc(Opnd, Ty, "promoted");
2265 /// \brief Build a sign extension instruction of \p Opnd producing a \p Ty
2267 /// sext Opnd to Ty.
2268 SExtBuilder(Instruction *InsertPt, Value *Opnd, Type *Ty)
2271 Val = Builder.CreateSExt(Opnd, Ty, "promoted");
2290 /// \brief Build a zero extension instruction of \p Opnd producing a \p Ty
2292 /// zext Opnd to Ty.
2293 ZExtBuilder(Instruction *InsertPt, Value *Opnd, Type *Ty)
2296 Val = Builder.CreateZExt(Opnd, Ty, "promoted");
2436 Value *createTrunc(Instruction *Opnd, Type *Ty);
2438 Value *createSExt(Instruction *Inst, Value *Opnd, Type *Ty);
2440 Value *createZExt(Instruction *Inst, Value *Opnd, Type *Ty);
2472 Value *TypePromotionTransaction::createTrunc(Instruction *Opnd,
2474 std::unique_ptr<TruncBuilder> Ptr(new TruncBuilder(Opnd, Ty));
2481 Value *Opnd, Type *Ty) {
2482 std::unique_ptr<SExtBuilder> Ptr(new SExtBuilder(Inst, Opnd, Ty));
2489 Value *Opnd, Type *Ty) {
2490 std::unique_ptr<ZExtBuilder> Ptr(new ZExtBuilder(Inst, Opnd, Ty));
2830 // ext(trunc(opnd)) --> ext(opnd)
2845 Instruction *Opnd = dyn_cast<Instruction>(OpndVal);
2846 if (!Opnd)
2854 InstrToOrigTy::const_iterator It = PromotedInsts.find(Opnd);
2857 else if ((IsSExt && isa<SExtInst>(Opnd)) || (!IsSExt && isa<ZExtInst>(Opnd)))
2858 OpndType = Opnd->getOperand(0)->getType();
2911 // Replace s|zext(zext(opnd))
2912 // => zext(opnd).
2920 // Replace z|sext(trunc(opnd)) or sext(sext(opnd))
2921 // => z|sext(opnd).
2941 // At this point we have: ext ty opnd to ty.
2942 // Reassign the uses of ExtInst to the opnd and remove ExtInst.
3004 Value *Opnd = ExtOpnd->getOperand(OpIdx);
3005 if (const ConstantInt *Cst = dyn_cast<ConstantInt>(Opnd)) {
3014 if (isa<UndefValue>(Opnd)) {
3025 Value *ValForExtOpnd = IsSExt ? TPT.createSExt(Ext, Opnd, Ext->getType())
3026 : TPT.createZExt(Ext, Opnd, Ext->getType());
3035 TPT.setOperand(ExtForOpnd, 0, Opnd);
3282 // op = add opnd, 1
3286 // promotedOpnd = ext opnd <- no match here