Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / tools / llvm-pdbutil / YAMLOutputStyle.h
blob5d53e0b65d03c92d4ea98a16c8a34f22b76e6a57
1 //===- YAMLOutputStyle.h -------------------------------------- *- C++ --*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H
10 #define LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H
12 #include "OutputStyle.h"
13 #include "PdbYaml.h"
15 #include "llvm/Support/ScopedPrinter.h"
16 #include "llvm/Support/YAMLTraits.h"
18 namespace llvm {
19 namespace pdb {
21 class YAMLOutputStyle : public OutputStyle {
22 public:
23 YAMLOutputStyle(PDBFile &File);
25 Error dump() override;
27 private:
28 Error dumpStringTable();
29 Error dumpFileHeaders();
30 Error dumpStreamMetadata();
31 Error dumpStreamDirectory();
32 Error dumpPDBStream();
33 Error dumpDbiStream();
34 Error dumpTpiStream();
35 Error dumpIpiStream();
36 Error dumpPublics();
38 void flush();
40 PDBFile &File;
41 llvm::yaml::Output Out;
43 yaml::PdbObject Obj;
45 } // namespace pdb
46 } // namespace llvm
48 #endif // LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H