[PATCH] D129518: [BOLT] Add function layout class

Fabian Parzefall via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 11 14:37:14 PDT 2022


FPar created this revision.
FPar added reviewers: Amir, maksfb, rafauler, yota9.
Herald added subscribers: ayermolo, mgorny.
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 a dedicated class to keep track of each function's
layout. It also lays the groundwork for splitting functions into
multiple fragments (as opposed to a strict hot/cold split).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D129518

Files:
  bolt/include/bolt/Core/BinaryBasicBlock.h
  bolt/include/bolt/Core/BinaryFunction.h
  bolt/include/bolt/Core/FunctionLayout.h
  bolt/lib/Core/BinaryEmitter.cpp
  bolt/lib/Core/BinaryFunction.cpp
  bolt/lib/Core/CMakeLists.txt
  bolt/lib/Core/DynoStats.cpp
  bolt/lib/Core/Exceptions.cpp
  bolt/lib/Core/FunctionLayout.cpp
  bolt/lib/Passes/ADRRelaxationPass.cpp
  bolt/lib/Passes/Aligner.cpp
  bolt/lib/Passes/AsmDump.cpp
  bolt/lib/Passes/BinaryFunctionCallGraph.cpp
  bolt/lib/Passes/BinaryPasses.cpp
  bolt/lib/Passes/CacheMetrics.cpp
  bolt/lib/Passes/ExtTSPReorderAlgorithm.cpp
  bolt/lib/Passes/FrameAnalysis.cpp
  bolt/lib/Passes/IdenticalCodeFolding.cpp
  bolt/lib/Passes/IndirectCallPromotion.cpp
  bolt/lib/Passes/Inliner.cpp
  bolt/lib/Passes/Instrumentation.cpp
  bolt/lib/Passes/LongJmp.cpp
  bolt/lib/Passes/LoopInversionPass.cpp
  bolt/lib/Passes/PLTCall.cpp
  bolt/lib/Passes/ReorderAlgorithm.cpp
  bolt/lib/Passes/ShrinkWrapping.cpp
  bolt/lib/Passes/SplitFunctions.cpp
  bolt/lib/Passes/StokeInfo.cpp
  bolt/lib/Passes/TailDuplication.cpp
  bolt/lib/Passes/ThreeWayBranch.cpp
  bolt/lib/Passes/ValidateInternalCalls.cpp
  bolt/lib/Profile/BoltAddressTranslation.cpp
  bolt/lib/Profile/DataAggregator.cpp
  bolt/lib/Profile/DataReader.cpp
  bolt/lib/Rewrite/BoltDiff.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129518.443762.patch
Type: text/x-patch
Size: 97246 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220711/1ac88ad9/attachment-0001.bin>


More information about the llvm-commits mailing list