Lines Matching refs:User
779 for (User *U : Def->users()) { in pushIVUsers()
1083 static Instruction *getInsertPointForUses(Instruction *User, Value *Def, in getInsertPointForUses() argument
1085 PHINode *PHI = dyn_cast<PHINode>(User); in getInsertPointForUses()
1087 return User; in getInsertPointForUses()
1510 Instruction *User = cast<Instruction>(U.getUser()); in widenWithVariantUse() local
1511 if (User == NarrowDef) in widenWithVariantUse()
1513 if (!L->contains(User)) { in widenWithVariantUse()
1514 auto *LCSSAPhi = cast<PHINode>(User); in widenWithVariantUse()
1522 if (auto *ICmp = dyn_cast<ICmpInst>(User)) { in widenWithVariantUse()
1536 User = dyn_cast<SExtInst>(User); in widenWithVariantUse()
1538 User = dyn_cast<ZExtInst>(User); in widenWithVariantUse()
1539 if (!User || User->getType() != WideType) in widenWithVariantUse()
1541 ExtUsers.push_back(User); in widenWithVariantUse()
1602 for (Instruction *User : ExtUsers) { in widenWithVariantUse()
1603 assert(User->getType() == WideType && "Checked before!"); in widenWithVariantUse()
1604 LLVM_DEBUG(dbgs() << "INDVARS: eliminating " << *User << " replaced by " in widenWithVariantUse()
1607 User->replaceAllUsesWith(WideBO); in widenWithVariantUse()
1608 DeadInsts.emplace_back(User); in widenWithVariantUse()
1611 for (PHINode *User : LCSSAPhiUsers) { in widenWithVariantUse()
1612 assert(User->getNumOperands() == 1 && "Checked before!"); in widenWithVariantUse()
1613 Builder.SetInsertPoint(User); in widenWithVariantUse()
1615 Builder.CreatePHI(WideBO->getType(), 1, User->getName() + ".wide"); in widenWithVariantUse()
1616 BasicBlock *LoopExitingBlock = User->getParent()->getSinglePredecessor(); in widenWithVariantUse()
1620 Builder.SetInsertPoint(&*User->getParent()->getFirstInsertionPt()); in widenWithVariantUse()
1621 auto *TruncPN = Builder.CreateTrunc(WidePN, User->getType()); in widenWithVariantUse()
1622 User->replaceAllUsesWith(TruncPN); in widenWithVariantUse()
1623 DeadInsts.emplace_back(User); in widenWithVariantUse()
1626 for (ICmpInst *User : ICmpUsers) { in widenWithVariantUse()
1627 Builder.SetInsertPoint(User); in widenWithVariantUse()
1636 auto Pred = User->getPredicate(); in widenWithVariantUse()
1637 auto *LHS = ExtendedOp(User->getOperand(0)); in widenWithVariantUse()
1638 auto *RHS = ExtendedOp(User->getOperand(1)); in widenWithVariantUse()
1640 Builder.CreateICmp(Pred, LHS, RHS, User->getName() + ".wide"); in widenWithVariantUse()
1641 User->replaceAllUsesWith(WideCmp); in widenWithVariantUse()
1642 DeadInsts.emplace_back(User); in widenWithVariantUse()
1803 for (User *U : NarrowDef->users()) { in pushNarrowIVUsers()