gollvm: sync with LLVM trunk @31144351686

Update gollvm driver code to sync with recent changes in optimization
remark emit infrastructure.

Fixes golang/go#37052

Change-Id: Iee826b971058fe70d0cdfb0fc6dc3f324e59977b
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/217841
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/driver/CompileGo.cpp b/driver/CompileGo.cpp
index 9bbce86..32cf7dc 100644
--- a/driver/CompileGo.cpp
+++ b/driver/CompileGo.cpp
@@ -42,7 +42,7 @@
 #include "llvm/IR/IRPrintingPasses.h"
 #include "llvm/IR/LLVMContext.h"
 #include "llvm/IR/LegacyPassManager.h"
-#include "llvm/IR/RemarkStreamer.h"
+#include "llvm/IR/LLVMRemarkStreamer.h"
 #include "llvm/Remarks/YAMLRemarkSerializer.h"
 #include "llvm/IR/Verifier.h"
 #include "llvm/MC/SubtargetFeature.h"
@@ -445,11 +445,13 @@
                << fname << "' to emit optimization remarks\n";
         return false;
       }
-      context_.setRemarkStreamer(std::make_unique<llvm::RemarkStreamer>(
+      context_.setMainRemarkStreamer(std::make_unique<llvm::remarks::RemarkStreamer>(
           std::make_unique<llvm::remarks::YAMLRemarkSerializer>(
                optRecordFile_->os(),
                llvm::remarks::SerializerMode::Separate),
           fname));
+      context_.setLLVMRemarkStreamer(
+          std::make_unique<LLVMRemarkStreamer>(*context_.getMainRemarkStreamer()));
       if (! sampleProfileFile_.empty())
         context_.setDiagnosticsHotnessRequested(true);
       optRecordFile_->keep();