llvm-6502/test
Michael Gottesman a67a20c95f Remove an optimization where we were changing an objc_autorelease into an objc_autoreleaseReturnValue.
The semantics of ARC implies that a pointer passed into an objc_autorelease
must live until some point (potentially down the stack) where an
autorelease pool is popped. On the other hand, an
objc_autoreleaseReturnValue just signifies that the object must live
until the end of the given function at least.

Thus objc_autorelease is stronger than objc_autoreleaseReturnValue in
terms of the semantics of ARC* implying that performing the given
strength reduction without any knowledge of how this relates to
the autorelease pool pop that is further up the stack violates the
semantics of ARC.

*Even though objc_autoreleaseReturnValue if you know that no RV
optimization will occur is more computationally expensive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178612 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03 02:57:24 +00:00
..
Analysis X86TTI: Add accurate costs for itofp operations, based on the actual instruction counts. 2013-04-01 10:23:49 +00:00
Archive
Assembler
Bindings/Ocaml
Bitcode
BugPoint
CodeGen [mips] Small update to the implementation of eh.return for Mips. 2013-04-02 23:02:07 +00:00
DebugInfo Support and test template arguments for unions. 2013-04-02 22:55:56 +00:00
ExecutionEngine Add support for vector data types in the LLVM interpreter. 2013-04-01 15:53:30 +00:00
Feature
FileCheck
Instrumentation [tsan] make sure memset/memcpy/memmove are not inlined in tsan mode 2013-03-28 11:21:13 +00:00
Integer
JitListener
Linker
MC Mips direct object exception handling regression 2013-04-01 21:55:15 +00:00
Object
Other
Scripts
TableGen
tools
Transforms Remove an optimization where we were changing an objc_autorelease into an objc_autoreleaseReturnValue. 2013-04-03 02:57:24 +00:00
Unit
Verifier
YAMLParser
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh