[all-commits] [llvm/llvm-project] 0a5aa2: Introduction of Composite Profile section in ExtBi...
Sergey Shcherbinin via All-commits
all-commits at lists.llvm.org
Fri Sep 11 12:22:32 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0a5aa293a4e76add0a3abefbf41320b70cb77c1f
https://github.com/llvm/llvm-project/commit/0a5aa293a4e76add0a3abefbf41320b70cb77c1f
Author: Sergey Shcherbinin <sscherbinin at nvidia.com>
Date: 2026-09-11 (Fri, 11 Sep 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-profdata.md
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/ProfileData/SampleProfWriter.cpp
A llvm/test/Transforms/SampleProfile/Inputs/composite-cs-profile.proftext
A llvm/test/Transforms/SampleProfile/composite-cs-profile.ll
M llvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll
A llvm/test/tools/llvm-profdata/Inputs/composite-duplicate-type.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-empty-section.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-head-only.proftext
A llvm/test/tools/llvm-profdata/Inputs/composite-mixed-empty.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-mixed-nonempty.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-payload-oversized.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-payload-undersized.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-prepended-unknown.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-unknown-nested.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-unknown-oob.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-unknown-top.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-version-103.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-version-104.profdata
A llvm/test/tools/llvm-profdata/Inputs/composite-zero-block.proftext
A llvm/test/tools/llvm-profdata/Inputs/sample-composite-empty-lbr.proftext
A llvm/test/tools/llvm-profdata/composite-compress.test
A llvm/test/tools/llvm-profdata/composite-compressed-info.test
A llvm/test/tools/llvm-profdata/composite-empty-lbr.test
A llvm/test/tools/llvm-profdata/composite-eytzinger-split-nametable-partition.test
A llvm/test/tools/llvm-profdata/composite-head-only.test
A llvm/test/tools/llvm-profdata/composite-mixed-sections.test
A llvm/test/tools/llvm-profdata/composite-multiple-blocks.test
A llvm/test/tools/llvm-profdata/composite-payload-boundaries.test
A llvm/test/tools/llvm-profdata/composite-unknown-resume-nested.test
A llvm/test/tools/llvm-profdata/composite-version-reader.test
A llvm/test/tools/llvm-profdata/composite-vtable.test
A llvm/test/tools/llvm-profdata/composite-zero-block.test
M llvm/test/tools/llvm-profdata/sample-flatten-profile.test
M llvm/test/tools/llvm-profdata/sample-split-layout.test
A llvm/test/tools/llvm-profdata/show-composite-profile-info.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/SampleProfTest.cpp
Log Message:
-----------
Introduction of Composite Profile section in ExtBinary format (#166553)
New sections are introduced for storing profile of vairous types:
* SecCompositeProfile (like SecLBRProfile but can conain multi-type
profile)
* SecCompositeFuncOffsetTable (like SecFuncOffsetTable but offsets point
to SecCompositeProfile)
The only change in the structure of ExtBinary is a substitution of
SecLBRProfile and SecFuncOffsetTable sections by new (composite) ones,
so, to void duplication of layout description and handling, all changes
are done on low-level: section types are modified in the existing layout
right before profile writing.
No new profile types are introduced - this change is rather a
preparation for future profiling extentions: only LBR profile can be
inside currently.
Processing of VTable profile is unmodified.
Extended description is here:
https://discourse.llvm.org/t/rfc-typifiedprofilesection-generalized-per-function-profile-blocks-in-extbinary-format/87881
Testing of the new scenario is added to
llvm/test/tools/llvm-profdata/sample-flatten-profile.test and also new
tests are introduced.
Assisted by GPT-5.
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