Lines Matching refs:ExtendKind
1028 enum class ExtendKind { Zero, Sign, Unknown }; enum in __anon0030acaf0311::WidenIV
1034 DenseMap<AssertingVH<Instruction>, ExtendKind> ExtendKindMap;
1103 ExtendKind getExtendKind(Instruction *I);
1105 using WidenedRecTy = std::pair<const SCEVAddRecExpr *, ExtendKind>;
1185 ExtendKindMap[OrigPhi] = WI.IsSigned ? ExtendKind::Sign : ExtendKind::Zero; in WidenIV()
1238 bool IsSigned = getExtendKind(NarrowDef) == ExtendKind::Sign; in cloneBitwiseIVUser()
1303 bool SignExtend = getExtendKind(NarrowDef) == ExtendKind::Sign; in cloneArithmeticIVUser()
1329 WidenIV::ExtendKind WidenIV::getExtendKind(Instruction *I) { in getExtendKind()
1363 return {nullptr, ExtendKind::Unknown}; in getExtendedOperandRecurrence()
1374 ExtendKind ExtKind = getExtendKind(DU.NarrowDef); in getExtendedOperandRecurrence()
1375 if (ExtKind == ExtendKind::Sign && OBO->hasNoSignedWrap()) in getExtendedOperandRecurrence()
1378 else if (ExtKind == ExtendKind::Zero && OBO->hasNoUnsignedWrap()) in getExtendedOperandRecurrence()
1382 return {nullptr, ExtendKind::Unknown}; in getExtendedOperandRecurrence()
1400 return {nullptr, ExtendKind::Unknown}; in getExtendedOperandRecurrence()
1412 return {nullptr, ExtendKind::Unknown}; in getWideRecurrence()
1419 return {nullptr, ExtendKind::Unknown}; in getWideRecurrence()
1423 ExtendKind ExtKind; in getWideRecurrence()
1427 ExtKind = ExtendKind::Sign; in getWideRecurrence()
1430 ExtKind = ExtendKind::Zero; in getWideRecurrence()
1432 } else if (getExtendKind(DU.NarrowDef) == ExtendKind::Sign) { in getWideRecurrence()
1434 ExtKind = ExtendKind::Sign; in getWideRecurrence()
1437 ExtKind = ExtendKind::Zero; in getWideRecurrence()
1441 return {nullptr, ExtendKind::Unknown}; in getWideRecurrence()
1481 bool IsSigned = getExtendKind(DU.NarrowDef) == ExtendKind::Sign; in widenLoopCompare()
1545 ExtendKind ExtKind = getExtendKind(NarrowDef); in widenWithVariantUse()
1546 bool CanSignExtend = ExtKind == ExtendKind::Sign && OBO->hasNoSignedWrap(); in widenWithVariantUse()
1547 bool CanZeroExtend = ExtKind == ExtendKind::Zero && OBO->hasNoUnsignedWrap(); in widenWithVariantUse()
1577 if (ExtKind == ExtendKind::Zero && ICmpInst::isSigned(Pred)) in widenWithVariantUse()
1579 if (ExtKind == ExtendKind::Sign && ICmpInst::isUnsigned(Pred)) in widenWithVariantUse()
1584 if (ExtKind == ExtendKind::Sign) in widenWithVariantUse()
1607 if (ExtKind != ExtendKind::Zero) in widenWithVariantUse()
1622 AnotherOpExtKind = ExtendKind::Sign; in widenWithVariantUse()
1638 AnotherOpExtKind == ExtendKind::Sign, NarrowUse); in widenWithVariantUse()
1643 AnotherOpExtKind == ExtendKind::Sign, NarrowUse); in widenWithVariantUse()
1682 if (ExtKind == ExtendKind::Zero) in widenWithVariantUse()
1738 return DU.NeverNegative || getExtendKind(DU.NarrowDef) == ExtendKind::Sign; in widenIVUse()
1741 return DU.NeverNegative || getExtendKind(DU.NarrowDef) == ExtendKind::Zero; in widenIVUse()
1790 (WideAddRec.second == ExtendKind::Unknown)); in widenIVUse()
1885 const SCEV *WideIVExpr = getExtendKind(OrigPhi) == ExtendKind::Sign in createWideIV()