From: serge-sans-paille Date: Mon, 26 Jun 2023 07:52:59 +0000 (+0200) Subject: [Remarks] Make sure -fdiagnostics-hotness-threshold implies -fdiagnostics-show-hotness X-Git-Tag: upstream/17.0.6~3883 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f686e4bbc20a837ff5230656431aec1abbd5f872;p=platform%2Fupstream%2Fllvm.git [Remarks] Make sure -fdiagnostics-hotness-threshold implies -fdiagnostics-show-hotness When asking for -fdiagnostics-hotness-threshold, we currently require -fdiagnostics-show-hotness otherwise we silently display nothing. I don't see a scenario where that makes sense, so have one option impy the other. Differential Revision: https://reviews.llvm.org/D153746 --- diff --git a/clang/test/Frontend/remarks-hotness.cpp b/clang/test/Frontend/remarks-hotness.cpp index 72753d0..a9eb289 100644 --- a/clang/test/Frontend/remarks-hotness.cpp +++ b/clang/test/Frontend/remarks-hotness.cpp @@ -13,6 +13,13 @@ // RUN: -fdiagnostics-hotness-threshold=auto 2>&1 \ // RUN: | FileCheck -check-prefix=HOT_CALL %s +// Make sure -fdiagnostics-hotness-threshold implies -fdiagnostics-show-hotness +// RUN: %clang_cc1 -triple x86_64-linux %s -emit-llvm-only -O3 \ +// RUN: -fprofile-sample-use=%S/Inputs/remarks-hotness.prof \ +// RUN: -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline \ +// RUN: -fdiagnostics-hotness-threshold=auto 2>&1 \ +// RUN: | FileCheck -check-prefix=HOT_CALL %s + int callee1() { return 1; } diff --git a/llvm/lib/IR/LLVMRemarkStreamer.cpp b/llvm/lib/IR/LLVMRemarkStreamer.cpp index 8fbc333..71f8d4a 100644 --- a/llvm/lib/IR/LLVMRemarkStreamer.cpp +++ b/llvm/lib/IR/LLVMRemarkStreamer.cpp @@ -96,8 +96,8 @@ Expected> llvm::setupLLVMOptimizationRemarks( LLVMContext &Context, StringRef RemarksFilename, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, std::optional RemarksHotnessThreshold) { - if (RemarksWithHotness) - Context.setDiagnosticsHotnessRequested(true); + if (RemarksWithHotness || RemarksHotnessThreshold.value_or(1)) + Context.setDiagnosticsHotnessRequested(true); Context.setDiagnosticsHotnessThreshold(RemarksHotnessThreshold); @@ -143,7 +143,7 @@ Error llvm::setupLLVMOptimizationRemarks( LLVMContext &Context, raw_ostream &OS, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, std::optional RemarksHotnessThreshold) { - if (RemarksWithHotness) + if (RemarksWithHotness || RemarksHotnessThreshold.value_or(1)) Context.setDiagnosticsHotnessRequested(true); Context.setDiagnosticsHotnessThreshold(RemarksHotnessThreshold);