llvm/lib/Transforms/ObjCARC
Michael Gottesman 391935a017 [objc-arc-contract] We can not move retains over instructions which can not conservatively be proven to not decrement the retain's RCIdentity.
I also cleaned up the code to make it more understandable for mere mortals.

<rdar://problem/19853758>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229937 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-20 00:02:49 +00:00
..
ARCInstKind.cpp [objc-arc] Add the predicate CanDecrementRefCount. 2015-02-20 00:02:45 +00:00
ARCInstKind.h [objc-arc] Add the predicate CanDecrementRefCount. 2015-02-20 00:02:45 +00:00
ARCRuntimeEntryPoints.h
CMakeLists.txt [objc-arc] Change the InstructionClass to be an enum class called ARCInstKind. 2015-02-19 19:51:32 +00:00
DependencyAnalysis.cpp [objc-arc] Add the predicate CanDecrementRefCount. 2015-02-20 00:02:45 +00:00
DependencyAnalysis.h [objc-arc-contract] We can not move retains over instructions which can not conservatively be proven to not decrement the retain's RCIdentity. 2015-02-20 00:02:49 +00:00
LLVMBuild.txt
Makefile
ObjCARC.cpp
ObjCARC.h [objc-arc] Change the InstructionClass to be an enum class called ARCInstKind. 2015-02-19 19:51:32 +00:00
ObjCARCAliasAnalysis.cpp [objc-arc] Change the InstructionClass to be an enum class called ARCInstKind. 2015-02-19 19:51:32 +00:00
ObjCARCAliasAnalysis.h
ObjCARCAPElim.cpp [objc-arc] Change the InstructionClass to be an enum class called ARCInstKind. 2015-02-19 19:51:32 +00:00
ObjCARCContract.cpp [objc-arc-contract] We can not move retains over instructions which can not conservatively be proven to not decrement the retain's RCIdentity. 2015-02-20 00:02:49 +00:00
ObjCARCExpand.cpp [objc-arc] Change the InstructionClass to be an enum class called ARCInstKind. 2015-02-19 19:51:32 +00:00
ObjCARCOpts.cpp [objc-arc] Change the InstructionClass to be an enum class called ARCInstKind. 2015-02-19 19:51:32 +00:00
ProvenanceAnalysis.cpp
ProvenanceAnalysis.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
ProvenanceAnalysisEvaluator.cpp