LLVM
15.0.0git
|
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/MC/StringTableBuilder.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Object/ELFTypes.h"
#include "llvm/ObjectYAML/DWARFEmitter.h"
#include "llvm/ObjectYAML/DWARFYAML.h"
#include "llvm/ObjectYAML/ELFYAML.h"
#include "llvm/ObjectYAML/yaml2obj.h"
#include "llvm/Support/EndianStream.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/LEB128.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/WithColor.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Namespaces | |
llvm | |
This is an optimization pass for GlobalISel generic memory operations. | |
llvm::yaml | |
Functions | |
template<class T > | |
static size_t | arrayDataSize (ArrayRef< T > A) |
template<class T > | |
static void | writeArrayData (raw_ostream &OS, ArrayRef< T > A) |
template<class T > | |
static void | zero (T &Obj) |
template<class ELFT > | |
static void | overrideFields (ELFYAML::Section *From, typename ELFT::Shdr &To) |
static uint64_t | writeContent (ContiguousBlobAccumulator &CBA, const Optional< yaml::BinaryRef > &Content, const Optional< llvm::yaml::Hex64 > &Size) |
static StringRef | getDefaultLinkSec (unsigned SecType) |
static size_t | findFirstNonGlobal (ArrayRef< ELFYAML::Symbol > Symbols) |
static bool | shouldEmitDWARF (DWARFYAML::Data &DWARF, StringRef Name) |
template<class ELFT > | |
Expected< uint64_t > | emitDWARF (typename ELFT::Shdr &SHeader, StringRef Name, const DWARFYAML::Data &DWARF, ContiguousBlobAccumulator &CBA) |
static bool | isMips64EL (const ELFYAML::Object &Obj) |
bool | llvm::yaml::yaml2elf (ELFYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH, uint64_t MaxSize) |
Variables | |
constexpr char | SuffixStart = '(' |
constexpr char | SuffixEnd = ')' |
The ELF component of yaml2obj.
Definition in file ELFEmitter.cpp.
Expected<uint64_t> emitDWARF | ( | typename ELFT::Shdr & | SHeader, |
StringRef | Name, | ||
const DWARFYAML::Data & | DWARF, | ||
ContiguousBlobAccumulator & | CBA | ||
) |
Definition at line 1073 of file ELFEmitter.cpp.
References llvm::DWARFYAML::getDWARFEmitterByName.
|
static |
Definition at line 928 of file ELFEmitter.cpp.
|
static |
Definition at line 733 of file ELFEmitter.cpp.
References llvm::ELF::SHT_DYNSYM, llvm::ELF::SHT_GNU_HASH, llvm::ELF::SHT_GNU_verdef, llvm::ELF::SHT_GNU_verneed, llvm::ELF::SHT_GNU_versym, llvm::ELF::SHT_GROUP, llvm::ELF::SHT_HASH, llvm::ELF::SHT_LLVM_ADDRSIG, llvm::ELF::SHT_LLVM_CALL_GRAPH_PROFILE, llvm::ELF::SHT_REL, llvm::ELF::SHT_RELA, and llvm::ELF::SHT_SYMTAB.
|
static |
Definition at line 1259 of file ELFEmitter.cpp.
References llvm::ELFYAML::FileHeader::Class, llvm::ELFYAML::FileHeader::Data, llvm::ELF::ELFCLASS64, llvm::ELF::ELFDATA2LSB, llvm::ELF::EM_MIPS, llvm::ELFYAML::Object::getMachine(), and llvm::ELFYAML::Object::Header.
Referenced by llvm::object::ELFFile< ELFT >::getRelocationSymbol(), llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, false >, false >::getRInfo(), llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, true >, false >::getRInfo(), llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, false >, false >::getSymbol(), llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, true >, false >::getSymbol(), llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, false >, false >::getType(), and llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, true >, false >::getType().
|
static |
Definition at line 633 of file ELFEmitter.cpp.
References From.
|
static |
Definition at line 1067 of file ELFEmitter.cpp.
References llvm::SetVector< T, Vector, Set >::count(), and llvm::DWARFYAML::Data::getNonEmptySectionNames().
|
static |
Definition at line 331 of file ELFEmitter.cpp.
References arrayDataSize(), and llvm::raw_ostream::write().
|
static |
Definition at line 717 of file ELFEmitter.cpp.
References Content, and llvm::Check::Size.
|
static |
Definition at line 335 of file ELFEmitter.cpp.
|
constexpr |
Definition at line 685 of file ELFEmitter.cpp.
Referenced by llvm::ELFYAML::appendUniqueSuffix(), llvm::ELFYAML::dropUniqueSuffix(), and parseRD().
|
constexpr |
Definition at line 684 of file ELFEmitter.cpp.
Referenced by llvm::ELFYAML::appendUniqueSuffix(), and llvm::ELFYAML::dropUniqueSuffix().