LLVM 20.0.0git
|
#include "llvm/XRay/InstrumentationMap.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/RelocationResolver.h"
#include "llvm/Support/DataExtractor.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/TargetParser/Triple.h"
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <system_error>
#include <vector>
Go to the source code of this file.
Typedefs | |
using | RelocMap = DenseMap< uint64_t, uint64_t > |
Functions | |
static Error | loadObj (StringRef Filename, object::OwningBinary< object::ObjectFile > &ObjFile, InstrumentationMap::SledContainer &Sleds, InstrumentationMap::FunctionAddressMap &FunctionAddresses, InstrumentationMap::FunctionAddressReverseMap &FunctionIds) |
static Error | loadYAML (sys::fs::file_t Fd, size_t FileSize, StringRef Filename, InstrumentationMap::SledContainer &Sleds, InstrumentationMap::FunctionAddressMap &FunctionAddresses, InstrumentationMap::FunctionAddressReverseMap &FunctionIds) |
|
static |
Definition at line 54 of file InstrumentationMap.cpp.
References A, llvm::Triple::aarch64, llvm::Address, llvm::Triple::arm, llvm::StringRef::bytes_begin(), llvm::StringRef::bytes_end(), llvm::CallingConv::C, llvm::consumeError(), llvm::xray::SledEntry::CUSTOM_EVENT, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::xray::SledEntry::ENTRY, llvm::errorCodeToError(), llvm::xray::SledEntry::EXIT, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::find_if(), FuncId, llvm::object::ELFRelocationRef::getAddend(), getAddend(), llvm::object::OwningBinary< T >::getBinary(), llvm::object::getRelocationResolver(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU64(), llvm::DataExtractor::getU8(), I, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::xray::SledEntry::LOG_ARGS_ENTER, llvm::Triple::loongarch64, llvm::Offset, llvm::Triple::ppc64le, llvm::object::resolveRelocation(), llvm::Triple::riscv64, llvm::Error::success(), llvm::xray::SledEntry::TAIL, llvm::Expected< T >::takeError(), and llvm::Triple::x86_64.
Referenced by llvm::xray::loadInstrumentationMap().
|
static |
Definition at line 223 of file InstrumentationMap.cpp.
References llvm::sys::fs::closeFile(), llvm::sys::fs::mapped_file_region::data(), llvm::sys::fs::mapped_file_region::readonly, llvm::sys::fs::mapped_file_region::size(), llvm::Error::success(), and Y.
Referenced by llvm::xray::loadInstrumentationMap().