Lines Matching refs:Formula

226 struct Formula {  struct
260 Formula() in Formula() argument
346 void Formula::InitialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE) { in InitialMatch()
368 bool Formula::isCanonical() const { in isCanonical()
380 void Formula::Canonicalize() { in Canonicalize()
401 bool Formula::Unscale() { in Unscale()
413 size_t Formula::getNumRegs() const { in getNumRegs()
419 Type *Formula::getType() const { in getType()
427 void Formula::DeleteBaseReg(const SCEV *&S) { in DeleteBaseReg()
434 bool Formula::referencesReg(const SCEV *S) const { in referencesReg()
441 bool Formula::hasRegsUsedByUsesOtherThan(size_t LUIdx, in hasRegsUsedByUsesOtherThan()
453 void Formula::print(raw_ostream &OS) const { in print()
491 void Formula::dump() const { in dump()
849 const LSRUse &LU, const Formula &F);
852 const LSRUse &LU, const Formula &F);
893 const Formula &F,
985 const Formula &F, in RateFormula()
1249 SmallVector<Formula, 12> Formulae;
1261 bool HasFormulaWithSameRegs(const Formula &F) const;
1262 bool InsertFormula(const Formula &F);
1263 void DeleteFormula(Formula &F);
1274 bool LSRUse::HasFormulaWithSameRegs(const Formula &F) const { in HasFormulaWithSameRegs()
1285 bool LSRUse::InsertFormula(const Formula &F) { in InsertFormula()
1320 void LSRUse::DeleteFormula(Formula &F) { in DeleteFormula()
1331 for (const Formula &F : Formulae) { in RecomputeRegs()
1456 const Formula &F) { in isAMCompletelyFolded()
1486 const Formula &F) { in isLegalUse()
1492 const LSRUse &LU, const Formula &F) { in isAMCompletelyFolded()
1499 const LSRUse &LU, const Formula &F) { in getScalingFactorCost()
1726 LSRUse *FindUseWithSimilarFormula(const Formula &F, const LSRUse &OrigLU);
1730 void CountRegisters(const Formula &F, size_t LUIdx);
1731 bool InsertFormula(LSRUse &LU, unsigned LUIdx, const Formula &F);
1735 void GenerateReassociations(LSRUse &LU, unsigned LUIdx, Formula Base,
1739 const Formula &Base, unsigned Depth,
1741 void GenerateCombinations(LSRUse &LU, unsigned LUIdx, Formula Base);
1743 const Formula &Base, size_t Idx,
1745 void GenerateSymbolicOffsets(LSRUse &LU, unsigned LUIdx, Formula Base);
1747 const Formula &Base,
1750 void GenerateConstantOffsets(LSRUse &LU, unsigned LUIdx, Formula Base);
1751 void GenerateICmpZeroScales(LSRUse &LU, unsigned LUIdx, Formula Base);
1752 void GenerateScales(LSRUse &LU, unsigned LUIdx, Formula Base);
1753 void GenerateTruncates(LSRUse &LU, unsigned LUIdx, Formula Base);
1766 void SolveRecurse(SmallVectorImpl<const Formula *> &Solution,
1768 SmallVectorImpl<const Formula *> &Workspace,
1772 void Solve(SmallVectorImpl<const Formula *> &Solution) const;
1784 const Formula &F,
1789 const Formula &F,
1794 const Formula &F,
1798 void ImplementSolution(const SmallVectorImpl<const Formula *> &Solution,
2336 LSRInstance::FindUseWithSimilarFormula(const Formula &OrigF, in FindUseWithSimilarFormula()
2352 for (SmallVectorImpl<Formula>::const_iterator I = LU.Formulae.begin(), in FindUseWithSimilarFormula()
2354 const Formula &F = *I; in FindUseWithSimilarFormula()
3067 Formula F; in InsertInitialFormula()
3078 Formula F; in InsertSupplementalFormula()
3087 void LSRInstance::CountRegisters(const Formula &F, size_t LUIdx) { in CountRegisters()
3097 bool LSRInstance::InsertFormula(LSRUse &LU, unsigned LUIdx, const Formula &F) { in InsertFormula()
3261 const Formula &Base, in GenerateReassociationsImpl()
3304 Formula F = Base; in GenerateReassociationsImpl()
3345 Formula Base, unsigned Depth) { in GenerateReassociations()
3362 Formula Base) { in GenerateCombinations()
3370 Formula F = Base; in GenerateCombinations()
3397 const Formula &Base, size_t Idx, in GenerateSymbolicOffsetsImpl()
3403 Formula F = Base; in GenerateSymbolicOffsetsImpl()
3416 Formula Base) { in GenerateSymbolicOffsets()
3429 LSRUse &LU, unsigned LUIdx, const Formula &Base, in GenerateConstantOffsetsImpl()
3435 Formula F = Base; in GenerateConstantOffsetsImpl()
3461 Formula F = Base; in GenerateConstantOffsetsImpl()
3474 Formula Base) { in GenerateConstantOffsets()
3492 Formula Base) { in GenerateICmpZeroScales()
3533 Formula F = Base; in GenerateICmpZeroScales()
3580 void LSRInstance::GenerateScales(LSRUse &LU, unsigned LUIdx, Formula Base) { in GenerateScales()
3628 Formula F = Base; in GenerateScales()
3643 void LSRInstance::GenerateTruncates(LSRUse &LU, unsigned LUIdx, Formula Base) { in GenerateTruncates()
3656 Formula F = Base; in GenerateTruncates()
3800 Formula F = LU.Formulae[L]; in GenerateCrossUseConstantOffsets()
3813 Formula NewF = F; in GenerateCrossUseConstantOffsets()
3839 Formula NewF = F; in GenerateCrossUseConstantOffsets()
3934 Formula &F = LU.Formulae[FIdx]; in FilterOutUndesirableDedicatedRegisters()
3977 Formula &Best = LU.Formulae[P.first->second]; in FilterOutUndesirableDedicatedRegisters()
4053 Formula &F = LU.Formulae[i]; in NarrowSearchSpaceByDetectingSupersets()
4060 Formula NewF = F; in NarrowSearchSpaceByDetectingSupersets()
4075 Formula NewF = F; in NarrowSearchSpaceByDetectingSupersets()
4116 for (SmallVectorImpl<Formula>::const_iterator I = LU.Formulae.begin(), in NarrowSearchSpaceByCollapsingUnrolledCode()
4118 const Formula &F = *I; in NarrowSearchSpaceByCollapsingUnrolledCode()
4158 Formula &F = LUThatHas->Formulae[i]; in NarrowSearchSpaceByCollapsingUnrolledCode()
4246 Formula &F = LU.Formulae[i]; in NarrowSearchSpaceByPickingWinnerRegs()
4279 void LSRInstance::SolveRecurse(SmallVectorImpl<const Formula *> &Solution, in SolveRecurse()
4281 SmallVectorImpl<const Formula *> &Workspace, in SolveRecurse()
4308 for (SmallVectorImpl<Formula>::const_iterator I = LU.Formulae.begin(), in SolveRecurse()
4310 const Formula &F = *I; in SolveRecurse()
4363 void LSRInstance::Solve(SmallVectorImpl<const Formula *> &Solution) const { in Solve()
4364 SmallVector<const Formula *, 8> Workspace; in Solve()
4519 const Formula &F, in Expand()
4707 const Formula &F, in RewriteForPHI()
4782 const Formula &F, in Rewrite()
4819 LSRInstance::ImplementSolution(const SmallVectorImpl<const Formula *> &Solution, in ImplementSolution()
4939 SmallVector<const Formula *, 8> Solution; in LSRInstance()
4955 for (SmallVectorImpl<Formula>::const_iterator J = LU.Formulae.begin(), in LSRInstance()
5007 for (SmallVectorImpl<Formula>::const_iterator J = LU.Formulae.begin(), in print_uses()