[PATCH] D21910: [CFLAA] Split CFL-AA into one unification-based pass and one inclusion-based pass

George Burgess IV via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 1 11:20:45 PDT 2016


george.burgess.iv added inline comments.

================
Comment at: include/llvm/Analysis/CFLAndersAliasAnalysis.h:35
@@ +34,3 @@
+
+private:
+};
----------------
Please remove

================
Comment at: include/llvm/Analysis/CFLAndersAliasAnalysis.h:41
@@ +40,3 @@
+/// FIXME: We really should refactor CFL to use the analysis more heavily, and
+/// in particular to leverage invalidation to trigger re-computation of sets.
+class CFLAndersAA : public AnalysisInfoMixin<CFLAndersAA> {
----------------
Maybe take out "of sets" here, if this won't be using StratifiedSets?

================
Comment at: include/llvm/Analysis/CFLSteensAliasAnalysis.h:64
@@ -63,1 +63,3 @@
+    // TODO: ConstantExpr handling -- CFLSteensAA may report NoAlias when
+    // comparing
     // a GlobalValue and ConstantExpr, but every query needs to have at least
----------------
Looks like this comment got broken.

================
Comment at: lib/Analysis/CFLAndersAliasAnalysis.cpp:1
@@ +1,2 @@
+//=- CFLAndersAliasAnalysis.h - Unification-based Alias Analysis ---*- C++-*-=//
+//
----------------
.cpp :)

================
Comment at: lib/Analysis/CFLAndersAliasAnalysis.cpp:12
@@ +11,3 @@
+// differs from CFLAndersAliasAnalysis in its inclusion-based nature while
+// CFLAndersAliasAnalysis is unification-based. This pass has worse performance
+// than CFLAndersAliasAnalysis (the worst case complexity of
----------------
I think a number of CFLAndersAliasAnalysis in here should be CFLSteensAliasAnalysis

================
Comment at: lib/Analysis/CFLAndersAliasAnalysis.cpp:18
@@ +17,3 @@
+// as that of an one level context-sensitive Andersen's algorithm.
+
+//===----------------------------------------------------------------------===//
----------------
please delete, or add //

================
Comment at: lib/Analysis/CFLSteensAliasAnalysis.cpp:1
@@ -1,2 +1,2 @@
-//===- CFLAliasAnalysis.cpp - CFL-Based Alias Analysis Implementation ------==//
+//=- CFLSteensAliasAnalysis.h - Unification-based Alias Analysis ---*- C++-*-=//
 //
----------------
.cpp :)

================
Comment at: lib/CodeGen/TargetPassConfig.cpp:116
@@ +115,3 @@
+enum class CFLAAType { None, Steensgaard, Andersen };
+static cl::opt<CFLAAType> UseCFLAA(
+    "use-cfl-aa-in-codegen", cl::init(CFLAAType::None), cl::Hidden,
----------------
So... Is the goal to ultimately only allow one or the other to be run per compilation? Or will we be able to e.g. throw CFLsteens before CFLanders at a later point?


http://reviews.llvm.org/D21910





More information about the llvm-commits mailing list