Lines Matching refs:LoopStmt

30   const Stmt *LoopStmt;  member
34 : K(InK), LoopStmt(S), LCtx(L), maxStep(N) {} in LoopState()
47 const Stmt *getLoopStmt() const { return LoopStmt; } in getLoopStmt()
50 return K == X.K && LoopStmt == X.LoopStmt; in operator ==()
54 ID.AddPointer(LoopStmt); in Profile()
75 ProgramStateRef processLoopEnd(const Stmt *LoopStmt, ProgramStateRef State) { in processLoopEnd() argument
77 if (!LS.isEmpty() && LS.getHead().getLoopStmt() == LoopStmt) in processLoopEnd()
248 bool shouldCompletelyUnroll(const Stmt *LoopStmt, ASTContext &ASTCtx, in shouldCompletelyUnroll() argument
251 if (!isLoopStmt(LoopStmt)) in shouldCompletelyUnroll()
256 auto Matches = match(forLoopMatcher(), *LoopStmt, ASTCtx); in shouldCompletelyUnroll()
280 bool madeNewBranch(ExplodedNode *N, const Stmt *LoopStmt) { in madeNewBranch() argument
290 if (S == LoopStmt) in madeNewBranch()
300 ProgramStateRef updateLoopStack(const Stmt *LoopStmt, ASTContext &ASTCtx, in updateLoopStack() argument
305 if (!isLoopStmt(LoopStmt)) in updateLoopStack()
309 if (!LS.isEmpty() && LoopStmt == LS.getHead().getLoopStmt() && in updateLoopStack()
311 if (LS.getHead().isUnrolled() && madeNewBranch(Pred, LoopStmt)) { in updateLoopStack()
314 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack()
319 if (!shouldCompletelyUnroll(LoopStmt, ASTCtx, Pred, maxStep)) { in updateLoopStack()
321 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack()
330 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack()
333 LoopState::getUnrolled(LoopStmt, LCtx, innerMaxStep)); in updateLoopStack()