diff options
Diffstat (limited to 'llvm/lib/DebugInfo/DWARF')
-rw-r--r-- | llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp | 15 | ||||
-rw-r--r-- | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp | 21 | ||||
-rw-r--r-- | llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp | 24 |
3 files changed, 0 insertions, 60 deletions
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp index 8b84822914d..1af51a85d18 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp @@ -151,21 +151,6 @@ bool DWARFLocationTable::dumpLocationList(uint64_t *Offset, raw_ostream &OS, return true; } -Error DWARFLocationTable::visitAbsoluteLocationList( - uint64_t Offset, Optional<SectionedAddress> BaseAddr, - std::function<Optional<SectionedAddress>(uint32_t)> LookupAddr, - function_ref<bool(Expected<DWARFLocationExpression>)> Callback) const { - DWARFLocationInterpreter Interp(BaseAddr, std::move(LookupAddr)); - return visitLocationList(&Offset, [&](const DWARFLocationEntry &E) { - Expected<Optional<DWARFLocationExpression>> Loc = Interp.Interpret(E); - if (!Loc) - return Callback(Loc.takeError()); - if (*Loc) - return Callback(**Loc); - return true; - }); -} - DWARFDebugLoc::LocationList const * DWARFDebugLoc::getLocationListAtOffset(uint64_t Offset) const { auto It = partition_point( diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp index 6cf30270539..a11865e048c 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp @@ -486,27 +486,6 @@ bool DWARFDie::addressRangeContainsAddress(const uint64_t Address) const { return false; } -Expected<DWARFLocationExpressionsVector> -DWARFDie::getLocations(dwarf::Attribute Attr) const { - Optional<DWARFFormValue> Location = find(Attr); - if (!Location) - return createStringError(inconvertibleErrorCode(), "No %s", - dwarf::AttributeString(Attr).data()); - - if (Optional<uint64_t> Off = Location->getAsSectionOffset()) - return U->findLoclistFromOffset(*Off); - - if (Optional<ArrayRef<uint8_t>> Expr = Location->getAsBlock()) { - return DWARFLocationExpressionsVector{ - DWARFLocationExpression{None, to_vector<4>(*Expr)}}; - } - - return createStringError( - inconvertibleErrorCode(), "Unsupported %s encoding: %s", - dwarf::AttributeString(Attr).data(), - dwarf::FormEncodingString(Location->getForm()).data()); -} - const char *DWARFDie::getSubroutineName(DINameKind Kind) const { if (!isSubroutineDIE()) return nullptr; diff --git a/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp b/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp index e5d33e13644..2eb7d2f945a 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp @@ -637,30 +637,6 @@ Expected<DWARFAddressRangesVector> DWARFUnit::collectAddressRanges() { return *CUDIERangesOrError; } -Expected<DWARFLocationExpressionsVector> -DWARFUnit::findLoclistFromOffset(uint64_t Offset) { - DWARFLocationExpressionsVector Result; - - Error InterpretationError = Error::success(); - - Error ParseError = getLocationTable().visitAbsoluteLocationList( - Offset, getBaseAddress(), - [this](uint32_t Index) { return getAddrOffsetSectionItem(Index); }, - [&](Expected<DWARFLocationExpression> L) { - if (L) - Result.push_back(std::move(*L)); - else - InterpretationError = - joinErrors(L.takeError(), std::move(InterpretationError)); - return !InterpretationError; - }); - - if (ParseError || InterpretationError) - return joinErrors(std::move(ParseError), std::move(InterpretationError)); - - return Result; -} - void DWARFUnit::updateAddressDieMap(DWARFDie Die) { if (Die.isSubroutineDIE()) { auto DIERangesOrError = Die.getAddressRanges(); |