diff options
| -rw-r--r-- | llvm/lib/LTO/LTO.cpp | 6 | ||||
| -rw-r--r-- | llvm/test/ThinLTO/X86/diagnostic-handler-remarks.ll | 13 |
2 files changed, 18 insertions, 1 deletions
diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp index ebe22c37c70..0d48090e426 100644 --- a/llvm/lib/LTO/LTO.cpp +++ b/llvm/lib/LTO/LTO.cpp @@ -1381,8 +1381,12 @@ lto::setupOptimizationRemarks(LLVMContext &Context, StringRef RemarksFilename, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, int Count) { std::string Filename = RemarksFilename; + // For ThinLTO, file.opt.<format> becomes + // file.opt.<format>.thin.<num>.<format>. if (!Filename.empty() && Count != -1) - Filename += ".thin." + llvm::utostr(Count) + ".yaml"; + Filename = + (Twine(Filename) + ".thin." + llvm::utostr(Count) + "." + RemarksFormat) + .str(); auto ResultOrErr = llvm::setupOptimizationRemarks( Context, Filename, RemarksPasses, RemarksFormat, RemarksWithHotness); diff --git a/llvm/test/ThinLTO/X86/diagnostic-handler-remarks.ll b/llvm/test/ThinLTO/X86/diagnostic-handler-remarks.ll index b83e93b7a29..a996b8586ee 100644 --- a/llvm/test/ThinLTO/X86/diagnostic-handler-remarks.ll +++ b/llvm/test/ThinLTO/X86/diagnostic-handler-remarks.ll @@ -51,6 +51,19 @@ ; YAML2-NEXT: - String: ')' ; YAML2-NEXT: ... +; The file extension depends on the format of the remarks +; RUN: rm -f %t.bitstream.thin.0.bitstream %t.bitstream.thin.1.bitstream +; RUN: llvm-lto -thinlto-action=run \ +; RUN: -lto-pass-remarks-output=%t.bitstream \ +; RUN: -lto-pass-remarks-filter=inline \ +; RUN: -lto-pass-remarks-format=bitstream \ +; RUN: -exported-symbol _func2 \ +; RUN: -exported-symbol _main %t1.bc %t2.bc 2>&1 | \ +; RUN: FileCheck %s -allow-empty +; RUN: llvm-bcanalyzer %t.bitstream.thin.0.bitstream +; RUN: llvm-bcanalyzer %t.bitstream.thin.1.bitstream +; CHECK-NOT: remark: +; CHECK-NOT: llvm-lto: target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx10.11.0" |

