driver, bridge: sync with LLVM API changes

LLVM r360892 changed SectionRef::getContents API, and r362160
changed LLVMContext::setRemarkStreamer API.

Fixes golang/go#32517.

Change-Id: I8d9d9857e10fa5048dda2f004731643f5cbbbd88
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/181547
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/bridge/go-backend.cpp b/bridge/go-backend.cpp
index 496c87f..cf3a7ef 100644
--- a/bridge/go-backend.cpp
+++ b/bridge/go-backend.cpp
@@ -69,19 +69,20 @@
       break;
     if (sname == GO_EXPORT_SECTION_NAME) {
       // Extract section of interest
-      llvm::StringRef bytes;
-      if (sref.getContents(bytes)) {
+      llvm::Expected<llvm::StringRef> bytes = sref.getContents();
+      if (! bytes) {
+        consumeError(bytes.takeError());
         *perr = errno;
         return "get section contents";
       }
-      char *buf = new char[bytes.size()];
+      char *buf = new char[bytes->size()];
       if (! buf) {
         *perr = errno;
         return "malloc";
       }
-      memcpy(buf, bytes.data(), bytes.size());
+      memcpy(buf, bytes->data(), bytes->size());
       *pbuf = buf;
-      *plen = bytes.size();
+      *plen = bytes->size();
       return nullptr;
     }
   }
diff --git a/driver/CompileGo.cpp b/driver/CompileGo.cpp
index d7cecd8..6b65955 100644
--- a/driver/CompileGo.cpp
+++ b/driver/CompileGo.cpp
@@ -439,7 +439,8 @@
         return false;
       }
       context_.setRemarkStreamer(llvm::make_unique<llvm::RemarkStreamer>(
-          fname, optRecordFile_->os()));
+          fname,
+          llvm::make_unique<llvm::remarks::YAMLSerializer>(optRecordFile_->os())));
       if (! sampleProfileFile_.empty())
         context_.setDiagnosticsHotnessRequested(true);
       optRecordFile_->keep();