Lines Matching refs:LF
2011 const LSRFixup &LF,
2015 Value *Expand(const LSRUse &LU, const LSRFixup &LF, const Formula &F,
2018 void RewriteForPHI(PHINode *PN, const LSRUse &LU, const LSRFixup &LF,
2021 void Rewrite(const LSRUse &LU, const LSRFixup &LF, const Formula &F,
3277 LSRFixup &LF = LU.getNewFixup(); in CollectFixupsAndInitialFormulae() local
3278 LF.UserInst = UserInst; in CollectFixupsAndInitialFormulae()
3279 LF.OperandValToReplace = U.getOperandValToReplace(); in CollectFixupsAndInitialFormulae()
3280 LF.PostIncLoops = TmpPostIncLoops; in CollectFixupsAndInitialFormulae()
3281 LF.Offset = Offset; in CollectFixupsAndInitialFormulae()
3282 LU.AllFixupsOutsideLoop &= LF.isUseFullyOutsideLoop(L); in CollectFixupsAndInitialFormulae()
3286 SE.getTypeSizeInBits(LF.OperandValToReplace->getType())) in CollectFixupsAndInitialFormulae()
3287 LU.WidestFixupType = LF.OperandValToReplace->getType(); in CollectFixupsAndInitialFormulae()
3427 LSRFixup &LF = LU.getNewFixup(); in CollectLoopInvariantFixupsAndFormulae() local
3428 LF.UserInst = const_cast<Instruction *>(UserInst); in CollectLoopInvariantFixupsAndFormulae()
3429 LF.OperandValToReplace = U; in CollectLoopInvariantFixupsAndFormulae()
3430 LF.Offset = Offset; in CollectLoopInvariantFixupsAndFormulae()
3431 LU.AllFixupsOutsideLoop &= LF.isUseFullyOutsideLoop(L); in CollectLoopInvariantFixupsAndFormulae()
3434 SE.getTypeSizeInBits(LF.OperandValToReplace->getType())) in CollectLoopInvariantFixupsAndFormulae()
3435 LU.WidestFixupType = LF.OperandValToReplace->getType(); in CollectLoopInvariantFixupsAndFormulae()
4971 const LSRFixup &LF, in AdjustInsertPositionForExpand() argument
4978 if (Instruction *I = dyn_cast<Instruction>(LF.OperandValToReplace)) in AdjustInsertPositionForExpand()
4982 dyn_cast<Instruction>(cast<ICmpInst>(LF.UserInst)->getOperand(1))) in AdjustInsertPositionForExpand()
4984 if (LF.PostIncLoops.count(L)) { in AdjustInsertPositionForExpand()
4985 if (LF.isUseFullyOutsideLoop(L)) in AdjustInsertPositionForExpand()
4992 for (const Loop *PIL : LF.PostIncLoops) { in AdjustInsertPositionForExpand()
5034 Value *LSRInstance::Expand(const LSRUse &LU, const LSRFixup &LF, in Expand() argument
5039 return LF.OperandValToReplace; in Expand()
5043 IP = AdjustInsertPositionForExpand(IP, LF, LU, Rewriter); in Expand()
5048 Rewriter.setPostInc(LF.PostIncLoops); in Expand()
5051 Type *OpTy = LF.OperandValToReplace->getType(); in Expand()
5071 Reg = denormalizeForPostIncUse(Reg, LF.PostIncLoops, SE); in Expand()
5081 PostIncLoopSet &Loops = const_cast<PostIncLoopSet &>(LF.PostIncLoops); in Expand()
5137 int64_t Offset = (uint64_t)F.BaseOffset + LF.Offset; in Expand()
5176 ICmpInst *CI = cast<ICmpInst>(LF.UserInst); in Expand()
5213 PHINode *PN, const LSRUse &LU, const LSRFixup &LF, const Formula &F, in RewriteForPHI() argument
5217 if (PN->getIncomingValue(i) == LF.OperandValToReplace) { in RewriteForPHI()
5265 Value *FullV = Expand(LU, LF, F, BB->getTerminator()->getIterator(), in RewriteForPHI()
5269 Type *OpTy = LF.OperandValToReplace->getType(); in RewriteForPHI()
5274 FullV, LF.OperandValToReplace->getType(), in RewriteForPHI()
5286 void LSRInstance::Rewrite(const LSRUse &LU, const LSRFixup &LF, in Rewrite() argument
5291 if (PHINode *PN = dyn_cast<PHINode>(LF.UserInst)) { in Rewrite()
5292 RewriteForPHI(PN, LU, LF, F, Rewriter, DeadInsts); in Rewrite()
5295 Expand(LU, LF, F, LF.UserInst->getIterator(), Rewriter, DeadInsts); in Rewrite()
5298 Type *OpTy = LF.OperandValToReplace->getType(); in Rewrite()
5302 FullV, OpTy, "tmp", LF.UserInst); in Rewrite()
5312 LF.UserInst->setOperand(0, FullV); in Rewrite()
5314 LF.UserInst->replaceUsesOfWith(LF.OperandValToReplace, FullV); in Rewrite()
5317 DeadInsts.emplace_back(LF.OperandValToReplace); in Rewrite()
5496 for (const LSRFixup &LF : LU.Fixups) { in print_fixups() local
5498 LF.print(OS); in print_fixups()