[all-commits] [llvm/llvm-project] 628068: [BOLT] Output basic YAML profile in BAT mode

Amir Ayupov via All-commits all-commits at lists.llvm.org
Thu Mar 21 14:32:35 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 628068113710d501e88b63a1506d66dd20ce7e94
      https://github.com/llvm/llvm-project/commit/628068113710d501e88b63a1506d66dd20ce7e94
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/X86/Inputs/blarge_new.preagg.txt
    A bolt/test/X86/Inputs/blarge_new.yaml
    A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
    A bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Output basic YAML profile in BAT mode

Relax assumptions that YAML output is not supported in BAT mode.
Set up basic infrastructure for emitting YAML for functions not covered
by BAT, such as from `.bolt.org.text` section (code identical to input binary
sans external refs), or non-rewritten functions in non-relocation mode (where
the function stays in the same section but BAT mapping is not emitted).

This diff only produces YAML profile for non-BAT functions (skipped,
non-simple). YAML profile for BAT functions is added in follow-up diffs:
- https://github.com/llvm/llvm-project/pull/76911 emits YAML profile with
  internal control flow information only (branch profile),
- https://github.com/llvm/llvm-project/pull/76896 adds cross-function profile
  (calls profile).

Test Plan: Added bolt/test/X86/bolt-address-translation-yaml.test

Reviewers: ayermolo, dcci, maksfb, rafaelauler

Reviewed By: rafaelauler

Pull Request: https://github.com/llvm/llvm-project/pull/76910



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list