[all-commits] [llvm/llvm-project] b40248: [BOLT] A new code layout algorithm for function re...
spupyrev via All-commits
all-commits at lists.llvm.org
Mon Jul 31 10:49:34 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b402487b7445a799c3ed03109d291198fd529d3a
https://github.com/llvm/llvm-project/commit/b402487b7445a799c3ed03109d291198fd529d3a
Author: spupyrev <spupyrev at fb.com>
Date: 2023-07-31 (Mon, 31 Jul 2023)
Changed paths:
M bolt/include/bolt/Passes/ReorderFunctions.h
M bolt/lib/Passes/ReorderFunctions.cpp
Log Message:
-----------
[BOLT] A new code layout algorithm for function reordering [3b/3]
This is a new algorithm for function layout (reordering) based on the call graph
extracted from a profile data; see diffs down the stack for more details.
This layout is very similar to the existing hfsort+, but perhaps a little better
on some benchmarks. The goals of the change is as follows:
(i) rename and replace hfsort+ with a newer (hopefully better) implementation.
I'd prefer to keep both algs together for some time to simplify evaluation and
transition, but do want to remove hfsort+ once we're confident that there are
no regressions.
(ii) unify the implementation of code layout algorithms across LLVM. Currently
Passes/HfsortPlus.cpp and Utils/CodeLayout.cpp share many implementation-specific
details; this diff unifies the code.
Reviewed By: Amir
Differential Revision: https://reviews.llvm.org/D153039
More information about the All-commits
mailing list