[PATCH] D11325: [PM/AA] Remove the last of the legacy update API from AliasAnalysis as part of simplifying its interface and usage in preparation for porting to work with the new pass manager.

Chandler Carruth chandlerc at google.com
Wed Jul 22 02:49:51 PDT 2015


Thanks for the review, landed the early exit change first and now landing
this!

On Tue, Jul 21, 2015 at 4:50 PM Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:

>
> > On 2015-Jul-18, at 02:39, Chandler Carruth <chandlerc at gmail.com> wrote:
> >
> > chandlerc created this revision.
> > chandlerc added a subscriber: llvm-commits.
> > chandlerc added a dependency: D11324: [PM/AA] Replace the only use of
> the AliasAnalysis::deleteValue API (in GlobalsModRef) with CallbackVHs that
> trigger the same behavior..
> >
> > Note that this will likely expose that we have dead arguments, members,
> > and maybe even pass requirements for AA. I'll be cleaning those up in
> > seperate patches. This just zaps the actual update API.
> >
> > Depends on D11324.
> >
> > http://reviews.llvm.org/D11325
> >
> > Files:
> >  include/llvm/Analysis/AliasAnalysis.h
> >  lib/Analysis/AliasAnalysis.cpp
> >  lib/Analysis/AliasDebugger.cpp
> >  lib/Analysis/AliasSetTracker.cpp
> >  lib/Analysis/MemoryDependenceAnalysis.cpp
> >  lib/Analysis/NoAliasAnalysis.cpp
> >  lib/Transforms/IPO/ArgumentPromotion.cpp
> >  lib/Transforms/Utils/BasicBlockUtils.cpp
> >  lib/Transforms/Utils/LoopSimplify.cpp
> >  lib/Transforms/Vectorize/BBVectorize.cpp
> >
> > <D11325.30077.patch>_______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> This just seems like an obvious follow-up to the previous patch.
> LGTM with one comment:
>
> > Index: lib/Transforms/Vectorize/BBVectorize.cpp
> > ===================================================================
> > --- lib/Transforms/Vectorize/BBVectorize.cpp
> > +++ lib/Transforms/Vectorize/BBVectorize.cpp
> > @@ -2806,55 +2806,51 @@
> >                       Instruction *J, Instruction *K,
> >                       Instruction *&InsertionPt,
> >                       Instruction *&K1, Instruction *&K2) {
> > -    if (isa<StoreInst>(I)) {
> > -      AA->replaceWithNewValue(I, K);
> > -      AA->replaceWithNewValue(J, K);
> > -    } else {
> > -      Type *IType = I->getType();
> > -      Type *JType = J->getType();
> > +    if (isa<StoreInst>(I))
> > +      return;
> >
> > [... lots of changes ...]
> >
> >      }
> >
> > [... more changes ...]
>
> It was pretty hard to read what was different here.  Can you split
> the early-return part of this into an initial NFC commit?
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150722/ba496c14/attachment.html>


More information about the llvm-commits mailing list