Currently when profile instrumentation is on, the compiler emits a runtime hook use function (llvm_profile_runtime_use) for every module that is instrumented. The generated function references hook llvm_profile_runtime in order for linker to link in runtime initialization module (InstrProfilingRuntime.o) that registers the profile dumper atexit. The cost (though very small) can be avoided by changing the driver to emit the right linker option.
The clang patch itself does not change any functionality. There will be a follow up patch in LLVM that disables the hook use emission once this one is committed.