• Home
  • Raw
  • Download

Lines Matching refs:LF

1572                                   const LSRFixup &LF,
1576 Value *Expand(const LSRFixup &LF,
1581 void RewriteForPHI(PHINode *PN, const LSRFixup &LF,
1586 void Rewrite(const LSRFixup &LF,
2773 LSRFixup &LF = getNewFixup(); in CollectFixupsAndInitialFormulae() local
2774 LF.UserInst = UserInst; in CollectFixupsAndInitialFormulae()
2775 LF.OperandValToReplace = UI->getOperandValToReplace(); in CollectFixupsAndInitialFormulae()
2776 LF.PostIncLoops = UI->getPostIncLoops(); in CollectFixupsAndInitialFormulae()
2780 if (isAddressUse(LF.UserInst, LF.OperandValToReplace)) { in CollectFixupsAndInitialFormulae()
2782 AccessTy = getAccessType(LF.UserInst); in CollectFixupsAndInitialFormulae()
2793 if (ICmpInst *CI = dyn_cast<ICmpInst>(LF.UserInst)) in CollectFixupsAndInitialFormulae()
2798 if (NV == LF.OperandValToReplace) { in CollectFixupsAndInitialFormulae()
2811 LF.PostIncLoops, SE, DT); in CollectFixupsAndInitialFormulae()
2826 LF.LUIdx = P.first; in CollectFixupsAndInitialFormulae()
2827 LF.Offset = P.second; in CollectFixupsAndInitialFormulae()
2828 LSRUse &LU = Uses[LF.LUIdx]; in CollectFixupsAndInitialFormulae()
2829 LU.AllFixupsOutsideLoop &= LF.isUseFullyOutsideLoop(L); in CollectFixupsAndInitialFormulae()
2832 SE.getTypeSizeInBits(LF.OperandValToReplace->getType())) in CollectFixupsAndInitialFormulae()
2833 LU.WidestFixupType = LF.OperandValToReplace->getType(); in CollectFixupsAndInitialFormulae()
2837 InsertInitialFormula(S, LU, LF.LUIdx); in CollectFixupsAndInitialFormulae()
2838 CountRegisters(LU.Formulae.back(), LF.LUIdx); in CollectFixupsAndInitialFormulae()
2955 LSRFixup &LF = getNewFixup(); in CollectLoopInvariantFixupsAndFormulae() local
2956 LF.UserInst = const_cast<Instruction *>(UserInst); in CollectLoopInvariantFixupsAndFormulae()
2957 LF.OperandValToReplace = UI.getUse(); in CollectLoopInvariantFixupsAndFormulae()
2959 LF.LUIdx = P.first; in CollectLoopInvariantFixupsAndFormulae()
2960 LF.Offset = P.second; in CollectLoopInvariantFixupsAndFormulae()
2961 LSRUse &LU = Uses[LF.LUIdx]; in CollectLoopInvariantFixupsAndFormulae()
2962 LU.AllFixupsOutsideLoop &= LF.isUseFullyOutsideLoop(L); in CollectLoopInvariantFixupsAndFormulae()
2965 SE.getTypeSizeInBits(LF.OperandValToReplace->getType())) in CollectLoopInvariantFixupsAndFormulae()
2966 LU.WidestFixupType = LF.OperandValToReplace->getType(); in CollectLoopInvariantFixupsAndFormulae()
2967 InsertSupplementalFormula(U, LU, LF.LUIdx); in CollectLoopInvariantFixupsAndFormulae()
4129 const LSRFixup &LF, in AdjustInsertPositionForExpand() argument
4136 if (Instruction *I = dyn_cast<Instruction>(LF.OperandValToReplace)) in AdjustInsertPositionForExpand()
4140 dyn_cast<Instruction>(cast<ICmpInst>(LF.UserInst)->getOperand(1))) in AdjustInsertPositionForExpand()
4142 if (LF.PostIncLoops.count(L)) { in AdjustInsertPositionForExpand()
4143 if (LF.isUseFullyOutsideLoop(L)) in AdjustInsertPositionForExpand()
4150 for (PostIncLoopSet::const_iterator I = LF.PostIncLoops.begin(), in AdjustInsertPositionForExpand()
4151 E = LF.PostIncLoops.end(); I != E; ++I) { in AdjustInsertPositionForExpand()
4193 Value *LSRInstance::Expand(const LSRFixup &LF, in Expand() argument
4198 const LSRUse &LU = Uses[LF.LUIdx]; in Expand()
4202 IP = AdjustInsertPositionForExpand(IP, LF, LU, Rewriter); in Expand()
4206 Rewriter.setPostInc(LF.PostIncLoops); in Expand()
4209 Type *OpTy = LF.OperandValToReplace->getType(); in Expand()
4231 PostIncLoopSet &Loops = const_cast<PostIncLoopSet &>(LF.PostIncLoops); in Expand()
4233 LF.UserInst, LF.OperandValToReplace, in Expand()
4252 PostIncLoopSet &Loops = const_cast<PostIncLoopSet &>(LF.PostIncLoops); in Expand()
4254 LF.UserInst, LF.OperandValToReplace, in Expand()
4290 int64_t Offset = (uint64_t)F.AM.BaseOffs + LF.Offset; in Expand()
4329 ICmpInst *CI = cast<ICmpInst>(LF.UserInst); in Expand()
4364 const LSRFixup &LF, in RewriteForPHI() argument
4371 if (PN->getIncomingValue(i) == LF.OperandValToReplace) { in RewriteForPHI()
4413 Value *FullV = Expand(LF, F, BB->getTerminator(), Rewriter, DeadInsts); in RewriteForPHI()
4416 Type *OpTy = LF.OperandValToReplace->getType(); in RewriteForPHI()
4421 FullV, LF.OperandValToReplace->getType(), in RewriteForPHI()
4433 void LSRInstance::Rewrite(const LSRFixup &LF, in Rewrite() argument
4440 if (PHINode *PN = dyn_cast<PHINode>(LF.UserInst)) { in Rewrite()
4441 RewriteForPHI(PN, LF, F, Rewriter, DeadInsts, P); in Rewrite()
4443 Value *FullV = Expand(LF, F, LF.UserInst, Rewriter, DeadInsts); in Rewrite()
4446 Type *OpTy = LF.OperandValToReplace->getType(); in Rewrite()
4450 FullV, OpTy, "tmp", LF.UserInst); in Rewrite()
4459 if (Uses[LF.LUIdx].Kind == LSRUse::ICmpZero) in Rewrite()
4460 LF.UserInst->setOperand(0, FullV); in Rewrite()
4462 LF.UserInst->replaceUsesOfWith(LF.OperandValToReplace, FullV); in Rewrite()
4465 DeadInsts.push_back(LF.OperandValToReplace); in Rewrite()