diff options
author | Teresa Johnson <tejohnson@google.com> | 2018-05-04 23:59:34 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@google.com> | 2018-05-04 23:59:34 +0000 |
commit | b77ab0966e2d87531df714b8e944ddad4d61852e (patch) | |
tree | 255528b7017b7d8aa4814a34c80b720b841b3fbd /llvm/lib/LTO/LTO.cpp | |
parent | 8d5b0072f4ceb4906100d5abda54c08d33d70034 (diff) | |
download | llvm-b77ab0966e2d87531df714b8e944ddad4d61852e.zip llvm-b77ab0966e2d87531df714b8e944ddad4d61852e.tar.gz llvm-b77ab0966e2d87531df714b8e944ddad4d61852e.tar.bz2 |
[LTO] Allow pass remarks with hotness to be set when emitting to stderr
Summary:
Set setDiagnosticsHotnessRequested before the early exit check for a
diagnostic output file, so that pass remarks with hotness works when
emitting pass remarks to stderr (e.g. via -pass-remarks=.).
Also fix the llvm-lto2 diagnistic handler so that it only calls exit(1)
when the diagnistic is an error type. Otherwise the new test invocation
of llvm-lto2 with -pass-remarks causes it to fail. The new code is
consistent with the diagnostic handler elsewhere (e.g. on the
LLVMContext).
Reviewers: pcc, davide
Subscribers: fhahn, mehdi_amini, llvm-commits, inglorion
Differential Revision: https://reviews.llvm.org/D46387
llvm-svn: 331569
Diffstat (limited to 'llvm/lib/LTO/LTO.cpp')
-rw-r--r-- | llvm/lib/LTO/LTO.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp index 7e8b9b3..c74a7b3 100644 --- a/llvm/lib/LTO/LTO.cpp +++ b/llvm/lib/LTO/LTO.cpp @@ -1226,6 +1226,8 @@ Expected<std::unique_ptr<ToolOutputFile>> lto::setupOptimizationRemarks(LLVMContext &Context, StringRef LTORemarksFilename, bool LTOPassRemarksWithHotness, int Count) { + if (LTOPassRemarksWithHotness) + Context.setDiagnosticsHotnessRequested(true); if (LTORemarksFilename.empty()) return nullptr; @@ -1240,8 +1242,6 @@ lto::setupOptimizationRemarks(LLVMContext &Context, return errorCodeToError(EC); Context.setDiagnosticsOutputFile( llvm::make_unique<yaml::Output>(DiagnosticFile->os())); - if (LTOPassRemarksWithHotness) - Context.setDiagnosticsHotnessRequested(true); DiagnosticFile->keep(); return std::move(DiagnosticFile); } |