[all-commits] [llvm/llvm-project] 105adf: [SHT_LLVM_BB_ADDR_MAP] Implements PGOAnalysisMap i...

Micah Weston via All-commits all-commits at lists.llvm.org
Tue Dec 12 07:23:30 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 105adf2cd9588b4839fbdc7287bb76a962fdb8ca
      https://github.com/llvm/llvm-project/commit/105adf2cd9588b4839fbdc7287bb76a962fdb8ca
  Author: Micah Weston <micahsweston at gmail.com>
  Date:   2023-12-12 (Tue, 12 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Object/ELF.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/Object/ELFTypes.h
    M llvm/include/llvm/ObjectYAML/ELFYAML.h
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/unittests/Object/ELFObjectFileTest.cpp
    M llvm/unittests/Object/ELFTypesTest.cpp

  Log Message:
  -----------
  [SHT_LLVM_BB_ADDR_MAP] Implements PGOAnalysisMap in Object and ObjectYAML with tests.

Reviewed in PR (#71750). A part of [RFC - PGO Accuracy Metrics: Emitting and Evaluating Branch
and Block
Analysis](https://discourse.llvm.org/t/rfc-pgo-accuracy-metrics-emitting-and-evaluating-branch-and-block-analysis/73902).

This PR adds the PGOAnalysisMap data structure and implements encoding and
decoding through Object and ObjectYAML along with associated tests. When
emitted into the bb-addr-map section, each function is followed by the associated
pgo-analysis-map for that function. The emitting of each analysis in the map is
controlled by a bit in the bb-addr-map feature byte. All existing bb-addr-map
code can ignore the pgo-analysis-map if the caller does not request the data.




More information about the All-commits mailing list