diff options
author | spupyrev <spupyrev@fb.com> | 2023-06-13 10:08:00 -0700 |
---|---|---|
committer | spupyrev <spupyrev@fb.com> | 2023-07-31 10:49:06 -0700 |
commit | b402487b7445a799c3ed03109d291198fd529d3a (patch) | |
tree | a75db80b3a191bc98532484c4985b30d6f528b65 /llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp | |
parent | 087c1362e6837e00b9c9fa4b40a24e5d2f0324b8 (diff) | |
download | llvm-b402487b7445a799c3ed03109d291198fd529d3a.zip llvm-b402487b7445a799c3ed03109d291198fd529d3a.tar.gz llvm-b402487b7445a799c3ed03109d291198fd529d3a.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions