llvm-project/llvm/lib/Transforms/ObjCARC
Shoaib Meenai 074728a2a9 [ObjCARC] Prevent code motion into a catchswitch
A catchswitch must be the only non-phi instruction in its basic block;
attempting to move a retain or release into a catchswitch basic block
will result in invalid IR. Explicitly mark a CFG hazard in this case to
prevent the code motion.

Differential Revision: https://reviews.llvm.org/D46482

llvm-svn: 332430
2018-05-16 04:52:18 +00:00
..
ARCRuntimeEntryPoints.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-27 01:09:08 +00:00
BlotMapVector.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CMakeLists.txt
DependencyAnalysis.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
DependencyAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LLVMBuild.txt
ObjCARC.cpp Remove redundant includes from lib/Transforms. 2017-12-13 21:31:01 +00:00
ObjCARC.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ObjCARCAPElim.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
ObjCARCContract.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
ObjCARCExpand.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
ObjCARCOpts.cpp [ObjCARC] Prevent code motion into a catchswitch 2018-05-16 04:52:18 +00:00
ProvenanceAnalysis.cpp Improve caching scheme in ProvenanceAnalysis. 2018-03-12 20:36:25 +00:00
ProvenanceAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ProvenanceAnalysisEvaluator.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
PtrState.cpp [ObjCARC] Prevent code motion into a catchswitch 2018-05-16 04:52:18 +00:00
PtrState.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00