Lines Matching refs:NarrowDef
904 Instruction *NarrowDef = nullptr; member
915 : NarrowDef(ND), NarrowUse(NU), WideDef(WD), in NarrowIVDefUse()
973 void calculatePostIncRange(Instruction *NarrowDef, Instruction *NarrowUser);
1023 void pushNarrowIVUsers(Instruction *NarrowDef, Instruction *WideDef);
1069 Instruction *NarrowDef = DU.NarrowDef; in cloneBitwiseIVUser() local
1078 bool IsSigned = getExtendKind(NarrowDef) == SignExtended; in cloneBitwiseIVUser()
1079 Value *LHS = (NarrowUse->getOperand(0) == NarrowDef) in cloneBitwiseIVUser()
1083 Value *RHS = (NarrowUse->getOperand(1) == NarrowDef) in cloneBitwiseIVUser()
1100 Instruction *NarrowDef = DU.NarrowDef; in cloneArithmeticIVUser() local
1105 unsigned IVOpIdx = (NarrowUse->getOperand(0) == NarrowDef) ? 0 : 1; in cloneArithmeticIVUser()
1163 bool SignExtend = getExtendKind(NarrowDef) == SignExtended; in cloneArithmeticIVUser()
1170 Value *LHS = (NarrowUse->getOperand(0) == NarrowDef) in cloneArithmeticIVUser()
1174 Value *RHS = (NarrowUse->getOperand(1) == NarrowDef) in cloneArithmeticIVUser()
1223 DU.NarrowUse->getOperand(0) == DU.NarrowDef ? 1 : 0; in getExtendedOperandRecurrence()
1224 assert(DU.NarrowUse->getOperand(1-ExtendOperIdx) == DU.NarrowDef && "bad DU"); in getExtendedOperandRecurrence()
1229 ExtendKind ExtKind = getExtendKind(DU.NarrowDef); in getExtendedOperandRecurrence()
1287 } else if (getExtendKind(DU.NarrowDef) == SignExtended) { in getWideRecurrence()
1306 getInsertPointForUses(DU.NarrowUse, DU.NarrowDef, DT, LI)); in truncateIVUse()
1307 Value *Trunc = Builder.CreateTrunc(DU.WideDef, DU.NarrowDef->getType()); in truncateIVUse()
1308 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, Trunc); in truncateIVUse()
1333 bool IsSigned = getExtendKind(DU.NarrowDef) == SignExtended; in widenLoopCompare()
1337 Value *Op = Cmp->getOperand(Cmp->getOperand(0) == DU.NarrowDef ? 1 : 0); in widenLoopCompare()
1344 getInsertPointForUses(DU.NarrowUse, DU.NarrowDef, DT, LI)); in widenLoopCompare()
1345 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, DU.WideDef); in widenLoopCompare()
1370 Instruction *NarrowDef = DU.NarrowDef; in widenWithVariantLoadUse() local
1382 unsigned ExtendOperIdx = DU.NarrowUse->getOperand(0) == NarrowDef ? 1 : 0; in widenWithVariantLoadUse()
1383 assert(DU.NarrowUse->getOperand(1 - ExtendOperIdx) == DU.NarrowDef && in widenWithVariantLoadUse()
1389 ExtendKind ExtKind = getExtendKind(NarrowDef); in widenWithVariantLoadUse()
1440 Instruction *NarrowDef = DU.NarrowDef; in widenWithVariantLoadUseCodegen() local
1443 ExtendKind ExtKind = getExtendKind(NarrowDef); in widenWithVariantLoadUseCodegen()
1448 Value *LHS = (NarrowUse->getOperand(0) == NarrowDef) in widenWithVariantLoadUseCodegen()
1452 Value *RHS = (NarrowUse->getOperand(1) == NarrowDef) in widenWithVariantLoadUseCodegen()
1498 assert(ExtendKindMap.count(DU.NarrowDef) && in widenIVUse()
1521 Value *Trunc = Builder.CreateTrunc(WidePhi, DU.NarrowDef->getType()); in widenIVUse()
1534 return DU.NeverNegative || getExtendKind(DU.NarrowDef) == SignExtended; in widenIVUse()
1537 return DU.NeverNegative || getExtendKind(DU.NarrowDef) == ZeroExtended; in widenIVUse()
1559 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, DU.WideDef); in widenIVUse()
1643 void WidenIV::pushNarrowIVUsers(Instruction *NarrowDef, Instruction *WideDef) { in pushNarrowIVUsers() argument
1644 const SCEV *NarrowSCEV = SE->getSCEV(NarrowDef); in pushNarrowIVUsers()
1648 for (User *U : NarrowDef->users()) { in pushNarrowIVUsers()
1658 if (auto RangeInfo = getPostIncRangeInfo(NarrowDef, NarrowUser)) in pushNarrowIVUsers()
1662 NarrowIVUsers.emplace_back(NarrowDef, NarrowUser, WideDef, in pushNarrowIVUsers()
1758 if (DU.NarrowDef->use_empty()) in createWideIV()
1759 DeadInsts.emplace_back(DU.NarrowDef); in createWideIV()
1775 void WidenIV::calculatePostIncRange(Instruction *NarrowDef, in calculatePostIncRange() argument
1781 if (!match(NarrowDef, m_NSWAdd(m_Value(NarrowDefLHS), in calculatePostIncRange()
1803 updatePostIncRangeInfo(NarrowDef, NarrowUser, NarrowDefRange); in calculatePostIncRange()
1861 Instruction *NarrowDef = Worklist.pop_back_val(); in calculatePostIncRanges() local
1863 for (Use &U : NarrowDef->uses()) { in calculatePostIncRanges()
1876 calculatePostIncRange(NarrowDef, NarrowUser); in calculatePostIncRanges()