Lines Matching refs:ScaledReg
370 const SCEV *ScaledReg = nullptr; member
482 if (!ScaledReg) in isCanonical()
491 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in isCanonical()
517 assert(ScaledReg && "Expected 1*reg => reg"); in canonicalize()
519 BaseRegs.push_back(ScaledReg); in canonicalize()
521 ScaledReg = nullptr; in canonicalize()
526 if (!ScaledReg) { in canonicalize()
527 ScaledReg = BaseRegs.pop_back_val(); in canonicalize()
534 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in canonicalize()
541 std::swap(ScaledReg, *I); in canonicalize()
554 BaseRegs.push_back(ScaledReg); in unscale()
555 ScaledReg = nullptr; in unscale()
562 if (BaseRegs.size() != 1 || ScaledReg) in hasZeroEnd()
570 return !!ScaledReg + BaseRegs.size(); in getNumRegs()
577 ScaledReg ? ScaledReg->getType() : in getType()
591 return S == ScaledReg || is_contained(BaseRegs, S); in referencesReg()
598 if (ScaledReg) in hasRegsUsedByUsesOtherThan()
599 if (RegUses.isRegUsedByUsesOtherThan(ScaledReg, LUIdx)) in hasRegsUsedByUsesOtherThan()
632 if (ScaledReg) in print()
633 OS << *ScaledReg; in print()
1360 if (const SCEV *ScaledReg = F.ScaledReg) { in RateFormula() local
1361 if (VisitedRegs.count(ScaledReg)) { in RateFormula()
1365 RatePrimaryRegister(F, ScaledReg, Regs, LoserRegs); in RateFormula()
1544 if (F.ScaledReg) Key.push_back(F.ScaledReg); in HasFormulaWithSameRegs()
1568 if (F.ScaledReg) Key.push_back(F.ScaledReg); in InsertFormula()
1576 assert((!F.ScaledReg || !F.ScaledReg->isZero()) && in InsertFormula()
1588 if (F.ScaledReg) in InsertFormula()
1589 Regs.insert(F.ScaledReg); in InsertFormula()
1607 if (F.ScaledReg) Regs.insert(F.ScaledReg); in RecomputeRegs()
2669 F.ScaledReg == OrigF.ScaledReg && in FindUseWithSimilarFormula()
3411 if (F.ScaledReg) in CountRegisters()
3412 RegUses.countRegister(F.ScaledReg, LUIdx); in CountRegisters()
3621 const SCEV *BaseReg = IsScaledReg ? Base.ScaledReg : Base.BaseRegs[Idx]; in GenerateReassociationsImpl()
3676 F.ScaledReg = nullptr; in GenerateReassociationsImpl()
3680 F.ScaledReg = InnerSum; in GenerateReassociationsImpl()
3793 const SCEV *G = IsScaledReg ? Base.ScaledReg : Base.BaseRegs[Idx]; in GenerateSymbolicOffsetsImpl()
3802 F.ScaledReg = G; in GenerateSymbolicOffsetsImpl()
3837 F.ScaledReg = nullptr; in GenerateConstantOffsetsImpl()
3842 F.ScaledReg = NewG; in GenerateConstantOffsetsImpl()
3850 const SCEV *G = IsScaledReg ? Base.ScaledReg : Base.BaseRegs[Idx]; in GenerateConstantOffsetsImpl()
3886 F.ScaledReg = G; in GenerateConstantOffsetsImpl()
3928 if (Base.ScaledReg && Base.ScaledReg->getType()->isPointerTy()) in GenerateICmpZeroScales()
3981 if (F.ScaledReg) { in GenerateICmpZeroScales()
3982 F.ScaledReg = SE.getMulExpr(F.ScaledReg, FactorS); in GenerateICmpZeroScales()
3983 if (getExactSDiv(F.ScaledReg, FactorS, SE) != Base.ScaledReg) in GenerateICmpZeroScales()
4055 F.ScaledReg = Quotient; in GenerateScales()
4093 if (F.ScaledReg) { in GenerateTruncates()
4094 const SCEV *NewScaledReg = SE.getAnyExtendExpr(F.ScaledReg, SrcTy); in GenerateTruncates()
4097 F.ScaledReg = NewScaledReg; in GenerateTruncates()
4256 if (F.ScaledReg == OrigReg) { in GenerateCrossUseConstantOffsets()
4267 NewF.ScaledReg = SE.getAddExpr(NegImmS, NewF.ScaledReg); in GenerateCrossUseConstantOffsets()
4272 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(NewF.ScaledReg)) in GenerateCrossUseConstantOffsets()
4413 if (F.ScaledReg && in FilterOutUndesirableDedicatedRegisters()
4414 RegUses.isRegUsedByUsesOtherThan(F.ScaledReg, LUIdx)) in FilterOutUndesirableDedicatedRegisters()
4415 Key.push_back(F.ScaledReg); in FilterOutUndesirableDedicatedRegisters()
4693 if (!F.ScaledReg) in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
4695 auto P = BestFormulae.insert({{F.ScaledReg, F.Scale}, FIdx}); in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
4875 if (const SCEV *ScaledReg = F.ScaledReg) { in NarrowSearchSpaceByDeletingCostlyFormulas() local
4876 if (!UniqRegs.count(ScaledReg)) { in NarrowSearchSpaceByDeletingCostlyFormulas()
4878 RegNumMap[ScaledReg] / LU.getNotSelectedProbability(ScaledReg); in NarrowSearchSpaceByDeletingCostlyFormulas()
4879 if (isa<SCEVAddRecExpr>(ScaledReg)) in NarrowSearchSpaceByDeletingCostlyFormulas()
4881 RegNumMap[ScaledReg] / LU.getNotSelectedProbability(ScaledReg); in NarrowSearchSpaceByDeletingCostlyFormulas()
4906 if (F.ScaledReg) in NarrowSearchSpaceByDeletingCostlyFormulas()
4907 UniqRegs.insert(F.ScaledReg); in NarrowSearchSpaceByDeletingCostlyFormulas()
5033 if ((F.ScaledReg && F.ScaledReg == Reg) || in SolveRecurse()
5058 VisitedRegs.insert(F.ScaledReg ? F.ScaledReg : F.BaseRegs[0]); in SolveRecurse()
5278 const SCEV *ScaledS = F.ScaledReg; in Expand()