[PATCH] D130052: [BOLT] Support passing fragments to code emission

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


FPar created this revision.
Herald added a reviewer: rafauler.
Herald added a subscriber: ayermolo.
Herald added a reviewer: Amir.
Herald added a reviewer: maksfb.
Herald added a project: All.
FPar added a reviewer: yota9.
FPar retitled this revision from "[BOLT] Make code emission multi fragment aware" to "[BOLT] Support passing fragments to code emission".
FPar edited the summary of this revision.
FPar updated this revision to Diff 447479.
FPar added a comment.
FPar published this revision for review.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Clean diff up


This changes code emission such that it can emit specific function
fragments instead of scanning all basic blocks of a function and just
emitting those that are hot or cold.

To implement this, `FunctionLayout` explicitly distinguishes the "main"
fragment (i.e. the one that contains the entry block and is associated
with the original symbol) from "split" fragments. Additionally,
`BinaryFunction` receives support for multiple cold symbols - one for
each split fragment.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D130052

Files:
  bolt/include/bolt/Core/BinaryEmitter.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/Rewrite/RewriteInstance.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130052.447479.patch
Type: text/x-patch
Size: 22848 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220725/58520cbd/attachment.bin>


More information about the llvm-commits mailing list