HomePhabricator

[ObjC][ARC] Convert the retainRV marker that is passed as a named metadata into…

Authored by ahatanak on Apr 9 2019, 11:20 PM.

Description

[ObjC][ARC] Convert the retainRV marker that is passed as a named metadata into a module flag in the auto-upgrader and make the ARC contract pass read the marker as a module flag.

This is needed to fix a bug where ARC contract wasn't inserting the
retainRV marker when LTO was enabled, which caused objects returned
from a function to be auto-released.

rdar://problem/49464214

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

llvm-svn: 358047