[ObjCARC] Don't sink objc_retain past atomic writes (#184113)
The atomic may cause another thread to objc_release the pointer, so
consider these instructions as potentially decrementing refcounts.
This patch is a synthesis of several AI models' outputs, as well as work
by David Kilzer.
Co-authored-by: David Kilzer <ddkilzer@apple.com>
Assisted-by: claude
rdar://152185192