Lines Matching refs:NarrowDef
1054 void calculatePostIncRange(Instruction *NarrowDef, Instruction *NarrowUser);
1070 Instruction *NarrowDef = nullptr; member
1081 : NarrowDef(ND), NarrowUse(NU), WideDef(WD), in NarrowIVDefUse()
1119 void pushNarrowIVUsers(Instruction *NarrowDef, Instruction *WideDef);
1229 Instruction *NarrowDef = DU.NarrowDef; in cloneBitwiseIVUser() local
1238 bool IsSigned = getExtendKind(NarrowDef) == ExtendKind::Sign; in cloneBitwiseIVUser()
1239 Value *LHS = (NarrowUse->getOperand(0) == NarrowDef) in cloneBitwiseIVUser()
1243 Value *RHS = (NarrowUse->getOperand(1) == NarrowDef) in cloneBitwiseIVUser()
1260 Instruction *NarrowDef = DU.NarrowDef; in cloneArithmeticIVUser() local
1265 unsigned IVOpIdx = (NarrowUse->getOperand(0) == NarrowDef) ? 0 : 1; in cloneArithmeticIVUser()
1303 bool SignExtend = getExtendKind(NarrowDef) == ExtendKind::Sign; in cloneArithmeticIVUser()
1310 Value *LHS = (NarrowUse->getOperand(0) == NarrowDef) in cloneArithmeticIVUser()
1314 Value *RHS = (NarrowUse->getOperand(1) == NarrowDef) in cloneArithmeticIVUser()
1368 DU.NarrowUse->getOperand(0) == DU.NarrowDef ? 1 : 0; in getExtendedOperandRecurrence()
1369 assert(DU.NarrowUse->getOperand(1-ExtendOperIdx) == DU.NarrowDef && "bad DU"); in getExtendedOperandRecurrence()
1374 ExtendKind ExtKind = getExtendKind(DU.NarrowDef); in getExtendedOperandRecurrence()
1432 } else if (getExtendKind(DU.NarrowDef) == ExtendKind::Sign) { in getWideRecurrence()
1449 auto *InsertPt = getInsertPointForUses(DU.NarrowUse, DU.NarrowDef, DT, LI); in truncateIVUse()
1455 Value *Trunc = Builder.CreateTrunc(DU.WideDef, DU.NarrowDef->getType()); in truncateIVUse()
1456 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, Trunc); in truncateIVUse()
1481 bool IsSigned = getExtendKind(DU.NarrowDef) == ExtendKind::Sign; in widenLoopCompare()
1485 Value *Op = Cmp->getOperand(Cmp->getOperand(0) == DU.NarrowDef ? 1 : 0); in widenLoopCompare()
1491 auto *InsertPt = getInsertPointForUses(DU.NarrowUse, DU.NarrowDef, DT, LI); in widenLoopCompare()
1495 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, DU.WideDef); in widenLoopCompare()
1527 Instruction *NarrowDef = DU.NarrowDef; in widenWithVariantUse() local
1539 assert((NarrowUse->getOperand(0) == NarrowDef || in widenWithVariantUse()
1540 NarrowUse->getOperand(1) == NarrowDef) && in widenWithVariantUse()
1545 ExtendKind ExtKind = getExtendKind(NarrowDef); in widenWithVariantUse()
1560 if (User == NarrowDef) in widenWithVariantUse()
1612 if (NarrowUse->getOperand(0) != NarrowDef) in widenWithVariantUse()
1635 (NarrowUse->getOperand(0) == NarrowDef) in widenWithVariantUse()
1640 (NarrowUse->getOperand(1) == NarrowDef) in widenWithVariantUse()
1702 assert(ExtendKindMap.count(DU.NarrowDef) && in widenIVUse()
1725 Value *Trunc = Builder.CreateTrunc(WidePhi, DU.NarrowDef->getType()); in widenIVUse()
1738 return DU.NeverNegative || getExtendKind(DU.NarrowDef) == ExtendKind::Sign; in widenIVUse()
1741 return DU.NeverNegative || getExtendKind(DU.NarrowDef) == ExtendKind::Zero; in widenIVUse()
1763 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, DU.WideDef); in widenIVUse()
1846 void WidenIV::pushNarrowIVUsers(Instruction *NarrowDef, Instruction *WideDef) { in pushNarrowIVUsers() argument
1847 const SCEV *NarrowSCEV = SE->getSCEV(NarrowDef); in pushNarrowIVUsers()
1851 for (User *U : NarrowDef->users()) { in pushNarrowIVUsers()
1861 if (auto RangeInfo = getPostIncRangeInfo(NarrowDef, NarrowUser)) in pushNarrowIVUsers()
1865 NarrowIVUsers.emplace_back(NarrowDef, NarrowUser, WideDef, in pushNarrowIVUsers()
1972 if (DU.NarrowDef->use_empty()) in createWideIV()
1973 DeadInsts.emplace_back(DU.NarrowDef); in createWideIV()
1984 void WidenIV::calculatePostIncRange(Instruction *NarrowDef, in calculatePostIncRange() argument
1990 if (!match(NarrowDef, m_NSWAdd(m_Value(NarrowDefLHS), in calculatePostIncRange()
2012 updatePostIncRangeInfo(NarrowDef, NarrowUser, NarrowDefRange); in calculatePostIncRange()
2070 Instruction *NarrowDef = Worklist.pop_back_val(); in calculatePostIncRanges() local
2072 for (Use &U : NarrowDef->uses()) { in calculatePostIncRanges()
2085 calculatePostIncRange(NarrowDef, NarrowUser); in calculatePostIncRanges()