[llvm] [Orc][examples] Drop target triple from input for remote debugging test (PR #74831)

Stefan Gränitz via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 8 03:49:27 PST 2023


https://github.com/weliveindetail created https://github.com/llvm/llvm-project/pull/74831

https://github.com/llvm/llvm-project/pull/74764 reported that the `lljit-with-remote-debugging` test fails on AArch64 hosts, because the input IR file states arch x86_64 explicitly. In order to drop the target triple we have to remove a check in the example implementation.

>From d3951d18dff1a8388cead90033bc617548330597 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= <stefan.graenitz at gmail.com>
Date: Fri, 8 Dec 2023 12:34:56 +0100
Subject: [PATCH] [Orc][examples] Drop target triple from test input for
 lljit-with-remote-debugging

---
 .../LLJITWithRemoteDebugging.cpp                 | 16 ++++------------
 .../OrcV2Examples/Inputs/argc_sub1_elf.ll        |  1 -
 2 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/LLJITWithRemoteDebugging.cpp b/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/LLJITWithRemoteDebugging.cpp
index 291f14e1d7d7a..9001125060583 100644
--- a/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/LLJITWithRemoteDebugging.cpp
+++ b/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/LLJITWithRemoteDebugging.cpp
@@ -88,6 +88,7 @@
 #include "llvm/Support/InitLLVM.h"
 #include "llvm/Support/TargetSelect.h"
 #include "llvm/Support/raw_ostream.h"
+#include "llvm/TargetParser/Host.h"
 
 #include "../ExampleModules.h"
 #include "RemoteJITUtils.h"
@@ -173,24 +174,15 @@ int main(int argc, char *argv[]) {
     TSMs.push_back(ExitOnErr(parseExampleModuleFromFile(Path)));
   }
 
-  StringRef TT;
+  std::string TT;
   StringRef MainModuleName;
   TSMs.front().withModuleDo([&MainModuleName, &TT](Module &M) {
     MainModuleName = M.getName();
     TT = M.getTargetTriple();
+    if (TT.empty())
+      TT = sys::getProcessTriple();
   });
 
-  for (const ThreadSafeModule &TSM : TSMs)
-    ExitOnErr(TSM.withModuleDo([TT, MainModuleName](Module &M) -> Error {
-      if (M.getTargetTriple() != TT)
-        return make_error<StringError>(
-            formatv("Different target triples in input files:\n"
-                    "  '{0}' in '{1}'\n  '{2}' in '{3}'",
-                    TT, MainModuleName, M.getTargetTriple(), M.getName()),
-            inconvertibleErrorCode());
-      return Error::success();
-    }));
-
   // Create a target machine that matches the input triple.
   JITTargetMachineBuilder JTMB((Triple(TT)));
   JTMB.setCodeModel(CodeModel::Small);
diff --git a/llvm/test/Examples/OrcV2Examples/Inputs/argc_sub1_elf.ll b/llvm/test/Examples/OrcV2Examples/Inputs/argc_sub1_elf.ll
index 659dbe109ec69..0cdc5e7de844d 100644
--- a/llvm/test/Examples/OrcV2Examples/Inputs/argc_sub1_elf.ll
+++ b/llvm/test/Examples/OrcV2Examples/Inputs/argc_sub1_elf.ll
@@ -1,5 +1,4 @@
 ; ModuleID = 'argc_sub1.c'
-target triple = "x86_64-unknown-unknown-elf"
 
 define i32 @sub1(i32) !dbg !8 {
   call void @llvm.dbg.value(metadata i32 %0, metadata !13, metadata !DIExpression()), !dbg !14



More information about the llvm-commits mailing list