Browse Source

[Remarks] Refactor remark diagnostic emission in a RemarkStreamer

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
Francis Visoiu Mistrih 6 years ago
parent
commit
007c2359d0
1 changed files with 3 additions and 2 deletions
  1. 3 2
      lib/CodeGen/CodeGenAction.cpp

+ 3 - 2
lib/CodeGen/CodeGenAction.cpp

@@ -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);