Lines Matching refs:Formula

339 struct Formula {  struct
377 Formula() = default;
459 void Formula::initialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE) { in initialMatch()
481 bool Formula::isCanonical(const Loop &L) const { in isCanonical()
511 void Formula::canonicalize(const Loop &L) { in canonicalize()
550 bool Formula::unscale() { in unscale()
559 bool Formula::hasZeroEnd() const { in hasZeroEnd()
569 size_t Formula::getNumRegs() const { in getNumRegs()
575 Type *Formula::getType() const { in getType()
583 void Formula::deleteBaseReg(const SCEV *&S) { in deleteBaseReg()
590 bool Formula::referencesReg(const SCEV *S) const { in referencesReg()
596 bool Formula::hasRegsUsedByUsesOtherThan(size_t LUIdx, in hasRegsUsedByUsesOtherThan()
608 void Formula::print(raw_ostream &OS) const { in print()
644 LLVM_DUMP_METHOD void Formula::dump() const { in dump()
1035 const LSRUse &LU, const Formula &F);
1039 const LSRUse &LU, const Formula &F,
1086 void RateFormula(const Formula &F,
1096 void RateRegister(const Formula &F, const SCEV *Reg,
1098 void RatePrimaryRegister(const Formula &F, const SCEV *Reg,
1207 SmallVector<Formula, 12> Formulae;
1227 bool HasFormulaWithSameRegs(const Formula &F) const;
1229 bool InsertFormula(const Formula &F, const Loop &L);
1230 void DeleteFormula(Formula &F);
1266 void Cost::RateRegister(const Formula &F, const SCEV *Reg, in RateRegister()
1336 void Cost::RatePrimaryRegister(const Formula &F, const SCEV *Reg, in RatePrimaryRegister()
1350 void Cost::RateFormula(const Formula &F, in RateFormula()
1542 bool LSRUse::HasFormulaWithSameRegs(const Formula &F) const { in HasFormulaWithSameRegs()
1553 for (const Formula &F : Formulae) in getNotSelectedProbability()
1561 bool LSRUse::InsertFormula(const Formula &F, const Loop &L) { in InsertFormula()
1595 void LSRUse::DeleteFormula(Formula &F) { in DeleteFormula()
1606 for (const Formula &F : Formulae) { in RecomputeRegs()
1734 const Formula &F, const Loop &L) { in isAMCompletelyFolded()
1764 MemAccessTy AccessTy, const Formula &F) { in isLegalUse()
1770 const LSRUse &LU, const Formula &F) { in isAMCompletelyFolded()
1787 const LSRUse &LU, const Formula &F, in getScalingFactorCost()
2014 LSRUse *FindUseWithSimilarFormula(const Formula &F, const LSRUse &OrigLU);
2018 void CountRegisters(const Formula &F, size_t LUIdx);
2019 bool InsertFormula(LSRUse &LU, unsigned LUIdx, const Formula &F);
2023 void GenerateReassociations(LSRUse &LU, unsigned LUIdx, Formula Base,
2027 const Formula &Base, unsigned Depth,
2029 void GenerateCombinations(LSRUse &LU, unsigned LUIdx, Formula Base);
2031 const Formula &Base, size_t Idx,
2033 void GenerateSymbolicOffsets(LSRUse &LU, unsigned LUIdx, Formula Base);
2035 const Formula &Base,
2038 void GenerateConstantOffsets(LSRUse &LU, unsigned LUIdx, Formula Base);
2039 void GenerateICmpZeroScales(LSRUse &LU, unsigned LUIdx, Formula Base);
2040 void GenerateScales(LSRUse &LU, unsigned LUIdx, Formula Base);
2041 void GenerateTruncates(LSRUse &LU, unsigned LUIdx, Formula Base);
2057 void SolveRecurse(SmallVectorImpl<const Formula *> &Solution,
2059 SmallVectorImpl<const Formula *> &Workspace,
2063 void Solve(SmallVectorImpl<const Formula *> &Solution) const;
2074 Value *Expand(const LSRUse &LU, const LSRFixup &LF, const Formula &F,
2078 const Formula &F, SCEVExpander &Rewriter,
2080 void Rewrite(const LSRUse &LU, const LSRFixup &LF, const Formula &F,
2083 void ImplementSolution(const SmallVectorImpl<const Formula *> &Solution);
2649 LSRInstance::FindUseWithSimilarFormula(const Formula &OrigF, in FindUseWithSimilarFormula()
2665 for (const Formula &F : LU.Formulae) { in FindUseWithSimilarFormula()
3391 Formula F; in InsertInitialFormula()
3402 Formula F; in InsertSupplementalFormula()
3410 void LSRInstance::CountRegisters(const Formula &F, size_t LUIdx) { in CountRegisters()
3419 bool LSRInstance::InsertFormula(LSRUse &LU, unsigned LUIdx, const Formula &F) { in InsertFormula()
3618 const Formula &Base, in GenerateReassociationsImpl()
3666 Formula F = Base; in GenerateReassociationsImpl()
3711 Formula Base, unsigned Depth) { in GenerateReassociations()
3728 Formula Base) { in GenerateCombinations()
3738 Formula NewBase = Base; in GenerateCombinations()
3759 Formula F = NewBase; in GenerateCombinations()
3791 const Formula &Base, size_t Idx, in GenerateSymbolicOffsetsImpl()
3797 Formula F = Base; in GenerateSymbolicOffsetsImpl()
3810 Formula Base) { in GenerateSymbolicOffsets()
3823 LSRUse &LU, unsigned LUIdx, const Formula &Base, in GenerateConstantOffsetsImpl()
3827 Formula F = Base; in GenerateConstantOffsetsImpl()
3881 Formula F = Base; in GenerateConstantOffsetsImpl()
3898 Formula Base) { in GenerateConstantOffsets()
3916 Formula Base) { in GenerateICmpZeroScales()
3961 Formula F = Base; in GenerateICmpZeroScales()
4009 void LSRInstance::GenerateScales(LSRUse &LU, unsigned LUIdx, Formula Base) { in GenerateScales()
4054 Formula F = Base; in GenerateScales()
4075 void LSRInstance::GenerateTruncates(LSRUse &LU, unsigned LUIdx, Formula Base) { in GenerateTruncates()
4087 Formula F = Base; in GenerateTruncates()
4249 Formula F = LU.Formulae[L]; in GenerateCrossUseConstantOffsets()
4262 Formula NewF = F; in GenerateCrossUseConstantOffsets()
4287 Formula NewF = F; in GenerateCrossUseConstantOffsets()
4385 Formula &F = LU.Formulae[FIdx]; in FilterOutUndesirableDedicatedRegisters()
4425 Formula &Best = LU.Formulae[P.first->second]; in FilterOutUndesirableDedicatedRegisters()
4494 Formula &F = LU.Formulae[i]; in NarrowSearchSpaceByDetectingSupersets()
4501 Formula NewF = F; in NarrowSearchSpaceByDetectingSupersets()
4519 Formula NewF = F; in NarrowSearchSpaceByDetectingSupersets()
4559 for (const Formula &F : LU.Formulae) { in NarrowSearchSpaceByCollapsingUnrolledCode()
4585 Formula &F = LUThatHas->Formulae[i]; in NarrowSearchSpaceByCollapsingUnrolledCode()
4660 auto IsBetterThan = [&](Formula &FA, Formula &FB) { in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
4692 Formula &F = LU.Formulae[FIdx]; in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
4699 Formula &Best = LU.Formulae[P.first->second]; in NarrowSearchSpaceByFilterFormulaWithSameScaledReg()
4750 for (const Formula &F : LU.Formulae) in NarrowSearchSpaceByFilterPostInc()
4756 Formula &F = LU.Formulae[FIdx]; in NarrowSearchSpaceByFilterPostInc()
4864 Formula &F = LU.Formulae[i]; in NarrowSearchSpaceByDeletingCostlyFormulas()
4902 Formula &F = LU.Formulae[0]; in NarrowSearchSpaceByDeletingCostlyFormulas()
4956 Formula &F = LU.Formulae[i]; in NarrowSearchSpaceByPickingWinnerRegs()
4994 void LSRInstance::SolveRecurse(SmallVectorImpl<const Formula *> &Solution, in SolveRecurse()
4996 SmallVectorImpl<const Formula *> &Workspace, in SolveRecurse()
5023 for (const Formula &F : LU.Formulae) { in SolveRecurse()
5076 void LSRInstance::Solve(SmallVectorImpl<const Formula *> &Solution) const { in Solve()
5077 SmallVector<const Formula *, 8> Workspace; in Solve()
5235 const Formula &F, BasicBlock::iterator IP, in Expand()
5414 PHINode *PN, const LSRUse &LU, const LSRFixup &LF, const Formula &F, in RewriteForPHI()
5530 const Formula &F, SCEVExpander &Rewriter, in Rewrite()
5567 const SmallVectorImpl<const Formula *> &Solution) { in ImplementSolution()
5751 SmallVector<const Formula *, 8> Solution; in LSRInstance()
5765 for (const Formula &F : LU.Formulae) in LSRInstance()
5812 for (const Formula &F : LU.Formulae) { in print_uses()