[PowerPC] Optimize compares fed by ANDISo
[llvm-core.git] / tools / llvm-pdbutil / BytesOutputStyle.h
blobaa5342998e56c9c1df7f481ab753ff2ca65c3c90
1 //===- BytesOutputStyle.h ------------------------------------- *- C++ --*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_TOOLS_LLVMPDBDUMP_BYTESOUTPUTSTYLE_H
11 #define LLVM_TOOLS_LLVMPDBDUMP_BYTESOUTPUTSTYLE_H
13 #include "LinePrinter.h"
14 #include "OutputStyle.h"
15 #include "StreamUtil.h"
17 #include "llvm/Support/Error.h"
19 namespace llvm {
21 namespace codeview {
22 class LazyRandomTypeCollection;
25 namespace pdb {
27 class PDBFile;
29 class BytesOutputStyle : public OutputStyle {
30 public:
31 BytesOutputStyle(PDBFile &File);
33 Error dump() override;
35 private:
36 void dumpNameMap();
37 void dumpBlockRanges(uint32_t Min, uint32_t Max);
38 void dumpByteRanges(uint32_t Min, uint32_t Max);
39 void dumpFpm();
40 void dumpStreamBytes();
42 void dumpSectionContributions();
43 void dumpSectionMap();
44 void dumpModuleInfos();
45 void dumpFileInfo();
46 void dumpTypeServerMap();
47 void dumpECData();
49 void dumpModuleSyms();
50 void dumpModuleC11();
51 void dumpModuleC13();
53 void dumpTypeIndex(uint32_t StreamIdx, ArrayRef<uint32_t> Indices);
55 Expected<codeview::LazyRandomTypeCollection &>
56 initializeTypes(uint32_t StreamIdx);
58 std::unique_ptr<codeview::LazyRandomTypeCollection> TpiTypes;
59 std::unique_ptr<codeview::LazyRandomTypeCollection> IpiTypes;
61 PDBFile &File;
62 LinePrinter P;
63 ExitOnError Err;
64 SmallVector<StreamInfo, 8> StreamPurposes;
66 } // namespace pdb
67 } // namespace llvm
69 #endif