[PATCH] D62541: Adding a function for setting coverage output file.

Sajjad Mirza via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 30 14:54:26 PDT 2019

sajjadm added a comment.

On further thought, I don't think having a boolean that tells the runtime "user code is controlling locking so it is safe to merge" is a good idea, because typically __llvm_profile_write_file is invoked at exit. User code would have to ensure that it locks the file at the very end of its execution, when it has collected the desired profiling data, but before __lvm_profile_write_file is invoked. Also, in the current implementation, whether or not merging happens is controlled by the pattern of the profiling file name (whether or not it has a %m in it).

Instead I think we should have a separate function, __llvm_profile_enable_merging. When this new function is invoked with true, it overrides the merging state set by the file name pattern. Then openFileForMerging can call lprofLockFd on the user-provided file. This allows the user to explicitly turn merging on if desired.

  rG LLVM Github Monorepo



More information about the llvm-commits mailing list