[llvm] Orc: Move getDefaultDataLayoutForTarget out of line (PR #226416)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 25 02:40:38 PDT 2026


https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/226416

Try to fix link errors with shared library builds.

>From 49290e88cba1611c3ca977ff971cf1218d6201c7 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Fri, 25 Sep 2026 11:38:51 +0200
Subject: [PATCH] Orc: Move getDefaultDataLayoutForTarget out of line

Try to fix link errors with shared library builds.
---
 .../llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h      | 5 +----
 llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp    | 6 ++++++
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h b/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
index 9ba9cc36fd4e49..daae184b3bcd50 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
@@ -65,10 +65,7 @@ class JITTargetMachineBuilder {
   ///
   /// Note: This is reasonably expensive. It is only suitable for use during
   /// JIT setup.
-  Expected<DataLayout> getDefaultDataLayoutForTarget() const {
-    return DataLayout::parse(
-        TT.computeDataLayout(Options.MCOptions.getABIName()));
-  }
+  LLVM_ABI Expected<DataLayout> getDefaultDataLayoutForTarget() const;
 
   /// Set the CPU string.
   JITTargetMachineBuilder &setCPU(std::string CPU) {
diff --git a/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp b/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
index ff45af58435970..12cb0d6d729d60 100644
--- a/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
@@ -56,6 +56,12 @@ JITTargetMachineBuilder::createTargetMachine() {
   return std::unique_ptr<TargetMachine>(TM);
 }
 
+Expected<DataLayout>
+JITTargetMachineBuilder::getDefaultDataLayoutForTarget() const {
+  return DataLayout::parse(
+      TT.computeDataLayout(Options.MCOptions.getABIName()));
+}
+
 JITTargetMachineBuilder &JITTargetMachineBuilder::addFeatures(
     const std::vector<std::string> &FeatureVec) {
   for (const auto &F : FeatureVec)



More information about the llvm-commits mailing list