llvm-project/llvm/lib/Transforms/ObjCARC
Akira Hatanaka 643ce61fb3 [ObjC][ARC] Don't form a StoreStrong call if it is unsafe to move the
release call

findSafeStoreForStoreStrongContraction checks whether it's safe to move
the release call to the store by inspecting all instructions between the
two, but was ignoring retain instructions. This was causing objects to
be released and deallocated before they were retained.

rdar://81668577
2021-08-11 13:50:19 -07:00
..
ARCRuntimeEntryPoints.h [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of 2021-03-04 11:22:30 -08:00
BlotMapVector.h
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
DependencyAnalysis.cpp [Transforms] Use range-based for loops (NFC) 2021-02-08 22:33:53 -08:00
DependencyAnalysis.h [ObjC][ARC] Add and use a function which finds and returns the single 2020-11-13 14:02:58 -08:00
ObjCARC.cpp Move ObjCARCUtil.h back to llvm/Analysis 2021-03-08 16:35:24 -08:00
ObjCARC.h Move ObjCARCUtil.h back to llvm/Analysis 2021-03-08 16:35:24 -08:00
ObjCARCAPElim.cpp Port -objc-arc-apelim to NPM 2020-10-26 20:01:46 -07:00
ObjCARCContract.cpp [ObjC][ARC] Don't form a StoreStrong call if it is unsafe to move the 2021-08-11 13:50:19 -07:00
ObjCARCExpand.cpp Port -objc-arc-expand to NPM 2020-10-26 20:05:10 -07:00
ObjCARCOpts.cpp [ObjC][ARC] Prevent moving objc_retain calls past objc_release calls 2021-07-05 12:16:15 -07:00
ProvenanceAnalysis.cpp [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset. 2021-04-09 12:54:22 +03:00
ProvenanceAnalysis.h Remove unused parameter 2020-11-02 17:40:06 -08:00
ProvenanceAnalysisEvaluator.cpp [NFC] Reduce include files dependency and AA header cleanup (part 2). 2020-12-17 14:04:48 +03:00
PtrState.cpp Move ObjCARCUtil.h back to llvm/Analysis 2021-03-08 16:35:24 -08:00
PtrState.h [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of 2021-03-04 11:22:30 -08:00