[all-commits] [llvm/llvm-project] 587d26: [BOLT] Towards FunctionLayout const-correctness
Fabian Parzefall via All-commits
all-commits at lists.llvm.org
Wed Aug 24 10:19:50 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 587d2653420d75ef10f30bd612d86f1e08fe9ea7
https://github.com/llvm/llvm-project/commit/587d2653420d75ef10f30bd612d86f1e08fe9ea7
Author: Fabian Parzefall <parzefall at fb.com>
Date: 2022-08-24 (Wed, 24 Aug 2022)
Changed paths:
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DynoStats.h
M bolt/include/bolt/Passes/ReorderAlgorithm.h
M bolt/lib/Core/BinaryBasicBlock.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CacheMetrics.cpp
M bolt/lib/Passes/ExtTSPReorderAlgorithm.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/ReorderAlgorithm.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
Log Message:
-----------
[BOLT] Towards FunctionLayout const-correctness
A const-qualified reference to function layout allows accessing
non-const qualified basic blocks on a const-qualified function. This
patch adds or removes const-qualifiers where necessary to indicate where
basic blocks are used in a non-const manner.
Reviewed By: rafauler
Differential Revision: https://reviews.llvm.org/D132049
Commit: 101344af1af82d1633c773b718788eaa813d7f79
https://github.com/llvm/llvm-project/commit/101344af1af82d1633c773b718788eaa813d7f79
Author: Fabian Parzefall <parzefall at fb.com>
Date: 2022-08-24 (Wed, 24 Aug 2022)
Changed paths:
M bolt/include/bolt/Core/BinaryEmitter.h
M bolt/include/bolt/Core/FunctionLayout.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Allocate FunctionFragment on heap
This changes `FunctionFragment` from being used as a temporary proxy
object to access basic block ranges to a heap-allocated object that can
store fragment-specific information.
Reviewed By: rafauler
Differential Revision: https://reviews.llvm.org/D132050
Commit: 7e254818e49454a53bd00e3737007025b62d0f79
https://github.com/llvm/llvm-project/commit/7e254818e49454a53bd00e3737007025b62d0f79
Author: Fabian Parzefall <parzefall at fb.com>
Date: 2022-08-24 (Wed, 24 Aug 2022)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/FunctionLayout.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Track fragment info for all split fragments
To generate all symbols correctly, it is necessary to record the address
of each fragment. This patch moves the address info for the main and
cold fragments from BinaryFunction to FunctionFragment, where this data
is recorded for all fragments.
Reviewed By: rafauler
Differential Revision: https://reviews.llvm.org/D132051
Compare: https://github.com/llvm/llvm-project/compare/13cb085ca1df...7e254818e494
More information about the All-commits
mailing list