Skip to content

Commit

Permalink
[Orc][examples] Drop target triple from input for remote debugging te…
Browse files Browse the repository at this point in the history
…st (#74831)

#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.

Not sure it's fully portable now, but at least it's better than before.
  • Loading branch information
weliveindetail committed Dec 8, 2023
1 parent e837ef9 commit d86a937
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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);
Expand Down
1 change: 0 additions & 1 deletion llvm/test/Examples/OrcV2Examples/Inputs/argc_sub1_elf.ll
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit d86a937

Please sign in to comment.