[PATCH] [LAA] Merge memchecks for accesses separated by a constant offset

Adam Nemet anemet at apple.com
Thu Jun 25 13:52:36 PDT 2015

Comment at: lib/Analysis/LoopAccessAnalysis.cpp:208-211
@@ +207,6 @@
+    // Each pointer is part of an equivalence class. If two
+    // pointers are part of the same equivalence class, they will
+    // be part of the same group.
+    EquivalenceClasses<unsigned> CheckClass;
anemet wrote:
> I don't understand what you gain by using an EC for this.
> It seems to me that you just want a vector of CheckGroups for each DepCands set.
> For each pointer then you go through this vector and try to merge to an existing group.
> If nothing found you add a new group at the end of the vector.
> As another general comment, it would be good to push some of the low-level mechanics into the CheckingGroup class so that the outline of algorithm is separated from the details.
I just want to clarify one more thing about the above algorithm above using a local vector of CheckingGroup instead of an EC.

When we're done merging for a DepCands set, then you'd merge the "local" vector of CheckingGroups to the main one.



More information about the llvm-commits mailing list