These fake functions were causing clang to crash when https://reviews.llvm.org/D98799 made some changes.
The line number information is no longer emitted for the __Block_byref_object helper functions (see clang/test/CodeGenCXX/debug-info-blocks.cpp), but I think that's okay since the line numbers were incorrect when the helper functions were shared among multiple __block variables. For example, the line number for __Block_byref_object_copy_ and __Block_byref_object_dispose_ was the line number for __block id b in func0, which was incorrect if the helper functions were called when func1 was called.
void (^gb)(); int func0() { __block id b; gb = ^{ (void)b; }; return 0; } int func1() { __block id b; gb = ^{ (void)b; }; return 0; }
This comment refers to the FD->setImplicit(); that was removed.