AFAIK, the only time clang emits runtime calls like objc_retain or objc_release on a global variable is when the object is a string literal or a global block and retaining or releasing them is a no-op since NSConstantString and __NSGlobalBlock are retain-agnostic. This patch teaches ARC optimizer to delete the calls when the call argument is a global variable.
rdar://problem/49839633