Home | History | Annotate | Download | only in Scalar

Lines Matching refs:WideDef

853   Instruction *WideDef = nullptr;
862 : NarrowDef(ND), NarrowUse(NU), WideDef(WD),
932 void pushNarrowIVUsers(Instruction *NarrowDef, Instruction *WideDef);
989 Instruction *WideDef = DU.WideDef;
993 // Replace NarrowDef operands with WideDef. Otherwise, we don't know anything
998 ? WideDef
1002 ? WideDef
1019 Instruction *WideDef = DU.WideDef;
1027 // Widen(NarrowDef `op` NonIVNarrowDef) == WideAR == WideDef `op.wide` X
1045 WideLHS = SE->getSCEV(WideDef);
1051 WideRHS = SE->getSCEV(WideDef);
1054 // WideUse is "WideDef `op.wide` X" as described in the comment.
1089 ? WideDef
1093 ? WideDef
1132 // One operand (NarrowDef) has already been extended to WideDef. Now determine
1155 const SCEV *lhs = SE->getSCEV(DU.WideDef);
1198 DEBUG(dbgs() << "INDVARS: Truncate IV " << *DU.WideDef
1202 Value *Trunc = Builder.CreateTrunc(DU.WideDef, DU.NarrowDef->getType());
1240 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, DU.WideDef);
1270 PHINode::Create(DU.WideDef->getType(), 1, UsePhi->getName() + ".wide",
1272 WidePhi->addIncoming(DU.WideDef, UsePhi->getIncomingBlock(0));
1285 Value *NewDef = DU.WideDef;
1292 NewDef = Builder.CreateTrunc(DU.WideDef, DU.NarrowUse->getType());
1300 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, DU.WideDef);
1306 << " replaced by " << *DU.WideDef << "\n");
1315 // push the uses of WideDef here.
1371 void WidenIV::pushNarrowIVUsers(Instruction *NarrowDef, Instruction *WideDef) {
1383 NarrowIVUsers.emplace_back(NarrowDef, NarrowUser, WideDef, NeverNegative);