X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FDebugInfo%2FDWARFDebugAranges.h;h=1509ffad41f1d0d8fce4c63a60367b1862b47feb;hb=0a230e0d985625a3909cb78fd867a3abaf434565;hp=8fe70e4aa453f916c2d6356da4185ef0b0aa1f04;hpb=358f4fd9ee078b3c79597fc688855fb48bc1f356;p=oota-llvm.git diff --git a/lib/DebugInfo/DWARFDebugAranges.h b/lib/DebugInfo/DWARFDebugAranges.h index 8fe70e4aa45..1509ffad41f 100644 --- a/lib/DebugInfo/DWARFDebugAranges.h +++ b/lib/DebugInfo/DWARFDebugAranges.h @@ -11,6 +11,7 @@ #define LLVM_DEBUGINFO_DWARFDEBUGARANGES_H #include "DWARFDebugArangeSet.h" +#include "llvm/ADT/DenseSet.h" #include namespace llvm { @@ -60,10 +61,14 @@ public: uint32_t Offset; // Offset of the compile unit or die }; - void clear() { Aranges.clear(); } + void clear() { + Aranges.clear(); + ParsedCUOffsets.clear(); + } bool allRangesAreContiguous(uint64_t& LoPC, uint64_t& HiPC) const; bool getMaxRange(uint64_t& LoPC, uint64_t& HiPC) const; bool extract(DataExtractor debug_aranges_data); + bool generate(DWARFContext *ctx); // Use append range multiple times and then call sort void appendRange(uint32_t cu_offset, uint64_t low_pc, uint64_t high_pc); @@ -87,9 +92,11 @@ public: typedef std::vector RangeColl; typedef RangeColl::const_iterator RangeCollIterator; + typedef DenseSet ParsedCUOffsetColl; private: RangeColl Aranges; + ParsedCUOffsetColl ParsedCUOffsets; }; }