• Home
  • Raw
  • Download

Lines Matching refs:LF

1767                                   const LSRFixup &LF,
1771 Value *Expand(const LSRFixup &LF,
1776 void RewriteForPHI(PHINode *PN, const LSRFixup &LF,
1780 void Rewrite(const LSRFixup &LF,
2961 LSRFixup &LF = getNewFixup(); in CollectFixupsAndInitialFormulae() local
2962 LF.UserInst = UserInst; in CollectFixupsAndInitialFormulae()
2963 LF.OperandValToReplace = U.getOperandValToReplace(); in CollectFixupsAndInitialFormulae()
2964 LF.PostIncLoops = U.getPostIncLoops(); in CollectFixupsAndInitialFormulae()
2968 if (isAddressUse(LF.UserInst, LF.OperandValToReplace)) { in CollectFixupsAndInitialFormulae()
2970 AccessTy = getAccessType(LF.UserInst); in CollectFixupsAndInitialFormulae()
2981 if (ICmpInst *CI = dyn_cast<ICmpInst>(LF.UserInst)) in CollectFixupsAndInitialFormulae()
2986 if (NV == LF.OperandValToReplace) { in CollectFixupsAndInitialFormulae()
2999 LF.PostIncLoops, SE, DT); in CollectFixupsAndInitialFormulae()
3014 LF.LUIdx = P.first; in CollectFixupsAndInitialFormulae()
3015 LF.Offset = P.second; in CollectFixupsAndInitialFormulae()
3016 LSRUse &LU = Uses[LF.LUIdx]; in CollectFixupsAndInitialFormulae()
3017 LU.AllFixupsOutsideLoop &= LF.isUseFullyOutsideLoop(L); in CollectFixupsAndInitialFormulae()
3020 SE.getTypeSizeInBits(LF.OperandValToReplace->getType())) in CollectFixupsAndInitialFormulae()
3021 LU.WidestFixupType = LF.OperandValToReplace->getType(); in CollectFixupsAndInitialFormulae()
3025 InsertInitialFormula(S, LU, LF.LUIdx); in CollectFixupsAndInitialFormulae()
3026 CountRegisters(LU.Formulae.back(), LF.LUIdx); in CollectFixupsAndInitialFormulae()
3152 LSRFixup &LF = getNewFixup(); in CollectLoopInvariantFixupsAndFormulae() local
3153 LF.UserInst = const_cast<Instruction *>(UserInst); in CollectLoopInvariantFixupsAndFormulae()
3154 LF.OperandValToReplace = U; in CollectLoopInvariantFixupsAndFormulae()
3157 LF.LUIdx = P.first; in CollectLoopInvariantFixupsAndFormulae()
3158 LF.Offset = P.second; in CollectLoopInvariantFixupsAndFormulae()
3159 LSRUse &LU = Uses[LF.LUIdx]; in CollectLoopInvariantFixupsAndFormulae()
3160 LU.AllFixupsOutsideLoop &= LF.isUseFullyOutsideLoop(L); in CollectLoopInvariantFixupsAndFormulae()
3163 SE.getTypeSizeInBits(LF.OperandValToReplace->getType())) in CollectLoopInvariantFixupsAndFormulae()
3164 LU.WidestFixupType = LF.OperandValToReplace->getType(); in CollectLoopInvariantFixupsAndFormulae()
3165 InsertSupplementalFormula(US, LU, LF.LUIdx); in CollectLoopInvariantFixupsAndFormulae()
4382 const LSRFixup &LF, in AdjustInsertPositionForExpand() argument
4389 if (Instruction *I = dyn_cast<Instruction>(LF.OperandValToReplace)) in AdjustInsertPositionForExpand()
4393 dyn_cast<Instruction>(cast<ICmpInst>(LF.UserInst)->getOperand(1))) in AdjustInsertPositionForExpand()
4395 if (LF.PostIncLoops.count(L)) { in AdjustInsertPositionForExpand()
4396 if (LF.isUseFullyOutsideLoop(L)) in AdjustInsertPositionForExpand()
4403 for (const Loop *PIL : LF.PostIncLoops) { in AdjustInsertPositionForExpand()
4445 Value *LSRInstance::Expand(const LSRFixup &LF, in Expand() argument
4450 const LSRUse &LU = Uses[LF.LUIdx]; in Expand()
4452 return LF.OperandValToReplace; in Expand()
4456 IP = AdjustInsertPositionForExpand(IP, LF, LU, Rewriter); in Expand()
4460 Rewriter.setPostInc(LF.PostIncLoops); in Expand()
4463 Type *OpTy = LF.OperandValToReplace->getType(); in Expand()
4483 PostIncLoopSet &Loops = const_cast<PostIncLoopSet &>(LF.PostIncLoops); in Expand()
4485 LF.UserInst, LF.OperandValToReplace, in Expand()
4497 PostIncLoopSet &Loops = const_cast<PostIncLoopSet &>(LF.PostIncLoops); in Expand()
4499 LF.UserInst, LF.OperandValToReplace, in Expand()
4555 int64_t Offset = (uint64_t)F.BaseOffset + LF.Offset; in Expand()
4594 ICmpInst *CI = cast<ICmpInst>(LF.UserInst); in Expand()
4631 const LSRFixup &LF, in RewriteForPHI() argument
4637 if (PN->getIncomingValue(i) == LF.OperandValToReplace) { in RewriteForPHI()
4684 Value *FullV = Expand(LF, F, BB->getTerminator()->getIterator(), in RewriteForPHI()
4688 Type *OpTy = LF.OperandValToReplace->getType(); in RewriteForPHI()
4693 FullV, LF.OperandValToReplace->getType(), in RewriteForPHI()
4705 void LSRInstance::Rewrite(const LSRFixup &LF, in Rewrite() argument
4711 if (PHINode *PN = dyn_cast<PHINode>(LF.UserInst)) { in Rewrite()
4712 RewriteForPHI(PN, LF, F, Rewriter, DeadInsts); in Rewrite()
4715 Expand(LF, F, LF.UserInst->getIterator(), Rewriter, DeadInsts); in Rewrite()
4718 Type *OpTy = LF.OperandValToReplace->getType(); in Rewrite()
4722 FullV, OpTy, "tmp", LF.UserInst); in Rewrite()
4731 if (Uses[LF.LUIdx].Kind == LSRUse::ICmpZero) in Rewrite()
4732 LF.UserInst->setOperand(0, FullV); in Rewrite()
4734 LF.UserInst->replaceUsesOfWith(LF.OperandValToReplace, FullV); in Rewrite()
4737 DeadInsts.emplace_back(LF.OperandValToReplace); in Rewrite()
4901 for (const LSRFixup &LF : Fixups) { in print_fixups() local
4903 LF.print(OS); in print_fixups()