[PATCH] [LAA] Merge memchecks for accesses separated by a constant offset
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;
> 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