1 //===--- DWARFAcceleratorTable.h --------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "llvm/ADT/SmallVector.h"
11 #include "llvm/DebugInfo/DWARFFormValue.h"
12 #include "llvm/DebugInfo/DWARFRelocMap.h"
17 class DWARFAcceleratorTable
{
22 uint16_t HashFunction
;
25 uint32_t HeaderDataLength
;
29 typedef uint16_t AtomType
;
30 typedef uint16_t Form
;
31 uint32_t DIEOffsetBase
;
32 SmallVector
<std::pair
<AtomType
, Form
>, 3> Atoms
;
36 struct HeaderData HdrData
;
37 DataExtractor AccelSection
;
38 DataExtractor StringSection
;
39 const RelocAddrMap
& Relocs
;
41 DWARFAcceleratorTable(DataExtractor AccelSection
, DataExtractor StringSection
,
42 const RelocAddrMap
&Relocs
)
43 : AccelSection(AccelSection
), StringSection(StringSection
), Relocs(Relocs
) {}
46 void dump(raw_ostream
&OS
) const;