[all-commits] [llvm/llvm-project] 7e99bd: [CSSPGO] Support of CS profiles in extended binary...

Hongtao Yu via All-commits all-commits at lists.llvm.org
Wed Jan 27 21:30:33 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7e99bddfeaab2713a8bb6ca538da25b66e6efc59
      https://github.com/llvm/llvm-project/commit/7e99bddfeaab2713a8bb6ca538da25b66e6efc59
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2021-01-27 (Wed, 27 Jan 2021)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/ProfileData/SampleProfWriter.cpp
    M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
    M llvm/test/Transforms/SampleProfile/profile-context-tracker.ll
    A llvm/test/tools/llvm-profdata/Inputs/cs-sample.proftext
    A llvm/test/tools/llvm-profdata/cs-sample-profile.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp

  Log Message:
  -----------
  [CSSPGO] Support of CS profiles in extended binary format.

This change brings up support of context-sensitive profiles in the format of extended binary. Existing sample profile reader/writer/merger code is being tweaked to reflect the fact of bracketed input contexts, like (`[...]`). The paired brackets are also needed in extbinary profiles because we don't yet have an otherwise good way to tell calling contexts apart from regular function names since the context delimiter `@` can somehow serve as a part of the C++ mangled names.

Reviewed By: wmi, wenlei

Differential Revision: https://reviews.llvm.org/D95547




More information about the All-commits mailing list