[PATCH] D137620: [BOLT] Don't align .text to pageAlign
Denis Revunov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 21 03:23:17 PST 2022
treapster updated this revision to Diff 484515.
treapster added a comment.
Use Huge pages only in presence of hugify or hot-text, don't align text after PHDR
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137620/new/
https://reviews.llvm.org/D137620
Files:
bolt/lib/Core/BinaryContext.cpp
bolt/lib/Rewrite/RewriteInstance.cpp
bolt/lib/Utils/CommandLineOpts.cpp
Index: bolt/lib/Utils/CommandLineOpts.cpp
===================================================================
--- bolt/lib/Utils/CommandLineOpts.cpp
+++ bolt/lib/Utils/CommandLineOpts.cpp
@@ -42,7 +42,7 @@
cl::opt<unsigned> AlignText("align-text",
cl::desc("alignment of .text section"), cl::Hidden,
- cl::cat(BoltCategory));
+ cl::init(64), cl::cat(BoltCategory));
cl::opt<unsigned> AlignFunctions(
"align-functions",
Index: bolt/lib/Rewrite/RewriteInstance.cpp
===================================================================
--- bolt/lib/Rewrite/RewriteInstance.cpp
+++ bolt/lib/Rewrite/RewriteInstance.cpp
@@ -1777,7 +1777,10 @@
opts::UseOldText = false;
}
- if (!opts::AlignText.getNumOccurrences())
+ if (opts::Hugify || opts::HotText)
+ BC->PageAlign = BinaryContext::HugePageSize;
+
+ if (opts::Hugify || opts::UseOldText)
opts::AlignText = BC->PageAlign;
if (opts::AlignText < opts::AlignFunctions)
Index: bolt/lib/Core/BinaryContext.cpp
===================================================================
--- bolt/lib/Core/BinaryContext.cpp
+++ bolt/lib/Core/BinaryContext.cpp
@@ -48,7 +48,7 @@
namespace opts {
-cl::opt<bool> NoHugePages("no-huge-pages",
+cl::opt<bool> NoHugePages("no-huge-pages", cl::init(true),
cl::desc("use regular size pages for code alignment"),
cl::Hidden, cl::cat(BoltCategory));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137620.484515.patch
Type: text/x-patch
Size: 1501 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221221/8a4e24b4/attachment.bin>
More information about the llvm-commits
mailing list