[PATCH] D23106: [Profile] introduce interface __llvm_profile_dump

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 8 10:46:22 PDT 2016


On Mon, Aug 8, 2016 at 10:38 AM, Vedant Kumar <vsk at apple.com> wrote:
> vsk added inline comments.
>
> ================
> Comment at: lib/profile/InstrProfiling.c:81
> @@ -70,2 +80,3 @@
>    }
> +  ProfileDumped = 0;
>  }
> ----------------
> davidxl wrote:
>> vsk wrote:
>> > Should probably also be cleared when llvm_prof_set_filename() or llvm_profile_merge_from_buffer() are called.
>> It is a mistake to not call reset counter before dumping again (due to double counting) regardless whether merging is used or not
> Oh, I see. This sequence of calls doesn't make sense: dump(), merge_profile_from_buffer(), dump(). You're saying you'd need to reset the counters some time before the second call to dump() anyway.
>
> What about: dump(), set_filename(), dump()?. The second 'dump()' wouldn't go through, which seems like a problem.
>

This is usually

 region-1 --> dump() --> code region-2 --> set_filename --> dump()

so user wants to dump region-1 profile in one profile, and region1+
region2 to second file.  It does not bring user any benefit by doing
this. Forcing resetting allows file2 only contains region-2 and post
process can be done to merge two regions.  If user really wants this,
he always has the choice of  using low level interface write_file
directly.    Enforcing the resetting between dumps makes the use model
cleaner.

David



>
> https://reviews.llvm.org/D23106
>
>
>


More information about the llvm-commits mailing list