[PATCH] D17477: [Polly] [RFC] Allow the client of DependenceInfo to obtain dependences at different granularities.
Hongbin Zheng via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 26 18:18:16 PST 2016
etherzhhb added inline comments.
================
Comment at: include/polly/DependenceInfo.h:58
@@ +57,3 @@
+
+ NUM_ANALYSIS_LEVELS
+ };
----------------
Meinersbur wrote:
> For consistent naming, please refer to the [[ http://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly | LLVM style guide ]]
will do
================
Comment at: lib/Analysis/DependenceInfo.cpp:797
@@ -775,3 +796,3 @@
void DependenceInfo::getAnalysisUsage(AnalysisUsage &AU) const {
ScopPass::getAnalysisUsage(AU);
}
----------------
Meinersbur wrote:
> ScopPass::getAnalysisUsage(AU)
> adds
> addRequired<ScopInfo>();
> what you'd need with this change is
> addRequiredTransitive<ScopInfo>();
>
> To avoid transitive requirements, I suggest per-granularity DependenceInfo passes:
> DependenceInfo(Dependences::AnalysisLevel) {}
> ScopPass::getAnalysisUsage(AU)
> adds
> addRequired<ScopInfo>();
> what you'd need with this change is
> addRequiredTransitive<ScopInfo>();
I am confused, could you explain a little bit?
I guess even with the previous DependenceInfo, we also need 'addRequiredTransitive<ScopInfo>();'
Otherwise, why the previous DependenceInfo do not need this, but this change need 'addRequiredTransitive<ScopInfo>();'?
================
Comment at: lib/Analysis/DependenceInfo.cpp:797
@@ -775,3 +796,3 @@
void DependenceInfo::getAnalysisUsage(AnalysisUsage &AU) const {
ScopPass::getAnalysisUsage(AU);
}
----------------
etherzhhb wrote:
> Meinersbur wrote:
> > ScopPass::getAnalysisUsage(AU)
> > adds
> > addRequired<ScopInfo>();
> > what you'd need with this change is
> > addRequiredTransitive<ScopInfo>();
> >
> > To avoid transitive requirements, I suggest per-granularity DependenceInfo passes:
> > DependenceInfo(Dependences::AnalysisLevel) {}
> > ScopPass::getAnalysisUsage(AU)
> > adds
> > addRequired<ScopInfo>();
> > what you'd need with this change is
> > addRequiredTransitive<ScopInfo>();
>
> I am confused, could you explain a little bit?
>
> I guess even with the previous DependenceInfo, we also need 'addRequiredTransitive<ScopInfo>();'
>
> Otherwise, why the previous DependenceInfo do not need this, but this change need 'addRequiredTransitive<ScopInfo>();'?
> To avoid transitive requirements, I suggest per-granularity DependenceInfo passes:
> DependenceInfo(Dependences::AnalysisLevel) {}
This can also be done, but I need to figure out some implementation details.
Repository:
rL LLVM
http://reviews.llvm.org/D17477
More information about the llvm-commits
mailing list