summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [objc-arc] Change the InstructionClass to be an enum class called ARCInstKind.Michael Gottesman2015-02-191-254/+0
| | | | | | | I also renamed ObjCARCUtil.cpp -> ARCInstKind.cpp. That file only contained items related to ARCInstKind anyways. llvm-svn: 229905
* [objc-arc] Changed 'mode: c++' => 'C++' at Nick Lewycky's suggestion. Also ↵Michael Gottesman2013-07-101-1/+1
| | | | | | removed unnecessary mode: c++ lines from .cpp files. llvm-svn: 186026
* [objc-arc] Teach the ARC optimizer that objc_sync_enter/objc_sync_exit do ↵Michael Gottesman2013-07-071-0/+2
| | | | | | not modify the ref count of an objc object and additionally are inert for modref purposes. llvm-svn: 185769
* [ObjCARC Annotations] Added support for displaying the state of pointers at ↵Michael Gottesman2013-03-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 177952
* Kill every call to @clang.arc.use in the ARC contract phase.John McCall2013-03-221-1/+4
| | | | llvm-svn: 177769
* Fixed 2 more header comments...Michael Gottesman2013-01-291-1/+1
| | | | llvm-svn: 173774
* Sorted includes using utils/sort_includes.Michael Gottesman2013-01-291-1/+0
| | | | llvm-svn: 173767
* Extracted ObjCARCContract from ObjCARCOpts into its own file.Michael Gottesman2013-01-291-0/+93
| | | | | | | | 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. llvm-svn: 173760
* Created ObjCARCUtil.cpp for functions which in my humble opinion are too ↵Michael Gottesman2013-01-281-0/+149
large to static inline and place in a header file such as ObjCARC.h. llvm-svn: 173666
OpenPOWER on IntegriCloud