[llvm] r356783 - [AliasAnalysis] Second prototype to cache BasicAA / anyAA state.

Alina Sbirlea via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 25 07:17:55 PDT 2019


Thank you, Hans!

On Mon, Mar 25, 2019, 2:27 AM Hans Wennborg via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> This broke the build with GCC 4.8, see very long error message
> attached. I've committed r356875 to fix it.
>
> On Fri, Mar 22, 2019 at 6:21 PM Alina Sbirlea via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
> >
> > Author: asbirlea
> > Date: Fri Mar 22 10:22:19 2019
> > New Revision: 356783
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=356783&view=rev
> > Log:
> > [AliasAnalysis] Second prototype to cache BasicAA / anyAA state.
> >
> > Summary:
> > Adding contained caching to AliasAnalysis. BasicAA is currently the only
> one using it.
> >
> > AA changes:
> > - This patch is pulling the caches from BasicAAResults to AAResults,
> meaning the getModRefInfo call benefits from the IsCapturedCache as well
> when in "batch mode".
> > - All AAResultBase implementations add the QueryInfo member to all APIs.
> AAResults APIs maintain wrapper APIs such that all alias()/getModRefInfo
> call sites are unchanged.
> > - AA now provides a BatchAAResults type as a wrapper to AAResults. It
> keeps the AAResults instance and a QueryInfo instantiated to batch mode. It
> delegates all work to the AAResults instance with the batched QueryInfo.
> More API wrappers may be needed in BatchAAResults; only the minimum needed
> is currently added.
> >
> > MemorySSA changes:
> > - All walkers are now templated on the AA used (AliasAnalysis=AAResults
> or BatchAAResults).
> > - At build time, we optimize uses; now we create a local walker (lives
> only as long as OptimizeUses does) using BatchAAResults.
> > - All Walkers have an internal AA and only use that now, never the AA in
> MemorySSA. The Walkers receive the AA they will use when built.
> >
> > - The walker we use for queries after the build is instantiated on
> AliasAnalysis and is built after building MemorySSA and setting AA.
> > - All static methods doing walking are now templated on
> AliasAnalysisType if they are used both during build and after. If used
> only during build, the method now only takes a BatchAAResults. If used only
> after build, the method now takes an AliasAnalysis.
> >
> > Subscribers: sanjoy, arsenm, jvesely, nhaehnle, jlebar,
> george.burgess.iv, llvm-commits
> >
> > Tags: #llvm
> >
> > Differential Revision: https://reviews.llvm.org/D59315
> >
> > Modified:
> >     llvm/trunk/include/llvm/Analysis/AliasAnalysis.h
> >     llvm/trunk/include/llvm/Analysis/BasicAliasAnalysis.h
> >     llvm/trunk/include/llvm/Analysis/CFLAndersAliasAnalysis.h
> >     llvm/trunk/include/llvm/Analysis/CFLSteensAliasAnalysis.h
> >     llvm/trunk/include/llvm/Analysis/GlobalsModRef.h
> >     llvm/trunk/include/llvm/Analysis/MemorySSA.h
> >     llvm/trunk/include/llvm/Analysis/ObjCARCAliasAnalysis.h
> >     llvm/trunk/include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h
> >     llvm/trunk/include/llvm/Analysis/ScopedNoAliasAA.h
> >     llvm/trunk/include/llvm/Analysis/TypeBasedAliasAnalysis.h
> >     llvm/trunk/lib/Analysis/AliasAnalysis.cpp
> >     llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp
> >     llvm/trunk/lib/Analysis/CFLAndersAliasAnalysis.cpp
> >     llvm/trunk/lib/Analysis/GlobalsModRef.cpp
> >     llvm/trunk/lib/Analysis/MemorySSA.cpp
> >     llvm/trunk/lib/Analysis/ObjCARCAliasAnalysis.cpp
> >     llvm/trunk/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
> >     llvm/trunk/lib/Analysis/ScopedNoAliasAA.cpp
> >     llvm/trunk/lib/Analysis/TypeBasedAliasAnalysis.cpp
> >     llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
> >     llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.h
> >     llvm/trunk/unittests/Analysis/AliasAnalysisTest.cpp
> >     llvm/trunk/unittests/Analysis/BasicAliasAnalysisTest.cpp
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190325/cf37a514/attachment.html>


More information about the llvm-commits mailing list