[PATCH] D130521: [BOLT] Generate sections for multiple fragments

Fabian Parzefall via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 25 14:43:06 PDT 2022


FPar created this revision.
FPar added reviewers: rafauler, Amir, maksfb, yota9.
Herald added a subscriber: ayermolo.
Herald added a project: All.
FPar requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This patch adds support to generate any number of sections that are
assigned to fragments of functions that are split more than two-way.
With this, a function's *nth* split fragment goes into section
`.text.cold.n`.

This also changes `FunctionLayout::erase` to make sure, that there are
no empty fragments within the split fragments. This takes away some
flexibility in assigning fragments, but is currently necessary to avoid
generating symbols for empty split fragments and keeping emission
consistent with the old behavior.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D130521

Files:
  bolt/include/bolt/Core/BinaryBasicBlock.h
  bolt/include/bolt/Core/BinaryFunction.h
  bolt/include/bolt/Core/FunctionLayout.h
  bolt/lib/Core/BinaryContext.cpp
  bolt/lib/Core/BinaryEmitter.cpp
  bolt/lib/Core/BinaryFunction.cpp
  bolt/lib/Core/FunctionLayout.cpp
  bolt/lib/Passes/SplitFunctions.cpp
  bolt/lib/Rewrite/RewriteInstance.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130521.447481.patch
Type: text/x-patch
Size: 17236 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220725/e6d1a9c4/attachment.bin>


More information about the llvm-commits mailing list