From 4fbd83c716dbc1d68e0aac5d71d201b664762489 Mon Sep 17 00:00:00 2001 From: Arthur Eubanks Date: Sat, 26 Sep 2020 00:18:42 -0700 Subject: [PATCH] [ObjCARCAA][NewPM] Add already ported objc-arc-aa to PassRegistry.def Also add missing AnalysisKey definition. --- llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp | 2 ++ llvm/lib/Passes/PassBuilder.cpp | 1 + llvm/lib/Passes/PassRegistry.def | 1 + llvm/test/Transforms/ObjCARC/gvn.ll | 1 + 4 files changed, 5 insertions(+) diff --git a/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp b/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp index 58eb528..2cb43d7 100644 --- a/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp +++ b/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp @@ -133,6 +133,8 @@ ModRefInfo ObjCARCAAResult::getModRefInfo(const CallBase *Call, return AAResultBase::getModRefInfo(Call, Loc, AAQI); } +AnalysisKey ObjCARCAA::Key; + ObjCARCAAResult ObjCARCAA::run(Function &F, FunctionAnalysisManager &AM) { return ObjCARCAAResult(F.getParent()->getDataLayout()); } diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index a0206d0..1ea7319 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -50,6 +50,7 @@ #include "llvm/Analysis/MemoryDependenceAnalysis.h" #include "llvm/Analysis/MemorySSA.h" #include "llvm/Analysis/ModuleSummaryAnalysis.h" +#include "llvm/Analysis/ObjCARCAliasAnalysis.h" #include "llvm/Analysis/OptimizationRemarkEmitter.h" #include "llvm/Analysis/PhiValues.h" #include "llvm/Analysis/PostDominators.h" diff --git a/llvm/lib/Passes/PassRegistry.def b/llvm/lib/Passes/PassRegistry.def index 1cc0458..add685d 100644 --- a/llvm/lib/Passes/PassRegistry.def +++ b/llvm/lib/Passes/PassRegistry.def @@ -167,6 +167,7 @@ FUNCTION_ANALYSIS("pass-instrumentation", PassInstrumentationAnalysis(PIC)) FUNCTION_ALIAS_ANALYSIS("basic-aa", BasicAA()) FUNCTION_ALIAS_ANALYSIS("cfl-anders-aa", CFLAndersAA()) FUNCTION_ALIAS_ANALYSIS("cfl-steens-aa", CFLSteensAA()) +FUNCTION_ALIAS_ANALYSIS("objc-arc-aa", objcarc::ObjCARCAA()) FUNCTION_ALIAS_ANALYSIS("scev-aa", SCEVAA()) FUNCTION_ALIAS_ANALYSIS("scoped-noalias-aa", ScopedNoAliasAA()) FUNCTION_ALIAS_ANALYSIS("tbaa", TypeBasedAA()) diff --git a/llvm/test/Transforms/ObjCARC/gvn.ll b/llvm/test/Transforms/ObjCARC/gvn.ll index fb9a71f..27fb8e4 100644 --- a/llvm/test/Transforms/ObjCARC/gvn.ll +++ b/llvm/test/Transforms/ObjCARC/gvn.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -basic-aa -objc-arc-aa -gvn < %s | FileCheck %s +; RUN: opt -S -aa-pipeline=basic-aa,objc-arc-aa -passes=gvn < %s | FileCheck %s @x = common global i8* null, align 8 -- 2.7.4