Commits

Nadav Rotem committed a72cd1af2a3
ARCOpt: fix an object ownership bug. When checking for users of an object we need to consider all values because any use of the object may increase its lifetime. For example, in the sil code below, instruction %26 increases the lifetime of object %9. If we remove the retain-release pair then the apply inst may release %9 and the load would become invalid. strong_retain %9#0 : $Builtin.ObjectPointer %24 = apply %19<>() %26 = load %9#1 : $*Int strong_release %9#0 : $Builtin.ObjectPointer return %26 : $Int This fixes rdar://16233340 Swift SVN r14745