Lines Matching refs:Formula
315 struct Formula { struct
353 Formula() = default;
435 void Formula::initialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE) { in initialMatch()
457 bool Formula::isCanonical(const Loop &L) const { in isCanonical()
488 void Formula::canonicalize(const Loop &L) { in canonicalize()
521 bool Formula::unscale() { in unscale()
530 bool Formula::hasZeroEnd() const { in hasZeroEnd()
540 size_t Formula::getNumRegs() const { in getNumRegs()
546 Type *Formula::getType() const { in getType()
554 void Formula::deleteBaseReg(const SCEV *&S) { in deleteBaseReg()
561 bool Formula::referencesReg(const SCEV *S) const { in referencesReg()
567 bool Formula::hasRegsUsedByUsesOtherThan(size_t LUIdx, in hasRegsUsedByUsesOtherThan()
579 void Formula::print(raw_ostream &OS) const { in print()
615 LLVM_DUMP_METHOD void Formula::dump() const { in dump()
999 const LSRUse &LU, const Formula &F);
1003 const LSRUse &LU, const Formula &F,
1044 const Formula &F,
1173 SmallVector<Formula, 12> Formulae;
1193 bool HasFormulaWithSameRegs(const Formula &F) const;
1195 bool InsertFormula(const Formula &F, const Loop &L);
1196 void DeleteFormula(Formula &F);
1300 const Formula &F, in RateFormula()
1491 bool LSRUse::HasFormulaWithSameRegs(const Formula &F) const { in HasFormulaWithSameRegs()
1502 for (const Formula &F : Formulae) in getNotSelectedProbability()
1510 bool LSRUse::InsertFormula(const Formula &F, const Loop &L) { in InsertFormula()
1544 void LSRUse::DeleteFormula(Formula &F) { in DeleteFormula()
1555 for (const Formula &F : Formulae) { in RecomputeRegs()
1683 const Formula &F, const Loop &L) { in isAMCompletelyFolded()
1713 MemAccessTy AccessTy, const Formula &F) { in isLegalUse()
1719 const LSRUse &LU, const Formula &F) { in isAMCompletelyFolded()
1736 const LSRUse &LU, const Formula &F, in getScalingFactorCost()
1956 LSRUse *FindUseWithSimilarFormula(const Formula &F, const LSRUse &OrigLU);
1960 void CountRegisters(const Formula &F, size_t LUIdx);
1961 bool InsertFormula(LSRUse &LU, unsigned LUIdx, const Formula &F);
1965 void GenerateReassociations(LSRUse &LU, unsigned LUIdx, Formula Base,
1969 const Formula &Base, unsigned Depth,
1971 void GenerateCombinations(LSRUse &LU, unsigned LUIdx, Formula Base);
1973 const Formula &Base, size_t Idx,
1975 void GenerateSymbolicOffsets(LSRUse &LU, unsigned LUIdx, Formula Base);
1977 const Formula &Base,
1980 void GenerateConstantOffsets(LSRUse &LU, unsigned LUIdx, Formula Base);
1981 void GenerateICmpZeroScales(LSRUse &LU, unsigned LUIdx, Formula Base);
1982 void GenerateScales(LSRUse &LU, unsigned LUIdx, Formula Base);
1983 void GenerateTruncates(LSRUse &LU, unsigned LUIdx, Formula Base);
1998 void SolveRecurse(SmallVectorImpl<const Formula *> &Solution,
2000 SmallVectorImpl<const Formula *> &Workspace,
2004 void Solve(SmallVectorImpl<const Formula *> &Solution) const;
2015 Value *Expand(const LSRUse &LU, const LSRFixup &LF, const Formula &F,
2019 const Formula &F, SCEVExpander &Rewriter,
2021 void Rewrite(const LSRUse &LU, const LSRFixup &LF, const Formula &F,
2024 void ImplementSolution(const SmallVectorImpl<const Formula *> &Solution);
2585 LSRInstance::FindUseWithSimilarFormula(const Formula &OrigF, in FindUseWithSimilarFormula()
2601 for (const Formula &F : LU.Formulae) { in FindUseWithSimilarFormula()
3307 Formula F; in InsertInitialFormula()
3318 Formula F; in InsertSupplementalFormula()
3326 void LSRInstance::CountRegisters(const Formula &F, size_t LUIdx) { in CountRegisters()
3335 bool LSRInstance::InsertFormula(LSRUse &LU, unsigned LUIdx, const Formula &F) { in InsertFormula()
3534 const Formula &Base, in GenerateReassociationsImpl()
3582 Formula F = Base; in GenerateReassociationsImpl()
3627 Formula Base, unsigned Depth) { in GenerateReassociations()
3644 Formula Base) { in GenerateCombinations()
3654 Formula NewBase = Base; in GenerateCombinations()
3675 Formula F = NewBase; in GenerateCombinations()
3707 const Formula &Base, size_t Idx, in GenerateSymbolicOffsetsImpl()
3713 Formula F = Base; in GenerateSymbolicOffsetsImpl()
3726 Formula Base) { in GenerateSymbolicOffsets()
3739 LSRUse &LU, unsigned LUIdx, const Formula &Base, in GenerateConstantOffsetsImpl()
3743 Formula F = Base; in GenerateConstantOffsetsImpl()
3769 Formula F = Base; in GenerateConstantOffsetsImpl()
3782 Formula Base) { in GenerateConstantOffsets()
3800 Formula Base) { in GenerateICmpZeroScales()
3844 Formula F = Base; in GenerateICmpZeroScales()
3892 void LSRInstance::GenerateScales(LSRUse &LU, unsigned LUIdx, Formula Base) { in GenerateScales()
3937 Formula F = Base; in GenerateScales()
3958 void LSRInstance::GenerateTruncates(LSRUse &LU, unsigned LUIdx, Formula Base) { in GenerateTruncates()
3969 Formula F = Base; in GenerateTruncates()
4107 Formula F = LU.Formulae[L]; in GenerateCrossUseConstantOffsets()
4120 Formula NewF = F; in GenerateCrossUseConstantOffsets()
4145 Formula NewF = F; in GenerateCrossUseConstantOffsets()
4243 Formula &F = LU.Formulae[FIdx]; in FilterOutUndesirableDedicatedRegisters()
4283 Formula &Best = LU.Formulae[P.first->second]; in FilterOutUndesirableDedicatedRegisters()
4352 Formula &F = LU.Formulae[i]; in NarrowSearchSpaceByDetectingSupersets()
4359 Formula NewF = F; in NarrowSearchSpaceByDetectingSupersets()
4375 Formula NewF = F; in NarrowSearchSpaceByDetectingSupersets()
4415 for (const Formula &F : LU.Formulae) { in NarrowSearchSpaceByCollapsingUnrolledCode()
4441 Formula &F = LUThatHas->Formulae[i]; in NarrowSearchSpaceByCollapsingUnrolledCode()
4516 auto IsBetterThan = [&](Formula &FA, Formula &FB) { in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
4547 Formula &F = LU.Formulae[FIdx]; in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
4554 Formula &Best = LU.Formulae[P.first->second]; in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
4671 Formula &F = LU.Formulae[i]; in NarrowSearchSpaceByDeletingCostlyFormulas()
4709 Formula &F = LU.Formulae[0]; in NarrowSearchSpaceByDeletingCostlyFormulas()
4762 Formula &F = LU.Formulae[i]; in NarrowSearchSpaceByPickingWinnerRegs()
4799 void LSRInstance::SolveRecurse(SmallVectorImpl<const Formula *> &Solution, in SolveRecurse()
4801 SmallVectorImpl<const Formula *> &Workspace, in SolveRecurse()
4828 for (const Formula &F : LU.Formulae) { in SolveRecurse()
4876 void LSRInstance::Solve(SmallVectorImpl<const Formula *> &Solution) const { in Solve()
4877 SmallVector<const Formula *, 8> Workspace; in Solve()
5035 const Formula &F, BasicBlock::iterator IP, in Expand()
5213 PHINode *PN, const LSRUse &LU, const LSRFixup &LF, const Formula &F, in RewriteForPHI()
5287 const Formula &F, SCEVExpander &Rewriter, in Rewrite()
5323 const SmallVectorImpl<const Formula *> &Solution) { in ImplementSolution()
5448 SmallVector<const Formula *, 8> Solution; in LSRInstance()
5462 for (const Formula &F : LU.Formulae) in LSRInstance()
5509 for (const Formula &F : LU.Formulae) { in print_uses()