[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.

Duncan P. N. Exon Smith dexonsmith at apple.com
Tue Jul 21 16:47:25 PDT 2015


> 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?





More information about the llvm-commits mailing list