[PATCH] D12133: [ARC] Pull the ObjC ARC components that really serve the role of analyses intoLLVM's Analysis library rather than having them in a Transforms library.
Duncan P. N. Exon Smith via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 19 15:42:41 PDT 2015
> On 2015-Aug-19, at 14:55, Chandler Carruth via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>
> The patch file from Phab seems hosed here, so attaching a raw one...
Thanks for reposting!
(Interestingly, while the reposted patch actually worked on my tree,
which was better for digging around, the original (broken) patch was
easier to read...)
> On Tue, Aug 18, 2015 at 8:35 PM Chandler Carruth via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> chandlerc created this revision.
> chandlerc added a reviewer: gottesmm.
> chandlerc added a subscriber: llvm-commits.
>
> This is motivated by the need to have the core AliasAnalysis
> infrastructure be aware of the ObjCARCAliasAnalysis. However, it also
> seems like a nice and clean separation. Everything was very easy to move
> and this doesn't create much clutter in the analysis library IMO.
>
> However, I'm not an expert on the ARC optimizer stuff so mailing this
> out for folks to take a look at and give me feedback on. Sadly, it will
> be necessary to sort something out here to make progress on the alias
> analysis restructuring, so the more quickly this can be looked at the
> better.
>
> http://reviews.llvm.org/D12133
>
> Files:
> include/llvm/Analysis/ObjCARCAliasAnalysis.h
> include/llvm/Analysis/ObjCARCAnalysisUtils.h
> include/llvm/Analysis/ObjCARCInstKind.h
> lib/Analysis/Analysis.cpp
> lib/Analysis/CMakeLists.txt
> lib/Analysis/ObjCARCAliasAnalysis.cpp
> lib/Analysis/ObjCARCInstKind.cpp
> lib/Transforms/ObjCARC/ARCInstKind.cpp
> lib/Transforms/ObjCARC/ARCInstKind.h
> lib/Transforms/ObjCARC/CMakeLists.txt
> lib/Transforms/ObjCARC/ObjCARC.h
> lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.cpp
> lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.h
> lib/Transforms/ObjCARC/ObjCARCOpts.cpp
> lib/Transforms/ObjCARC/PtrState.h
>
Is it necessary to split llvm::objcarc::EnableARCOpts up, or can you
just move that variable (and the `cl::opt`) to Analysis/? I imagine
anyone that wants to turn off one will want to turn off both, so
having to specify `-enable-objc-arc-{aa,opts}=false` is a little
verbose. (Follow-up could maybe rename it to `-enable-objc-arc`.)
With that, LGTM.
More information about the llvm-commits
mailing list