[all-commits] [llvm/llvm-project] 8477bc: [BOLT] Add function layout class

Fabian Parzefall via All-commits all-commits at lists.llvm.org
Sat Jul 16 17:25:04 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8477bc67614a45d9bbd5caa407bb376069789c7b
      https://github.com/llvm/llvm-project/commit/8477bc67614a45d9bbd5caa407bb376069789c7b
  Author: Fabian Parzefall <parzefall at fb.com>
  Date:   2022-07-16 (Sat, 16 Jul 2022)

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

  Log Message:
  -----------
  [BOLT] Add function layout class

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).

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D129518




More information about the All-commits mailing list