From 95d4e7233479e51c52e312f8254c0dfc2c58ef8c Mon Sep 17 00:00:00 2001 From: Hal Finkel Date: Tue, 4 Oct 2016 18:13:45 +0000 Subject: [PATCH] Don't filter diagnostics written as YAML to the output file The purpose of the YAML diagnostic output file is to collect information on optimizations performed, or not performed, for later processing by tools that help users (and compiler developers) understand how code was optimized. As such, the diagnostics that appear in the file should not be coupled to what a user might want to see summarized for them as the compiler runs, and in fact, because the user likely does not know what optimization diagnostics their tools might want to use, the user cannot provide a useful filter regardless. As such, we shouldn't filter the diagnostics going to the output file. Differential Revision: https://reviews.llvm.org/D25224 llvm-svn: 283236 --- lib/Analysis/OptimizationDiagnosticInfo.cpp | 2 +- test/Transforms/Inline/optimization-remarks-yaml.ll | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Analysis/OptimizationDiagnosticInfo.cpp b/lib/Analysis/OptimizationDiagnosticInfo.cpp index d4359a88870..6584876f20a 100644 --- a/lib/Analysis/OptimizationDiagnosticInfo.cpp +++ b/lib/Analysis/OptimizationDiagnosticInfo.cpp @@ -134,7 +134,7 @@ void OptimizationRemarkEmitter::emit(DiagnosticInfoOptimizationBase &OptDiag) { computeHotness(OptDiag); yaml::Output *Out = F->getContext().getDiagnosticsOutputFile(); - if (Out && OptDiag.isEnabled()) { + if (Out) { auto *P = &const_cast(OptDiag); *Out << P; } diff --git a/test/Transforms/Inline/optimization-remarks-yaml.ll b/test/Transforms/Inline/optimization-remarks-yaml.ll index b3ee9faa108..870352d3b6d 100644 --- a/test/Transforms/Inline/optimization-remarks-yaml.ll +++ b/test/Transforms/Inline/optimization-remarks-yaml.ll @@ -1,6 +1,8 @@ ; RUN: opt < %s -S -inline -pass-remarks-missed=inline -pass-remarks-with-hotness \ ; RUN: -pass-remarks-output=%t 2>&1 | FileCheck %s ; RUN: cat %t | FileCheck -check-prefix=YAML %s +; RUN: opt < %s -S -inline -pass-remarks-with-hotness -pass-remarks-output=%t +; RUN: cat %t | FileCheck -check-prefix=YAML %s ; Check the YAML file generated for inliner remarks for this program: ;