Lines Matching refs:Scale
350 int64_t Scale = 0; member
485 if (Scale != 1) in isCanonical()
488 if (Scale == 1 && BaseRegs.empty()) in isCanonical()
518 assert(Scale == 1 && "Expected 1*reg => reg"); in canonicalize()
520 Scale = 0; in canonicalize()
528 Scale = 1; in canonicalize()
551 if (Scale != 1) in unscale()
553 Scale = 0; in unscale()
629 if (Scale != 0) { in print()
631 OS << Scale << "*reg("; in print()
1242 bool HasBaseReg, int64_t Scale,
1385 NumBaseParts - (1 + (F.Scale && isAMCompletelyFolded(*TTI, LU, F))); in RateFormula()
1405 Offset, F.HasBaseReg, F.Scale, Fixup.UserInst)) in RateFormula()
1659 bool HasBaseReg, int64_t Scale, in isAMCompletelyFolded() argument
1664 HasBaseReg, Scale, AccessTy.AddrSpace, Fixup); in isAMCompletelyFolded()
1673 if (Scale != 0 && HasBaseReg && BaseOffset != 0) in isAMCompletelyFolded()
1678 if (Scale != 0 && Scale != -1) in isAMCompletelyFolded()
1688 if (Scale == 0) in isAMCompletelyFolded()
1700 return !BaseGV && Scale == 0 && BaseOffset == 0; in isAMCompletelyFolded()
1704 return !BaseGV && (Scale == 0 || Scale == -1) && BaseOffset == 0; in isAMCompletelyFolded()
1714 bool HasBaseReg, int64_t Scale) { in isAMCompletelyFolded() argument
1726 HasBaseReg, Scale) && in isAMCompletelyFolded()
1728 HasBaseReg, Scale); in isAMCompletelyFolded()
1742 assert((F.isCanonical(L) || F.Scale != 0)); in isAMCompletelyFolded()
1744 F.BaseGV, F.BaseOffset, F.HasBaseReg, F.Scale); in isAMCompletelyFolded()
1751 int64_t BaseOffset, bool HasBaseReg, int64_t Scale) { in isLegalUse() argument
1754 BaseOffset, HasBaseReg, Scale) || in isLegalUse()
1757 (Scale == 1 && in isLegalUse()
1766 F.BaseOffset, F.HasBaseReg, F.Scale); in isLegalUse()
1776 F.Scale, Fixup.UserInst)) in isAMCompletelyFolded()
1783 F.Scale); in isAMCompletelyFolded()
1789 if (!F.Scale) in getScalingFactorCost()
1796 return F.Scale != 1; in getScalingFactorCost()
1803 F.Scale, LU.AccessTy.AddrSpace); in getScalingFactorCost()
1806 F.Scale, LU.AccessTy.AddrSpace); in getScalingFactorCost()
1832 int64_t Scale = Kind == LSRUse::ICmpZero ? -1 : 1; in isAlwaysFoldable() local
1836 if (!HasBaseReg && Scale == 1) { in isAlwaysFoldable()
1837 Scale = 0; in isAlwaysFoldable()
1842 HasBaseReg, Scale); in isAlwaysFoldable()
1866 int64_t Scale = Kind == LSRUse::ICmpZero ? -1 : 1; in isAlwaysFoldable() local
1869 BaseOffset, HasBaseReg, Scale); in isAlwaysFoldable()
2490 int64_t Scale = C->getSExtValue(); in OptimizeLoopTermCond() local
2493 /*HasBaseReg=*/false, Scale, in OptimizeLoopTermCond()
2496 Scale = -Scale; in OptimizeLoopTermCond()
2499 /*HasBaseReg=*/false, Scale, in OptimizeLoopTermCond()
2671 F.Scale == OrigF.Scale && in FindUseWithSimilarFormula()
3720 if (Base.Scale == 1) in GenerateReassociations()
3730 if (Base.BaseRegs.size() + (Base.Scale == 1) + in GenerateCombinations()
3816 if (Base.Scale == 1) in GenerateSymbolicOffsets()
3836 F.Scale = 0; in GenerateConstantOffsetsImpl()
3908 if (Base.Scale == 1) in GenerateConstantOffsets()
4016 if (Base.Scale != 0 && !Base.unscale()) in GenerateScales()
4019 assert(Base.Scale == 0 && "unscale did not did its job!"); in GenerateScales()
4023 Base.Scale = Factor; in GenerateScales()
4060 if (F.Scale == 1 && (F.BaseRegs.empty() || in GenerateScales()
4065 if (F.Scale == 1 && LU.AllFixupsOutsideLoop) in GenerateScales()
4257 int64_t Offset = (uint64_t)F.BaseOffset + Imm * (uint64_t)F.Scale; in GenerateCrossUseConstantOffsets()
4274 (C->getAPInt().abs() * APInt(BitWidth, F.Scale)) in GenerateCrossUseConstantOffsets()
4560 if (F.BaseOffset == 0 || (F.Scale != 0 && F.Scale != 1)) in NarrowSearchSpaceByCollapsingUnrolledCode()
4695 auto P = BestFormulae.insert({{F.ScaledReg, F.Scale}, FIdx}); in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
5277 if (F.Scale != 0) { in Expand()
5286 if (F.Scale == 1) in Expand()
5293 assert(F.Scale == -1 && in Expand()
5310 if (F.Scale != 1) in Expand()
5312 SE.getMulExpr(ScaledS, SE.getConstant(ScaledS->getType(), F.Scale)); in Expand()
5381 if (F.Scale == -1) { in Expand()
5393 assert((F.Scale == 0 || F.Scale == 1) && in Expand()