History log of /external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
023d2bbbbedc6ed991b11381a987673133be2c81 10-Jul-2013 Michael Gottesman <mgottesman@apple.com> [objc-arc] Changed 'mode: c++' => 'C++' at Nick Lewycky's suggestion. Also removed unnecessary mode: c++ lines from .cpp files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
0a80c1240284c764c0f9cd043a2a18ff4152a203 07-Jul-2013 Michael Gottesman <mgottesman@apple.com> [objc-arc] Teach the ARC optimizer that objc_sync_enter/objc_sync_exit do not modify the ref count of an objc object and additionally are inert for modref purposes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
26dbfb6a7882bc8f5d9364b4bec7ef1d339dd327 26-Mar-2013 Michael Gottesman <mgottesman@apple.com> [ObjCARC Annotations] Added support for displaying the state of pointers at the bottom/top of BBs of the ARC dataflow analysis for both bottomup and topdown analyses.

This will allow for verification and analysis of the merge function of
the data flow analyses in the ARC optimizer.

The actual implementation of this feature is by introducing calls to
the functions llvm.arc.annotation.{bottomup,topdown}.{bbstart,bbend}
which are only declared. Each such call takes in a pointer to a global
with the same name as the pointer whose provenance is being tracked and
a pointer whose name is one of our Sequence states and points to a
string that contains the same name.

To ensure that the optimizer does not consider these annotations in any
way, I made it so that the annotations are considered to be of IC_None
type.

A test case is included for this commit and the previous
ObjCARCAnnotation commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
1f9c4407c0e66f0c473ed5d6e3abcedda3a838c9 22-Mar-2013 John McCall <rjmccall@apple.com> Kill every call to @clang.arc.use in the ARC contract phase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
9d46ef67baf92022f82a49bb2eb8b737b2bdbe95 29-Jan-2013 Michael Gottesman <mgottesman@apple.com> Fixed 2 more header comments...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
7a7102d17f979918042bc040e27288d64a6bea5f 29-Jan-2013 Michael Gottesman <mgottesman@apple.com> Sorted includes using utils/sort_includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
3a57c37964adfbbf83b4b309a2ceda43ba6d8231 29-Jan-2013 Michael Gottesman <mgottesman@apple.com> Extracted ObjCARCContract from ObjCARCOpts into its own file.

This also required adding 2x headers Dependency Analysis.h/Provenance Analysis.h
and a .cpp file DependencyAnalysis.cpp to unentangle the dependencies inbetween
ObjCARCContract and ObjCARCOpts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
64437ead05db4f5d28e697058180ae575c3cf75b 28-Jan-2013 Michael Gottesman <mgottesman@apple.com> Created ObjCARCUtil.cpp for functions which in my humble opinion are too large to static inline and place in a header file such as ObjCARC.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp