Hello all, I'm wondering as to the status of control flow profiling in llvm. From what I can gather there was an old system (using opt -insert-edge-profiling and the like) which was removed in this commit llvm.org/viewvc/llvm-project?view=revision&revision=191835 . The commit message mentions "modern PGO efforts", but I can't find anything in the source tree or documentation. Who is working on the newer efforts and what is their status? If there's work that still needs to be done, I'd be happy to help out in a serious way. Thanks, Jeremy Salwen -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140609/c45a278a/attachment.html>
Jeremy Salwen <jeremysalwen at gmail.com> writes:> I'm wondering as to the status of control flow profiling in llvm. From what I > can gather there was an old system (using opt -insert-edge-profiling and the > like) which was removed in this commit llvm.org/viewvc/llvm-project?view> revision&revision=191835 . The commit message mentions "modern PGO efforts", > but I can't find anything in the source tree or documentation. Who is working > on the newer efforts and what is their status? If there's work that still > needs to be done, I'd be happy to help out in a serious way.The mention of "modern PGO efforts" is about two things: - Sampling profilers, as documented in http://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers-for-optimization - Frontend instrumentation profiling. This really isn't documented at all yet, but it consists of the -fprofile-instr-generate and -fprofile-instr-use flags, and the llvm-profdata tool. I'll add some notes to the user guide this week - sorry that I haven't gotten to it sooner.
Hi Justin, I've been searching the mailing list and the web for discussion of the frontend instrumentation profiling. Is there some sort of a design document or thread where it was discussed? I'm curious why it was implemented in the frontend instead of a pass on the IR. Thanks, Jeremy On Mon, Jun 9, 2014 at 2:20 PM, Justin Bogner <mail at justinbogner.com> wrote:> Jeremy Salwen <jeremysalwen at gmail.com> writes: > > I'm wondering as to the status of control flow profiling in llvm. From > what I > > can gather there was an old system (using opt -insert-edge-profiling and > the > > like) which was removed in this commit > llvm.org/viewvc/llvm-project?view> > revision&revision=191835 . The commit message mentions "modern PGO > efforts", > > but I can't find anything in the source tree or documentation. Who is > working > > on the newer efforts and what is their status? If there's work that still > > needs to be done, I'd be happy to help out in a serious way. > > The mention of "modern PGO efforts" is about two things: > > - Sampling profilers, as documented in > > http://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers-for-optimization > > - Frontend instrumentation profiling. This really isn't documented at > all yet, but it consists of the -fprofile-instr-generate and > -fprofile-instr-use flags, and the llvm-profdata tool. I'll add some > notes to the user guide this week - sorry that I haven't gotten to it > sooner. >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140609/1b44c68f/attachment.html>