reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1089 unsigned Opcode = DU.NarrowUse->getOpcode(); 1110 Instruction *NarrowUse = DU.NarrowUse; 1141 Instruction *NarrowUse = DU.NarrowUse; 1256 const unsigned OpCode = DU.NarrowUse->getOpcode(); 1265 DU.NarrowUse->getOperand(0) == DU.NarrowDef ? 1 : 0; 1266 assert(DU.NarrowUse->getOperand(1-ExtendOperIdx) == DU.NarrowDef && "bad DU"); 1270 cast<OverflowingBinaryOperator>(DU.NarrowUse); 1274 SE->getSCEV(DU.NarrowUse->getOperand(ExtendOperIdx)), WideType); 1277 SE->getSCEV(DU.NarrowUse->getOperand(ExtendOperIdx)), WideType); 1308 if (!SE->isSCEVable(DU.NarrowUse->getType())) 1311 const SCEV *NarrowExpr = SE->getSCEV(DU.NarrowUse); 1345 auto *InsertPt = getInsertPointForUses(DU.NarrowUse, DU.NarrowDef, DT, LI); 1349 << *DU.NarrowUse << "\n"); 1352 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, Trunc); 1359 ICmpInst *Cmp = dyn_cast<ICmpInst>(DU.NarrowUse); 1387 auto *InsertPt = getInsertPointForUses(DU.NarrowUse, DU.NarrowDef, DT, LI); 1391 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, DU.WideDef); 1396 DU.NarrowUse->replaceUsesOfWith(Op, ExtOp); 1415 Instruction *NarrowUse = DU.NarrowUse; 1428 unsigned ExtendOperIdx = DU.NarrowUse->getOperand(0) == NarrowDef ? 1 : 0; 1429 assert(DU.NarrowUse->getOperand(1 - ExtendOperIdx) == DU.NarrowDef && 1485 Instruction *NarrowUse = DU.NarrowUse; 1548 if (PHINode *UsePhi = dyn_cast<PHINode>(DU.NarrowUse)) { 1587 if ((isa<SExtInst>(DU.NarrowUse) && canWidenBySExt()) || 1588 (isa<ZExtInst>(DU.NarrowUse) && canWidenByZExt())) { 1590 if (DU.NarrowUse->getType() != WideType) { 1591 unsigned CastWidth = SE->getTypeSizeInBits(DU.NarrowUse->getType()); 1595 IRBuilder<> Builder(DU.NarrowUse); 1596 NewDef = Builder.CreateTrunc(DU.WideDef, DU.NarrowUse->getType()); 1603 << " not wide enough to subsume " << *DU.NarrowUse 1605 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, DU.WideDef); 1606 NewDef = DU.NarrowUse; 1609 if (NewDef != DU.NarrowUse) { 1610 LLVM_DEBUG(dbgs() << "INDVARS: eliminating " << *DU.NarrowUse 1613 DU.NarrowUse->replaceAllUsesWith(NewDef); 1614 DeadInsts.emplace_back(DU.NarrowUse); 1656 assert(DU.NarrowUse != DU.NarrowUse->getParent()->getTerminator() && 1656 assert(DU.NarrowUse != DU.NarrowUse->getParent()->getTerminator() && 1663 Rewriter.hoistIVInc(WideInc, DU.NarrowUse)) 1685 replaceAllDbgUsesWith(*DU.NarrowUse, *WideUse, *WideUse, *DT); 1687 ExtendKindMap[DU.NarrowUse] = WideAddRec.second; 1805 pushNarrowIVUsers(DU.NarrowUse, WideUse);