Lines Matching refs:Scale
326 int64_t Scale = 0; member
461 if (Scale != 1) in isCanonical()
464 if (Scale == 1 && BaseRegs.empty()) in isCanonical()
499 Scale = 1; in canonicalize()
522 if (Scale != 1) in unscale()
524 Scale = 0; in unscale()
600 if (Scale != 0) { in print()
602 OS << Scale << "*reg("; in print()
1208 bool HasBaseReg, int64_t Scale,
1337 NumBaseParts - (1 + (F.Scale && isAMCompletelyFolded(TTI, LU, F))); in RateFormula()
1357 Offset, F.HasBaseReg, F.Scale, Fixup.UserInst)) in RateFormula()
1608 bool HasBaseReg, int64_t Scale, in isAMCompletelyFolded() argument
1613 HasBaseReg, Scale, AccessTy.AddrSpace, Fixup); in isAMCompletelyFolded()
1622 if (Scale != 0 && HasBaseReg && BaseOffset != 0) in isAMCompletelyFolded()
1627 if (Scale != 0 && Scale != -1) in isAMCompletelyFolded()
1637 if (Scale == 0) in isAMCompletelyFolded()
1649 return !BaseGV && Scale == 0 && BaseOffset == 0; in isAMCompletelyFolded()
1653 return !BaseGV && (Scale == 0 || Scale == -1) && BaseOffset == 0; in isAMCompletelyFolded()
1663 bool HasBaseReg, int64_t Scale) { in isAMCompletelyFolded() argument
1675 HasBaseReg, Scale) && in isAMCompletelyFolded()
1677 HasBaseReg, Scale); in isAMCompletelyFolded()
1691 assert((F.isCanonical(L) || F.Scale != 0)); in isAMCompletelyFolded()
1693 F.BaseGV, F.BaseOffset, F.HasBaseReg, F.Scale); in isAMCompletelyFolded()
1700 int64_t BaseOffset, bool HasBaseReg, int64_t Scale) { in isLegalUse() argument
1703 BaseOffset, HasBaseReg, Scale) || in isLegalUse()
1706 (Scale == 1 && in isLegalUse()
1715 F.BaseOffset, F.HasBaseReg, F.Scale); in isLegalUse()
1725 F.Scale, Fixup.UserInst)) in isAMCompletelyFolded()
1732 F.Scale); in isAMCompletelyFolded()
1738 if (!F.Scale) in getScalingFactorCost()
1745 return F.Scale != 1; in getScalingFactorCost()
1752 F.Scale, LU.AccessTy.AddrSpace); in getScalingFactorCost()
1755 F.Scale, LU.AccessTy.AddrSpace); in getScalingFactorCost()
1781 int64_t Scale = Kind == LSRUse::ICmpZero ? -1 : 1; in isAlwaysFoldable() local
1785 if (!HasBaseReg && Scale == 1) { in isAlwaysFoldable()
1786 Scale = 0; in isAlwaysFoldable()
1791 HasBaseReg, Scale); in isAlwaysFoldable()
1815 int64_t Scale = Kind == LSRUse::ICmpZero ? -1 : 1; in isAlwaysFoldable() local
1818 BaseOffset, HasBaseReg, Scale); in isAlwaysFoldable()
2426 int64_t Scale = C->getSExtValue(); in OptimizeLoopTermCond() local
2429 /*HasBaseReg=*/false, Scale, in OptimizeLoopTermCond()
2432 Scale = -Scale; in OptimizeLoopTermCond()
2435 /*HasBaseReg=*/false, Scale, in OptimizeLoopTermCond()
2607 F.Scale == OrigF.Scale && in FindUseWithSimilarFormula()
3636 if (Base.Scale == 1) in GenerateReassociations()
3646 if (Base.BaseRegs.size() + (Base.Scale == 1) + in GenerateCombinations()
3732 if (Base.Scale == 1) in GenerateSymbolicOffsets()
3752 F.Scale = 0; in GenerateConstantOffsetsImpl()
3792 if (Base.Scale == 1) in GenerateConstantOffsets()
3899 if (Base.Scale != 0 && !Base.unscale()) in GenerateScales()
3902 assert(Base.Scale == 0 && "unscale did not did its job!"); in GenerateScales()
3906 Base.Scale = Factor; in GenerateScales()
3943 if (F.Scale == 1 && (F.BaseRegs.empty() || in GenerateScales()
3948 if (F.Scale == 1 && LU.AllFixupsOutsideLoop) in GenerateScales()
4115 int64_t Offset = (uint64_t)F.BaseOffset + Imm * (uint64_t)F.Scale; in GenerateCrossUseConstantOffsets()
4132 (C->getAPInt().abs() * APInt(BitWidth, F.Scale)) in GenerateCrossUseConstantOffsets()
4416 if (F.BaseOffset == 0 || (F.Scale != 0 && F.Scale != 1)) in NarrowSearchSpaceByCollapsingUnrolledCode()
4550 auto P = BestFormulae.insert({{F.ScaledReg, F.Scale}, FIdx}); in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
5077 if (F.Scale != 0) { in Expand()
5086 if (F.Scale == 1) in Expand()
5093 assert(F.Scale == -1 && in Expand()
5110 if (F.Scale != 1) in Expand()
5112 SE.getMulExpr(ScaledS, SE.getConstant(ScaledS->getType(), F.Scale)); in Expand()
5180 if (F.Scale == -1) { in Expand()
5192 assert((F.Scale == 0 || F.Scale == 1) && in Expand()