llvm-project/llvm/lib/Transforms/ObjCARC
Pete Cooper 1929b5539a Form objc_storeStrong in the presence of bitcasts.
objc_storeStrong can be formed from a sequence such as

  %0 = tail call i8* @objc_retain(i8* %p) nounwind
  %tmp = load i8*, i8** @x, align 8
  store i8* %0, i8** @x, align 8
  tail call void @objc_release(i8* %tmp) nounwind

The code was already looking through bitcasts for most of the values
involved, but had missed one case where the pointer operand for the
store was a bitcast.  Ultimately the pointer for the load and store
have to be the same value, after stripping casts.

llvm-svn: 270955
2016-05-27 02:13:53 +00:00
..
ARCRuntimeEntryPoints.h
BlotMapVector.h Unify XDEBUG and EXPENSIVE_CHECKS (into the latter), and add an option to the cmake build to enable them. 2016-04-29 15:22:48 +00:00
CMakeLists.txt [ARC] Pull the ObjC ARC components that really serve the role of 2015-08-20 08:06:03 +00:00
DependencyAnalysis.cpp ObjCARC: Remove implicit ilist iterator conversions, NFC 2015-10-19 23:20:14 +00:00
DependencyAnalysis.h Make more headers self-contained. 2016-01-27 18:03:37 +00:00
LLVMBuild.txt
ObjCARC.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ObjCARC.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ObjCARCAPElim.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
ObjCARCContract.cpp Form objc_storeStrong in the presence of bitcasts. 2016-05-27 02:13:53 +00:00
ObjCARCExpand.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ObjCARCOpts.cpp [ObjCARC] Handle ARCInstKind::ClaimRV in OptimizeIndividualCalls. 2016-02-17 18:51:27 +00:00
ProvenanceAnalysis.cpp [PM/AA] Hoist the AliasResult enum out of the AliasAnalysis class. 2015-06-22 02:16:51 +00:00
ProvenanceAnalysis.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
ProvenanceAnalysisEvaluator.cpp [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
PtrState.cpp ObjCARC: Remove implicit ilist iterator conversions, NFC 2015-10-19 23:20:14 +00:00
PtrState.h [ARC] Pull the ObjC ARC components that really serve the role of 2015-08-20 08:06:03 +00:00