llvm-project/llvm/lib/Transforms/ObjCARC
Akira Hatanaka 0231a4e5bd [ObjC][ARC] In HandlePotentialAlterRefCount, check whether an
instruction can decrement the reference count, not whether it can alter
it

This prevents the state transition from S_Use to S_CanRelease when doing
a bottom-up traversal and the transition from S_Retain to S_CanRelease
when doing a top-down traversal when the visited instruction can
increment the ref count but cannot decrement it. This allows the ARC
optimizer to remove retain/release pairs which were previously not
removed.

rdar://problem/21793154
2020-08-28 17:45:14 -07:00
..
ARCRuntimeEntryPoints.h ARCRuntimeEntryPoints.h - remove unnecessary includes. NFC. 2020-04-24 14:32:45 +01:00
BlotMapVector.h
CMakeLists.txt
DependencyAnalysis.cpp [NFC] Remove unused GetUnderlyingObject paramenter 2020-07-31 02:10:03 -07:00
DependencyAnalysis.h
LLVMBuild.txt
ObjCARC.cpp [ObjCARCOpt] Port objc-arc to NPM 2020-08-28 12:59:33 -07:00
ObjCARC.h ObjCARC.h - remove unnecessary includes. NFC. 2020-06-24 12:30:59 +01:00
ObjCARCAPElim.cpp [llvm][NFC][CallSite] Remove remaining {Immutable}CallSite uses 2020-04-23 22:19:39 -07:00
ObjCARCContract.cpp ObjCARC.h - remove unnecessary includes. NFC. 2020-06-24 12:30:59 +01:00
ObjCARCExpand.cpp [Pass] Ensure we don't include PassSupport.h or PassAnalysisSupport.h directly 2020-04-26 12:58:20 +01:00
ObjCARCOpts.cpp [ObjCARCOpt] Port objc-arc to NPM 2020-08-28 12:59:33 -07:00
ProvenanceAnalysis.cpp [NFC] Remove unused GetUnderlyingObject paramenter 2020-07-31 02:10:03 -07:00
ProvenanceAnalysis.h
ProvenanceAnalysisEvaluator.cpp
PtrState.cpp [ObjC][ARC] In HandlePotentialAlterRefCount, check whether an 2020-08-28 17:45:14 -07:00
PtrState.h