llvm-6502/lib/Transforms/ObjCARC
Michael Gottesman 26dbfb6a78 [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
2013-03-26 00:42:09 +00:00
..
CMakeLists.txt
DependencyAnalysis.cpp Kill every call to @clang.arc.use in the ARC contract phase. 2013-03-22 21:38:36 +00:00
DependencyAnalysis.h
LLVMBuild.txt Added missing dashes from header declaration comment. 2013-01-29 04:53:55 +00:00
Makefile
ObjCARC.cpp Make helpers static. Add missing include so LLVMInitializeObjCARCOpts gets C linkage. 2013-02-15 12:30:38 +00:00
ObjCARC.h Changed isNullOrUndef => IsNullOrUndef and isNoopInstruction => IsNoopInstruction so that all helper functions are named similarly in ObjCARC.h. 2013-03-25 09:27:43 +00:00
ObjCARCAliasAnalysis.cpp
ObjCARCAliasAnalysis.h
ObjCARCAPElim.cpp Hopefully fix the Windows build failure introduced in r173769 2013-01-29 09:09:27 +00:00
ObjCARCContract.cpp Changed isNullOrUndef => IsNullOrUndef and isNoopInstruction => IsNoopInstruction so that all helper functions are named similarly in ObjCARC.h. 2013-03-25 09:27:43 +00:00
ObjCARCExpand.cpp
ObjCARCOpts.cpp [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. 2013-03-26 00:42:09 +00:00
ObjCARCUtil.cpp [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. 2013-03-26 00:42:09 +00:00
ProvenanceAnalysis.cpp Changed isStoredObjCPointer => IsStoredObjCPointer. No functionality change. 2013-02-12 23:35:08 +00:00
ProvenanceAnalysis.h Fixed some whitespace/80+ violations. Also added a space after a namespace declaration. 2013-01-29 04:58:30 +00:00