From b06f1544068110f21accd88f7efc163417c4cb1e Mon Sep 17 00:00:00 2001 From: Francis Visoiu Mistrih Date: Tue, 23 Jul 2019 19:28:03 +0000 Subject: [PATCH] [Remarks][NFC] Move the YAML serializer to its own header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366842 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Remarks/RemarkSerializer.h | 23 --------- include/llvm/Remarks/YAMLRemarkSerializer.h | 47 +++++++++++++++++++ lib/IR/RemarkStreamer.cpp | 1 + lib/Remarks/YAMLRemarkSerializer.cpp | 2 +- .../Remarks/YAMLRemarksSerializerTest.cpp | 2 +- 5 files changed, 50 insertions(+), 25 deletions(-) create mode 100644 include/llvm/Remarks/YAMLRemarkSerializer.h diff --git a/include/llvm/Remarks/RemarkSerializer.h b/include/llvm/Remarks/RemarkSerializer.h index def5c2e1662..3eddac41cb0 100644 --- a/include/llvm/Remarks/RemarkSerializer.h +++ b/include/llvm/Remarks/RemarkSerializer.h @@ -15,7 +15,6 @@ #include "llvm/Remarks/Remark.h" #include "llvm/Remarks/RemarkStringTable.h" -#include "llvm/Support/YAMLTraits.h" #include "llvm/Support/raw_ostream.h" namespace llvm { @@ -40,28 +39,6 @@ struct Serializer { /// Wether the serializer should use a string table while emitting. enum class UseStringTable { No, Yes }; -/// Serialize the remarks to YAML. One remark entry looks like this: -/// --- ! -/// Pass: -/// Name: -/// DebugLoc: { File: , Line: , -/// Column: } -/// Function: -/// Args: -/// - : -/// DebugLoc: { File: , Line: , Column: } -/// ... -struct YAMLSerializer : public Serializer { - /// The YAML streamer. - yaml::Output YAMLOutput; - - YAMLSerializer(raw_ostream &OS, - UseStringTable UseStringTable = remarks::UseStringTable::No); - - /// Emit a remark to the stream. - void emit(const Remark &Remark) override; -}; - } // end namespace remarks } // end namespace llvm diff --git a/include/llvm/Remarks/YAMLRemarkSerializer.h b/include/llvm/Remarks/YAMLRemarkSerializer.h new file mode 100644 index 00000000000..5b817321ce9 --- /dev/null +++ b/include/llvm/Remarks/YAMLRemarkSerializer.h @@ -0,0 +1,47 @@ +//===-- YAMLRemarkSerializer.h - YAML Remark serialization ---*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file provides an interface for serializing remarks to YAML. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_REMARKS_YAML_REMARK_SERIALIZER_H +#define LLVM_REMARKS_YAML_REMARK_SERIALIZER_H + +#include "llvm/Remarks/RemarkSerializer.h" +#include "llvm/Support/YAMLTraits.h" + +namespace llvm { +namespace remarks { + +/// Serialize the remarks to YAML. One remark entry looks like this: +/// --- ! +/// Pass: +/// Name: +/// DebugLoc: { File: , Line: , +/// Column: } +/// Function: +/// Args: +/// - : +/// DebugLoc: { File: , Line: , Column: } +/// ... +struct YAMLSerializer : public Serializer { + /// The YAML streamer. + yaml::Output YAMLOutput; + + YAMLSerializer(raw_ostream &OS, + UseStringTable UseStringTable = remarks::UseStringTable::No); + + /// Emit a remark to the stream. + void emit(const Remark &Remark) override; +}; + +} // end namespace remarks +} // end namespace llvm + +#endif /* LLVM_REMARKS_REMARK_SERIALIZER_H */ diff --git a/lib/IR/RemarkStreamer.cpp b/lib/IR/RemarkStreamer.cpp index 5b4c7e72b47..9470f3ea4f9 100644 --- a/lib/IR/RemarkStreamer.cpp +++ b/lib/IR/RemarkStreamer.cpp @@ -16,6 +16,7 @@ #include "llvm/IR/Function.h" #include "llvm/IR/GlobalValue.h" #include "llvm/Remarks/RemarkFormat.h" +#include "llvm/Remarks/YAMLRemarkSerializer.h" using namespace llvm; diff --git a/lib/Remarks/YAMLRemarkSerializer.cpp b/lib/Remarks/YAMLRemarkSerializer.cpp index d64ae8e12ab..e4379748248 100644 --- a/lib/Remarks/YAMLRemarkSerializer.cpp +++ b/lib/Remarks/YAMLRemarkSerializer.cpp @@ -11,7 +11,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Remarks/RemarkSerializer.h" +#include "llvm/Remarks/YAMLRemarkSerializer.h" #include "llvm/Support/CommandLine.h" using namespace llvm; diff --git a/unittests/Remarks/YAMLRemarksSerializerTest.cpp b/unittests/Remarks/YAMLRemarksSerializerTest.cpp index f0587bb23ee..c5f222f0f8d 100644 --- a/unittests/Remarks/YAMLRemarksSerializerTest.cpp +++ b/unittests/Remarks/YAMLRemarksSerializerTest.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// #include "llvm/Remarks/Remark.h" -#include "llvm/Remarks/RemarkSerializer.h" +#include "llvm/Remarks/YAMLRemarkSerializer.h" #include "gtest/gtest.h" using namespace llvm; -- 2.49.0