[all-commits] [llvm/llvm-project] a5f411: [llvm-profgen] Allow unsymbolized profile as perf ...

ictwanglei via All-commits all-commits at lists.llvm.org
Mon Oct 25 23:58:48 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a5f411b7f88caf1ef000a0397eb93d1a39d25690
      https://github.com/llvm/llvm-project/commit/a5f411b7f88caf1ef000a0397eb93d1a39d25690
  Author: wlei <wlei at fb.com>
  Date:   2021-10-25 (Mon, 25 Oct 2021)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/test/tools/llvm-profgen/inline-noprobe.test
    M llvm/test/tools/llvm-profgen/inline-noprobe2.test
    M llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test
    M llvm/tools/llvm-profgen/PerfReader.cpp
    M llvm/tools/llvm-profgen/PerfReader.h
    M llvm/tools/llvm-profgen/llvm-profgen.cpp

  Log Message:
  -----------
  [llvm-profgen] Allow unsymbolized profile as perf input

This change allows the unsymbolized profile as input. The unsymbolized profile is created by `llvm-profgen` with `--skip-symbolization` and it's after the sample aggregation but before symbolization , so it has much small file size. It can be used for sample merging and trimming,  also is useful for debugging or adding test cases. A switch `--unsymbolized-profile=file-patch` is added for this.

Format of unsymbolized profile:
```

   [context stack1]    # If it's a CS profile
      number of entries in RangeCounter
      from_1-to_1:count_1
      from_2-to_2:count_2
      ......
      from_n-to_n:count_n
      number of entries in BranchCounter
      src_1->dst_1:count_1
      src_2->dst_2:count_2
      ......
      src_n->dst_n:count_n
    [context stack2]
      ......
```

Reviewed By: hoy, wenlei

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




More information about the All-commits mailing list