]> granicus.if.org Git - clang/commitdiff
[Remarks] Refactor remark diagnostic emission in a RemarkStreamer
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>
Wed, 6 Mar 2019 14:32:08 +0000 (14:32 +0000)
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>
Wed, 6 Mar 2019 14:32:08 +0000 (14:32 +0000)
This allows us to store more info about where we're emitting the remarks
without cluttering LLVMContext. This is needed for future support for
the remark section.

Differential Revision: https://reviews.llvm.org/D58996

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@355507 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CodeGenAction.cpp

index 0b631f72e6e4a46bbaa2970a80787555f0a31394..f59adcd3fb922b9ed0f7dab97dd28a316bc93db9 100644 (file)
@@ -30,6 +30,7 @@
 #include "llvm/IR/GlobalValue.h"
 #include "llvm/IR/LLVMContext.h"
 #include "llvm/IR/Module.h"
+#include "llvm/IR/RemarkStreamer.h"
 #include "llvm/IRReader/IRReader.h"
 #include "llvm/Linker/Linker.h"
 #include "llvm/Pass.h"
@@ -276,8 +277,8 @@ namespace clang {
           return;
         }
 
-        Ctx.setDiagnosticsOutputFile(
-            llvm::make_unique<yaml::Output>(OptRecordFile->os()));
+        Ctx.setRemarkStreamer(llvm::make_unique<RemarkStreamer>(
+            CodeGenOpts.OptRecordFile, OptRecordFile->os()));
 
         if (CodeGenOpts.getProfileUse() != CodeGenOptions::ProfileNone)
           Ctx.setDiagnosticsHotnessRequested(true);