diff --git a/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp b/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp index 23b72daedacaa..6e316f105715d 100644 --- a/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp +++ b/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp @@ -280,6 +280,9 @@ std::vector LinkGraph::splitBlockImpl(std::vector Blocks, void LinkGraph::dump(raw_ostream &OS) { DenseMap> BlockSymbols; + OS << "LinkGraph \"" << getName() + << "\" (triple = " << getTargetTriple().str() << ")\n"; + // Map from blocks to the symbols pointing at them. for (auto *Sym : defined_symbols()) BlockSymbols[&Sym->getBlock()].push_back(Sym); diff --git a/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp b/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp index 584b9f0067460..17050b0a52480 100644 --- a/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp +++ b/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp @@ -21,23 +21,21 @@ JITLinkerBase::~JITLinkerBase() = default; void JITLinkerBase::linkPhase1(std::unique_ptr Self) { - LLVM_DEBUG({ - dbgs() << "Starting link phase 1 for graph " << G->getName() << "\n"; - }); + LLVM_DEBUG(dbgs() << "Starting link phase 1\n"); // Prune and optimize the graph. if (auto Err = runPasses(Passes.PrePrunePasses)) return Ctx->notifyFailed(std::move(Err)); LLVM_DEBUG({ - dbgs() << "Link graph \"" << G->getName() << "\" pre-pruning:\n"; + dbgs() << "Link graph pre-pruning:\n"; G->dump(dbgs()); }); prune(*G); LLVM_DEBUG({ - dbgs() << "Link graph \"" << G->getName() << "\" post-pruning:\n"; + dbgs() << "Link graph post-pruning:\n"; G->dump(dbgs()); }); @@ -67,14 +65,15 @@ void JITLinkerBase::linkPhase1(std::unique_ptr Self) { void JITLinkerBase::linkPhase2(std::unique_ptr Self, AllocResult AR) { + LLVM_DEBUG(dbgs() << "Starting link phase 2\n"); + if (AR) Alloc = std::move(*AR); else return Ctx->notifyFailed(AR.takeError()); LLVM_DEBUG({ - dbgs() << "Link graph \"" << G->getName() - << "\" before post-allocation passes:\n"; + dbgs() << "Link graph before post-allocation passes:\n"; G->dump(dbgs()); }); @@ -131,9 +130,7 @@ void JITLinkerBase::linkPhase2(std::unique_ptr Self, void JITLinkerBase::linkPhase3(std::unique_ptr Self, Expected LR) { - LLVM_DEBUG({ - dbgs() << "Starting link phase 3 for graph " << G->getName() << "\n"; - }); + LLVM_DEBUG(dbgs() << "Starting link phase 3\n"); // If the lookup failed, bail out. if (!LR) @@ -143,8 +140,7 @@ void JITLinkerBase::linkPhase3(std::unique_ptr Self, applyLookupResult(*LR); LLVM_DEBUG({ - dbgs() << "Link graph \"" << G->getName() - << "\" before pre-fixup passes:\n"; + dbgs() << "Link graph before pre-fixup passes:\n"; G->dump(dbgs()); }); @@ -152,7 +148,7 @@ void JITLinkerBase::linkPhase3(std::unique_ptr Self, return abandonAllocAndBailOut(std::move(Self), std::move(Err)); LLVM_DEBUG({ - dbgs() << "Link graph \"" << G->getName() << "\" before copy-and-fixup:\n"; + dbgs() << "Link graph before copy-and-fixup:\n"; G->dump(dbgs()); }); @@ -161,7 +157,7 @@ void JITLinkerBase::linkPhase3(std::unique_ptr Self, return abandonAllocAndBailOut(std::move(Self), std::move(Err)); LLVM_DEBUG({ - dbgs() << "Link graph \"" << G->getName() << "\" after copy-and-fixup:\n"; + dbgs() << "Link graph after copy-and-fixup:\n"; G->dump(dbgs()); }); @@ -186,16 +182,14 @@ void JITLinkerBase::linkPhase3(std::unique_ptr Self, void JITLinkerBase::linkPhase4(std::unique_ptr Self, FinalizeResult FR) { - LLVM_DEBUG({ - dbgs() << "Starting link phase 4 for graph " << G->getName() << "\n"; - }); + LLVM_DEBUG(dbgs() << "Starting link phase 4\n"); if (!FR) return Ctx->notifyFailed(FR.takeError()); Ctx->notifyFinalized(std::move(*FR)); - LLVM_DEBUG({ dbgs() << "Link of graph " << G->getName() << " complete\n"; }); + LLVM_DEBUG({ dbgs() << "Link complete\n"; }); } Error JITLinkerBase::runPasses(LinkGraphPassList &Passes) { diff --git a/llvm/test/ExecutionEngine/JITLink/AArch32/ELF_data_alignment.s b/llvm/test/ExecutionEngine/JITLink/AArch32/ELF_data_alignment.s index 9296f048e51ed..ed76a286263f2 100644 --- a/llvm/test/ExecutionEngine/JITLink/AArch32/ELF_data_alignment.s +++ b/llvm/test/ExecutionEngine/JITLink/AArch32/ELF_data_alignment.s @@ -22,7 +22,7 @@ # CHECK-OBJ: Contents of section .rodata: # CHECK-OBJ: 0000 48310048 32004833 00 H1.H2.H3. -# CHECK-LG: Starting link phase 1 for graph +# CHECK-LG: Starting link phase 1 # CHECK-LG: section .rodata: # CHECK-LG: block 0x0 size = 0x00000009, align = 1, alignment-offset = 0 diff --git a/llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call.s b/llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call.s index 2b5c9e383c04f..5f6babfcd6008 100644 --- a/llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call.s +++ b/llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call.s @@ -102,7 +102,7 @@ p: call o .size p, .-p -# CHECK: Link graph "{{.*}}" before copy-and-fixup: +# CHECK: Link graph before copy-and-fixup: # CHECK: section .text: # CHECK: block 0x1000 # CHECK: symbols: diff --git a/llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_rvc.s b/llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_rvc.s index 3bbfd557a0a6c..c31250b546504 100644 --- a/llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_rvc.s +++ b/llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_rvc.s @@ -131,7 +131,7 @@ p: call o .size p, .-p -# CHECK: Link graph "{{.*}}" before copy-and-fixup: +# CHECK: Link graph before copy-and-fixup: # CHECK: section .text: # CHECK: block 0x1000 # CHECK: symbols: