[ORC] Flush streams in WaitingOnGraphOpStreamRecorder record ops.

Allows us to get useful recordings out of JIT sessions that crash, or are kept
alive indefinitely. (Note that an 'end' operation will have to be appended to
the output in these cases).
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraphOpReplay.h b/llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraphOpReplay.h
index 1866469..ab467c0 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraphOpReplay.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraphOpReplay.h
@@ -57,17 +57,20 @@
   recordSimplify(const std::vector<std::unique_ptr<SuperNode>> &SNs) override {
     std::scoped_lock<std::mutex> Lock(M);
     recordSuperNodes("simplify-and-emit", SNs);
+    OS.flush();
   }
 
   void recordFail(const ContainerElementsMap &Failed) override {
     std::scoped_lock<std::mutex> Lock(M);
     OS << "fail\n";
     recordContainerElementsMap("  ", "failed", Failed);
+    OS.flush();
   }
 
   void recordEnd() override {
     std::scoped_lock<std::mutex> Lock(M);
     OS << "end\n";
+    OS.flush();
   }
 
   // Should render the container id as a string.