[PATCH] D153039: [BOLT] A new code layout algorithm for function reordering [3b/3]
Sergey Pupyrev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 15 08:55:30 PDT 2023
spupyrev created this revision.
Herald added a reviewer: rafauler.
Herald added subscribers: treapster, ayermolo.
Herald added a reviewer: Amir.
Herald added a reviewer: maksfb.
Herald added a project: All.
spupyrev edited the summary of this revision.
spupyrev added a subscriber: shatianw_mt.
spupyrev published this revision for review.
Herald added subscribers: llvm-commits, yota9.
Herald added a project: LLVM.
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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D153039
Files:
bolt/include/bolt/Passes/ReorderFunctions.h
bolt/lib/Passes/ReorderFunctions.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153039.531776.patch
Type: text/x-patch
Size: 7098 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230615/ea549ee2/attachment.bin>
More information about the llvm-commits
mailing list