[PATCH] D121298: LongJmp: Use per-function alignment values

Vladislav Khmelevsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 9 08:29:51 PST 2022


yota9 created this revision.
yota9 added reviewers: maksfb, rafauler, Amir.
Herald added a subscriber: ayermolo.
Herald added a project: All.
yota9 requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The per-function alignment values must be used in order to create
tentative layout.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D121298

Files:
  bolt/lib/Passes/LongJmp.cpp


Index: bolt/lib/Passes/LongJmp.cpp
===================================================================
--- bolt/lib/Passes/LongJmp.cpp
+++ bolt/lib/Passes/LongJmp.cpp
@@ -302,8 +302,8 @@
       continue;
     DotAddress = alignTo(DotAddress, BinaryFunction::MinAlign);
     uint64_t Pad =
-        offsetToAlignment(DotAddress, llvm::Align(opts::AlignFunctions));
-    if (Pad <= opts::AlignFunctionsMaxBytes)
+        offsetToAlignment(DotAddress, llvm::Align(Func->getAlignment()));
+    if (Pad <= Func->getMaxColdAlignmentBytes())
       DotAddress += Pad;
     ColdAddresses[Func] = DotAddress;
     LLVM_DEBUG(dbgs() << Func->getPrintName() << " cold tentative: "
@@ -349,8 +349,8 @@
 
     DotAddress = alignTo(DotAddress, BinaryFunction::MinAlign);
     uint64_t Pad =
-        offsetToAlignment(DotAddress, llvm::Align(opts::AlignFunctions));
-    if (Pad <= opts::AlignFunctionsMaxBytes)
+        offsetToAlignment(DotAddress, llvm::Align(Func->getAlignment());
+    if (Pad <= Func->getMaxAlignmentBytes())
       DotAddress += Pad;
     HotAddresses[Func] = DotAddress;
     LLVM_DEBUG(dbgs() << Func->getPrintName() << " tentative: "


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D121298.414109.patch
Type: text/x-patch
Size: 1147 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220309/def85671/attachment.bin>


More information about the llvm-commits mailing list