From a35d818b9a36f6d86421ce22875722b7f27b6e2a Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Tue, 14 Apr 2015 16:58:05 +0000 Subject: [PATCH] [Orc] Reapply r234815, outputting via stdout instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234908 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/ExecutionEngine/OrcLazy/hello.ll | 5 +++-- tools/lli/OrcLazyJIT.cpp | 23 ++++++++++++----------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/test/ExecutionEngine/OrcLazy/hello.ll b/test/ExecutionEngine/OrcLazy/hello.ll index dcc6da06386..795224e019b 100644 --- a/test/ExecutionEngine/OrcLazy/hello.ll +++ b/test/ExecutionEngine/OrcLazy/hello.ll @@ -1,7 +1,8 @@ -; RUN: lli -jit-kind=orc-lazy %s | FileCheck %s +; RUN: lli -jit-kind=orc-lazy -orc-lazy-debug=funcs-to-stdout %s | FileCheck %s ; ; CHECK: Hello -; CHECK-NEXT: Goodbye +; CHECK: [ {{.*}}main$orc_body ] +; CHECK: Goodbye %class.Foo = type { i8 } diff --git a/tools/lli/OrcLazyJIT.cpp b/tools/lli/OrcLazyJIT.cpp index f60a00bcb83..ff8baf0b079 100644 --- a/tools/lli/OrcLazyJIT.cpp +++ b/tools/lli/OrcLazyJIT.cpp @@ -17,7 +17,7 @@ using namespace llvm; namespace { - enum class DumpKind { NoDump, DumpFuncsToStdErr, DumpModsToStdErr, + enum class DumpKind { NoDump, DumpFuncsToStdOut, DumpModsToStdErr, DumpModsToDisk }; cl::opt OrcDumpKind("orc-lazy-debug", @@ -26,9 +26,9 @@ namespace { cl::values( clEnumValN(DumpKind::NoDump, "no-dump", "Don't dump anything."), - clEnumValN(DumpKind::DumpFuncsToStdErr, - "funcs-to-stderr", - "Dump function names to stderr."), + clEnumValN(DumpKind::DumpFuncsToStdOut, + "funcs-to-stdout", + "Dump function names to stdout."), clEnumValN(DumpKind::DumpModsToStdErr, "mods-to-stderr", "Dump modules to stderr."), @@ -63,21 +63,22 @@ OrcLazyJIT::TransformFtor OrcLazyJIT::createDebugDumper() { case DumpKind::NoDump: return [](std::unique_ptr M) { return std::move(M); }; - case DumpKind::DumpFuncsToStdErr: + case DumpKind::DumpFuncsToStdOut: return [](std::unique_ptr M) { - dbgs() << "[ "; + printf("[ "); for (const auto &F : *M) { if (F.isDeclaration()) continue; - if (F.hasName()) - dbgs() << F.getName() << " "; - else - dbgs() << " "; + if (F.hasName()) { + std::string Name(F.getName()); + printf("%s ", Name.c_str()); + } else + printf(" "); } - dbgs() << "]\n"; + printf("]\n"); return std::move(M); }; -- 2.34.1