[all-commits] [llvm/llvm-project] 21b1ad: [SampleFDO] Add the support to split the function ...
wmi-11 via All-commits
all-commits at lists.llvm.org
Tue Jan 19 15:21:27 PST 2021
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 21b1ad0340a7ba69c605ea1c218adb567b5190ae
https://github.com/llvm/llvm-project/commit/21b1ad0340a7ba69c605ea1c218adb567b5190ae
Author: Wei Mi <wmi at google.com>
Date: 2021-01-19 (Tue, 19 Jan 2021)
Changed paths:
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
M llvm/lib/Transforms/IPO/SampleProfile.cpp
A llvm/test/Transforms/SampleProfile/Inputs/ctxsplit.extbinary.afdo
A llvm/test/Transforms/SampleProfile/ctxsplit.ll
Log Message:
-----------
[SampleFDO] Add the support to split the function profiles with context into
separate sections.
For ThinLTO, all the function profiles without context has been annotated to
outline functions if possible in prelink phase. In postlink phase, profile
annotation in postlink phase is only meaningful for function profile with
context. If the profile is large, it is better to split the profile into two
parts, one with context and one without, so the profile reading in postlink
phase only has to read the part with context. To have the profile splitting,
we extend the ExtBinary format to support different section arrangement. It
will be flexible to add other section layout in the future without the need
to create new class inheriting from ExtBinary class.
Differential Revision: https://reviews.llvm.org/D94435
More information about the All-commits
mailing list