szepet added inline comments.

================
Comment at: lib/StaticAnalyzer/Core/LoopUnrolling.cpp:28-46
 struct LoopState {
 private:
   enum Kind { Normal, Unrolled } K;
-  const Stmt *LoopStmt;
-  const LocationContext *LCtx;
-  unsigned maxStep;
-  LoopState(Kind InK, const Stmt *S, const LocationContext *L, unsigned N)
-      : K(InK), LoopStmt(S), LCtx(L), maxStep(N) {}
+  unsigned MaxStep;
+  LoopState(Kind InK, unsigned N) : K(InK), MaxStep(N) {}
 
 public:
----------------
NoQ wrote:
> Should the whole `LoopState` be reduced to a field(s) in `LoopContext`? It 
> seems to make sense to me, unless we're planning to modify it in the middle 
> of the loop.
I'm not sure about that. I mean, LoopContext is a general thing for all of the 
loops. It can easily happen that we modify the bound in the middle of the loop. 
Another thing what we keep track on if it is unrolled or not which is again 
something that we can decide to change in the middle of an iteration (e.g. it 
splits the state).

Yes, in our case MaxStep is not likely to change since we store loops that have 
a fix bound. (This could change in the future but maybe this is a too bold 
idea.)


https://reviews.llvm.org/D41151



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to