llvm-6502/lib/Transforms/ObjCARC
Michael Gottesman f23af8bfd8 [objc-arc] Convert the one directional retain/release relation assert to a conditional check + fail.
Due to the previously added overflow checks, we can have a retain/release
relation that is one directional. This occurs specifically when we run into an
additive overflow causing us to drop state in only one direction. If that
occurs, we should bail and not optimize that retain/release instead of
asserting.

Apologies for the size of the testcase. It is necessary to cause the additive
cfg overflow to trigger.

rdar://15377890

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194083 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-05 16:02:40 +00:00
..
ARCRuntimeEntryPoints.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
CMakeLists.txt Extracted ObjCARCContract from ObjCARCOpts into its own file. 2013-01-29 03:03:03 +00:00
DependencyAnalysis.cpp Kill every call to @clang.arc.use in the ARC contract phase. 2013-03-22 21:38:36 +00:00
DependencyAnalysis.h [objc-arc] Changed 'mode: c++' => 'C++' at Nick Lewycky's suggestion. Also removed unnecessary mode: c++ lines from .cpp files. 2013-07-10 18:49:00 +00:00
LLVMBuild.txt Added missing dashes from header declaration comment. 2013-01-29 04:53:55 +00:00
Makefile
ObjCARC.cpp This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
ObjCARC.h [objc-arc] Changed 'mode: c++' => 'C++' at Nick Lewycky's suggestion. Also removed unnecessary mode: c++ lines from .cpp files. 2013-07-10 18:49:00 +00:00
ObjCARCAliasAnalysis.cpp [objc-arc] Changed 'mode: c++' => 'C++' at Nick Lewycky's suggestion. Also removed unnecessary mode: c++ lines from .cpp files. 2013-07-10 18:49:00 +00:00
ObjCARCAliasAnalysis.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
ObjCARCAPElim.cpp Hopefully fix the Windows build failure introduced in r173769 2013-01-29 09:09:27 +00:00
ObjCARCContract.cpp [objc-arc] Updated ObjCARCContract to use ARCRuntimeEntryPoints. 2013-07-06 01:39:26 +00:00
ObjCARCExpand.cpp Sorted includes using utils/sort_includes. 2013-01-29 04:20:52 +00:00
ObjCARCOpts.cpp [objc-arc] Convert the one directional retain/release relation assert to a conditional check + fail. 2013-11-05 16:02:40 +00:00
ObjCARCUtil.cpp [objc-arc] Changed 'mode: c++' => 'C++' at Nick Lewycky's suggestion. Also removed unnecessary mode: c++ lines from .cpp files. 2013-07-10 18:49:00 +00:00
ProvenanceAnalysis.cpp Changed isStoredObjCPointer => IsStoredObjCPointer. No functionality change. 2013-02-12 23:35:08 +00:00
ProvenanceAnalysis.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00