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

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 20 01:05:45 PDT 2015


I felt it wasn't very nice to have an optimization enabling flag in the
analysis library, but if that's what you prefer, no problem. Submitting
with that change. Let me know if anything about it doesn't match your
expectations.

On Wed, Aug 19, 2015 at 3:42 PM Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:

>
> > 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150820/7f94d3f5/attachment.html>


More information about the llvm-commits mailing list