Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Public Member Functions |List of all members
llvm::AddressRangesMap Class Reference

AddressRangesMap class maps values to the address ranges.More...

#include "llvm/ADT/AddressRanges.h"

Inheritance diagram for llvm::AddressRangesMap:
Inheritance graph
[legend]

Public Member Functions

void insert (AddressRangeRange, int64_tValue)
 
- Public Member Functions inherited fromllvm::AddressRangesBase< AddressRangeValuePair >
void clear ()
 
bool empty ()const
 
bool contains (uint64_tAddr)const
 
bool contains (AddressRangeRange)const
 
void reserve (size_t Capacity)
 
size_t size ()const
 
std::optional<AddressRangeValuePairgetRangeThatContains (uint64_tAddr)const
 
Collection::const_iterator begin ()const
 
Collection::const_iterator end ()const
 
constAddressRangeValuePairoperator[] (size_t i)const
 
bool operator== (constAddressRangesBase<AddressRangeValuePair > &RHS)const
 

Additional Inherited Members

- Protected Types inherited fromllvm::AddressRangesBase< AddressRangeValuePair >
using Collection =SmallVector<AddressRangeValuePair >
 
- Protected Member Functions inherited fromllvm::AddressRangesBase< AddressRangeValuePair >
Collection::const_iterator find (uint64_t Start,uint64_tEnd)const
 
- Protected Attributes inherited fromllvm::AddressRangesBase< AddressRangeValuePair >
Collection Ranges
 

Detailed Description

AddressRangesMap class maps values to the address ranges.

It keeps normalized address ranges and corresponding values. This class keeps a sorted vector ofAddressRangeValuePair objects and can perform insertions and searches efficiently. Intersecting([100,200), [150,300)) ranges splitted into non-conflicting parts([100,200), [200,300)). Adjacent([100,200), [200,300)) address ranges are not combined during insertion.

Definition at line165 of fileAddressRanges.h.

Member Function Documentation

◆ insert()

void llvm::AddressRangesMap::insert(AddressRange Range,
int64_t Value 
)
inline

Definition at line167 of fileAddressRanges.h.

Referencesllvm::SmallVectorTemplateCommon< T, typename >::begin(),llvm::SmallVectorTemplateCommon< T, typename >::end(),llvm::SmallVectorImpl< T >::insert(),Range, andllvm::AddressRangesBase< AddressRangeValuePair >::Ranges.

Referenced byllvm::dwarf_linker::classic::CompileUnit::addFunctionRange(), andllvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::cloneAndEmitDebugFrame().


The documentation for this class was generated from the following file:

Generated on Sun Jul 20 2025 15:07:54 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp