• Home
  • Raw
  • Download

Lines Matching refs:LF

1704                                   const LSRFixup &LF,
1708 Value *Expand(const LSRFixup &LF,
1713 void RewriteForPHI(PHINode *PN, const LSRFixup &LF,
1718 void Rewrite(const LSRFixup &LF,
2912 LSRFixup &LF = getNewFixup(); in CollectFixupsAndInitialFormulae() local
2913 LF.UserInst = UserInst; in CollectFixupsAndInitialFormulae()
2914 LF.OperandValToReplace = UI->getOperandValToReplace(); in CollectFixupsAndInitialFormulae()
2915 LF.PostIncLoops = UI->getPostIncLoops(); in CollectFixupsAndInitialFormulae()
2919 if (isAddressUse(LF.UserInst, LF.OperandValToReplace)) { in CollectFixupsAndInitialFormulae()
2921 AccessTy = getAccessType(LF.UserInst); in CollectFixupsAndInitialFormulae()
2932 if (ICmpInst *CI = dyn_cast<ICmpInst>(LF.UserInst)) in CollectFixupsAndInitialFormulae()
2937 if (NV == LF.OperandValToReplace) { in CollectFixupsAndInitialFormulae()
2950 LF.PostIncLoops, SE, DT); in CollectFixupsAndInitialFormulae()
2965 LF.LUIdx = P.first; in CollectFixupsAndInitialFormulae()
2966 LF.Offset = P.second; in CollectFixupsAndInitialFormulae()
2967 LSRUse &LU = Uses[LF.LUIdx]; in CollectFixupsAndInitialFormulae()
2968 LU.AllFixupsOutsideLoop &= LF.isUseFullyOutsideLoop(L); in CollectFixupsAndInitialFormulae()
2971 SE.getTypeSizeInBits(LF.OperandValToReplace->getType())) in CollectFixupsAndInitialFormulae()
2972 LU.WidestFixupType = LF.OperandValToReplace->getType(); in CollectFixupsAndInitialFormulae()
2976 InsertInitialFormula(S, LU, LF.LUIdx); in CollectFixupsAndInitialFormulae()
2977 CountRegisters(LU.Formulae.back(), LF.LUIdx); in CollectFixupsAndInitialFormulae()
3094 LSRFixup &LF = getNewFixup(); in CollectLoopInvariantFixupsAndFormulae() local
3095 LF.UserInst = const_cast<Instruction *>(UserInst); in CollectLoopInvariantFixupsAndFormulae()
3096 LF.OperandValToReplace = UI.getUse(); in CollectLoopInvariantFixupsAndFormulae()
3098 LF.LUIdx = P.first; in CollectLoopInvariantFixupsAndFormulae()
3099 LF.Offset = P.second; in CollectLoopInvariantFixupsAndFormulae()
3100 LSRUse &LU = Uses[LF.LUIdx]; in CollectLoopInvariantFixupsAndFormulae()
3101 LU.AllFixupsOutsideLoop &= LF.isUseFullyOutsideLoop(L); in CollectLoopInvariantFixupsAndFormulae()
3104 SE.getTypeSizeInBits(LF.OperandValToReplace->getType())) in CollectLoopInvariantFixupsAndFormulae()
3105 LU.WidestFixupType = LF.OperandValToReplace->getType(); in CollectLoopInvariantFixupsAndFormulae()
3106 InsertSupplementalFormula(U, LU, LF.LUIdx); in CollectLoopInvariantFixupsAndFormulae()
4286 const LSRFixup &LF, in AdjustInsertPositionForExpand() argument
4293 if (Instruction *I = dyn_cast<Instruction>(LF.OperandValToReplace)) in AdjustInsertPositionForExpand()
4297 dyn_cast<Instruction>(cast<ICmpInst>(LF.UserInst)->getOperand(1))) in AdjustInsertPositionForExpand()
4299 if (LF.PostIncLoops.count(L)) { in AdjustInsertPositionForExpand()
4300 if (LF.isUseFullyOutsideLoop(L)) in AdjustInsertPositionForExpand()
4307 for (PostIncLoopSet::const_iterator I = LF.PostIncLoops.begin(), in AdjustInsertPositionForExpand()
4308 E = LF.PostIncLoops.end(); I != E; ++I) { in AdjustInsertPositionForExpand()
4350 Value *LSRInstance::Expand(const LSRFixup &LF, in Expand() argument
4355 const LSRUse &LU = Uses[LF.LUIdx]; in Expand()
4359 IP = AdjustInsertPositionForExpand(IP, LF, LU, Rewriter); in Expand()
4363 Rewriter.setPostInc(LF.PostIncLoops); in Expand()
4366 Type *OpTy = LF.OperandValToReplace->getType(); in Expand()
4388 PostIncLoopSet &Loops = const_cast<PostIncLoopSet &>(LF.PostIncLoops); in Expand()
4390 LF.UserInst, LF.OperandValToReplace, in Expand()
4402 PostIncLoopSet &Loops = const_cast<PostIncLoopSet &>(LF.PostIncLoops); in Expand()
4404 LF.UserInst, LF.OperandValToReplace, in Expand()
4451 int64_t Offset = (uint64_t)F.BaseOffset + LF.Offset; in Expand()
4490 ICmpInst *CI = cast<ICmpInst>(LF.UserInst); in Expand()
4525 const LSRFixup &LF, in RewriteForPHI() argument
4532 if (PN->getIncomingValue(i) == LF.OperandValToReplace) { in RewriteForPHI()
4578 Value *FullV = Expand(LF, F, BB->getTerminator(), Rewriter, DeadInsts); in RewriteForPHI()
4581 Type *OpTy = LF.OperandValToReplace->getType(); in RewriteForPHI()
4586 FullV, LF.OperandValToReplace->getType(), in RewriteForPHI()
4598 void LSRInstance::Rewrite(const LSRFixup &LF, in Rewrite() argument
4605 if (PHINode *PN = dyn_cast<PHINode>(LF.UserInst)) { in Rewrite()
4606 RewriteForPHI(PN, LF, F, Rewriter, DeadInsts, P); in Rewrite()
4608 Value *FullV = Expand(LF, F, LF.UserInst, Rewriter, DeadInsts); in Rewrite()
4611 Type *OpTy = LF.OperandValToReplace->getType(); in Rewrite()
4615 FullV, OpTy, "tmp", LF.UserInst); in Rewrite()
4624 if (Uses[LF.LUIdx].Kind == LSRUse::ICmpZero) in Rewrite()
4625 LF.UserInst->setOperand(0, FullV); in Rewrite()
4627 LF.UserInst->replaceUsesOfWith(LF.OperandValToReplace, FullV); in Rewrite()
4630 DeadInsts.push_back(LF.OperandValToReplace); in Rewrite()