diff --git a/llvm/test/tools/gold/X86/stats.ll b/llvm/test/tools/gold/X86/stats.ll index 15aa080d6fc0..255a2bd90bcd 100644 --- a/llvm/test/tools/gold/X86/stats.ll +++ b/llvm/test/tools/gold/X86/stats.ll @@ -5,6 +5,13 @@ ; RUN: -m elf_x86_64 \ ; RUN: -plugin-opt=-stats %t.o -o %t2 2>&1 | FileCheck %s +; RUN: llvm-as %s -o %t.o +; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so -shared \ +; RUN: -m elf_x86_64 \ +; RUN: -plugin-opt=thinlto \ +; RUN: -plugin-opt=thinlto-index-only \ +; RUN: -plugin-opt=-stats %t.o -o %t2 2>&1 | FileCheck %s + ; CHECK: Statistics Collected target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp index f8e708076131..cfcb4b953710 100644 --- a/llvm/tools/gold/gold-plugin.cpp +++ b/llvm/tools/gold/gold-plugin.cpp @@ -12,6 +12,7 @@ // //===----------------------------------------------------------------------===// +#include "llvm/ADT/Statistic.h" #include "llvm/Bitcode/BitcodeReader.h" #include "llvm/Bitcode/BitcodeWriter.h" #include "llvm/CodeGen/CommandFlags.h" @@ -844,6 +845,8 @@ static ld_plugin_status allSymbolsReadHook() { return LDPS_OK; if (options::thinlto_index_only) { + if (llvm::AreStatisticsEnabled()) + llvm::PrintStatistics(); cleanup_hook(); exit(0); }