Lines Matching refs:UserI
743 Instruction *UserI = cast<Instruction>(U);
746 if (PHINode *UserPN = dyn_cast<PHINode>(UserI)) {
753 if (isa<TruncInst>(UserI)) {
754 PHIUsers.push_back(PHIUsageRecord(PHIId, 0, UserI));
759 if (UserI->getOpcode() != Instruction::LShr ||
760 !UserI->hasOneUse() || !isa<TruncInst>(UserI->user_back()) ||
761 !isa<ConstantInt>(UserI->getOperand(1)))
764 unsigned Shift = cast<ConstantInt>(UserI->getOperand(1))->getZExtValue();
765 PHIUsers.push_back(PHIUsageRecord(PHIId, Shift, UserI->user_back()));
790 for (unsigned UserI = 0, UserE = PHIUsers.size(); UserI != UserE; ++UserI) {
791 unsigned PHIId = PHIUsers[UserI].PHIId;
793 unsigned Offset = PHIUsers[UserI].Shift;
794 Type *Ty = PHIUsers[UserI].Inst->getType();
867 ReplaceInstUsesWith(*PHIUsers[UserI].Inst, EltPHI);