This change registers __llvm_profile_write_file with at_quick_exit
when it's available.
Some processes don't exit normally (via return from main or
exit()) to avoid the cost of calling destructors of static globals.
They call quick_exit or _exit instead. Registering with
at_quick_exit allows coverage data to be written when quick_exit is
called.
Is this explicit call needed?