LLVM 17.0.0git
|
#include "llvm/Object/ArchiveWriter.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/BinaryFormat/Magic.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/Object/Archive.h"
#include "llvm/Object/COFF.h"
#include "llvm/Object/Error.h"
#include "llvm/Object/IRObjectFile.h"
#include "llvm/Object/MachO.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/SymbolicFile.h"
#include "llvm/Object/XCOFFObjectFile.h"
#include "llvm/Support/Alignment.h"
#include "llvm/Support/EndianStream.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SmallVectorMemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
#include <cerrno>
#include <map>
#include <unistd.h>
Go to the source code of this file.
Classes | |
struct | SymMap |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Definition at line 423 of file ArchiveWriter.cpp.
References SymMap::ECMap, llvm::offsetToAlignment(), and Size.
Referenced by computeHeadersSize(), and writeECSymbols().
|
static |
Definition at line 454 of file ArchiveWriter.cpp.
References computeECSymbolsSize(), computeSymbolMapSize(), computeSymbolTableSize(), SymMap::ECMap, is64BitKind(), llvm::SmallVectorBase< Size_T >::size(), Size, and writeSymbolTableHeader().
Referenced by llvm::writeArchiveToStream().
|
static |
Definition at line 681 of file ArchiveWriter.cpp.
References llvm::alignTo(), llvm::createFileError(), llvm::Data, llvm::raw_ostream::flush(), llvm::MemoryBufferRef::getBuffer(), llvm::MemoryBufferRef::getBufferSize(), getSymbols(), isAIXBigArchive(), isCOFFArchive(), isDarwin(), llvm::object::Archive::MaxMemberSize, llvm::offsetToAlignment(), llvm::object::parse_failed, printBigArchiveMemberHeader(), printMemberHeader(), Size, llvm::Expected< T >::takeError(), llvm::raw_ostream::tell(), and llvm::sys::toTimePoint().
Referenced by llvm::writeArchiveToStream().
|
static |
Definition at line 337 of file ArchiveWriter.cpp.
References llvm::raw_ostream::flush(), Names, llvm::offsetToAlignment(), printWithSpacePadding(), and Size.
Referenced by llvm::writeArchiveToStream().
|
static |
Definition at line 408 of file ArchiveWriter.cpp.
References SymMap::Map, llvm::offsetToAlignment(), and Size.
Referenced by computeHeadersSize(), and writeSymbolMap().
|
static |
Definition at line 379 of file ArchiveWriter.cpp.
References assert(), isAIXBigArchive(), isBSDLike(), llvm::offsetToAlignment(), and Size.
Referenced by computeHeadersSize(), and writeSymbolTable().
|
static |
Definition at line 480 of file ArchiveWriter.cpp.
References llvm::file_magic::bitcode, Context, llvm::object::SymbolicFile::createSymbolicFile(), llvm::MemoryBufferRef::getBuffer(), llvm::identify_magic(), and llvm::object::SymbolicFile::isSymbolicFile().
Referenced by getSymbols(), and is64BitSymbolicFile().
|
static |
Definition at line 633 of file ArchiveWriter.cpp.
References Context, E, SymMap::ECMap, getSymbolicFile(), isArchiveSymbol(), isECObject(), SymMap::Map, Name, llvm::Expected< T >::takeError(), llvm::raw_ostream::tell(), and SymMap::UseECMap.
Referenced by computeMemberData(), and llvm::writeArchiveToStream().
|
static |
Definition at line 281 of file ArchiveWriter.cpp.
References llvm::object::Archive::K_AIXBIG, llvm::object::Archive::K_BSD, llvm::object::Archive::K_COFF, llvm::object::Archive::K_DARWIN, llvm::object::Archive::K_DARWIN64, llvm::object::Archive::K_GNU, llvm::object::Archive::K_GNU64, and llvm_unreachable.
Referenced by computeHeadersSize(), printNBits(), llvm::writeArchiveToStream(), writeSymbolTable(), and writeSymbolTableHeader().
Definition at line 499 of file ArchiveWriter.cpp.
References Context, getSymbolicFile(), and llvm::Expected< T >::takeError().
Referenced by llvm::writeArchiveToStream(), and writeSymbolTable().
|
static |
Definition at line 179 of file ArchiveWriter.cpp.
References llvm::object::Archive::K_AIXBIG.
Referenced by computeMemberData(), computeSymbolTableSize(), llvm::writeArchiveToStream(), writeSymbolTable(), and writeSymbolTableHeader().
|
static |
Definition at line 357 of file ArchiveWriter.cpp.
References llvm::object::BasicSymbolRef::getFlags(), llvm::report_fatal_error(), llvm::object::BasicSymbolRef::SF_FormatSpecific, llvm::object::BasicSymbolRef::SF_Global, llvm::object::BasicSymbolRef::SF_Undefined, and llvm::Expected< T >::takeError().
Referenced by getSymbols().
|
static |
Definition at line 187 of file ArchiveWriter.cpp.
References llvm::object::Archive::K_AIXBIG, llvm::object::Archive::K_BSD, llvm::object::Archive::K_COFF, llvm::object::Archive::K_DARWIN, llvm::object::Archive::K_DARWIN64, llvm::object::Archive::K_GNU, llvm::object::Archive::K_GNU64, and llvm_unreachable.
Referenced by computeSymbolTableSize(), print(), printMemberHeader(), llvm::writeArchiveToStream(), writeSymbolTable(), and writeSymbolTableHeader().
|
static |
Definition at line 183 of file ArchiveWriter.cpp.
References llvm::object::Archive::K_COFF.
Referenced by computeMemberData(), printMemberHeader(), llvm::writeArchiveToStream(), and writeSymbolTable().
|
static |
Definition at line 174 of file ArchiveWriter.cpp.
References llvm::object::Archive::K_DARWIN, and llvm::object::Archive::K_DARWIN64.
Referenced by computeMemberData(), and writeSymbolTable().
|
static |
Definition at line 615 of file ArchiveWriter.cpp.
References llvm::getBitcodeTargetTriple(), llvm::object::Binary::getMemoryBufferRef(), llvm::COFF::IMAGE_FILE_MACHINE_ARM64, llvm::object::Binary::isCOFF(), llvm::object::Binary::isIR(), and llvm::Triple::x86_64.
Referenced by getSymbols().
|
static |
Definition at line 349 of file ArchiveWriter.cpp.
Referenced by llvm::TimeRecord::getCurrentTime(), writeECSymbols(), and writeSymbolTableHeader().
|
static |
Definition at line 203 of file ArchiveWriter.cpp.
References llvm::support::big, isBSDLike(), llvm::support::little, and llvm::support::endian::write().
Referenced by gen-regalloc-eviction-test-model::build_mock_model(), gen-regalloc-priority-test-model::build_mock_model(), gen-inline-oz-test-model::build_mock_model(), INITIALIZE_PASS(), log_reader::main(), gen-inline-oz-test-model::main(), log_reader::pretty_print_tensor_value(), printLivenessInfo(), and interactive_host::run_interactive().
|
static |
Definition at line 253 of file ArchiveWriter.cpp.
References llvm::format(), Name, printWithSpacePadding(), Size, llvm::sys::toTimeT(), and llvm::raw_ostream::write().
Referenced by computeMemberData(), llvm::writeArchiveToStream(), and writeSymbolTableHeader().
|
static |
Definition at line 237 of file ArchiveWriter.cpp.
References Name, llvm::offsetToAlignment(), printRestOfMemberHeader(), printWithSpacePadding(), Size, and llvm::raw_ostream::write().
Referenced by printMemberHeader(), and writeSymbolTableHeader().
|
static |
Definition at line 228 of file ArchiveWriter.cpp.
References Name, printRestOfMemberHeader(), printWithSpacePadding(), and Size.
Referenced by printMemberHeader(), writeECSymbols(), and writeSymbolTableHeader().
|
static |
Definition at line 208 of file ArchiveWriter.cpp.
References llvm::support::little, and llvm::support::endian::write().
Referenced by writeECSymbols(), and writeSymbolMap().
|
static |
Definition at line 297 of file ArchiveWriter.cpp.
References llvm::StringMap< ValueTy, AllocatorTy >::insert(), isBSDLike(), isCOFFArchive(), printBSDMemberHeader(), printGNUSmallMemberHeader(), printRestOfMemberHeader(), printWithSpacePadding(), Size, and useStringTable().
Referenced by computeMemberData().
|
static |
Definition at line 371 of file ArchiveWriter.cpp.
References is64BitKind().
Referenced by writeSymbolTable().
|
static |
Definition at line 212 of file ArchiveWriter.cpp.
References llvm::format(), printWithSpacePadding(), Size, and llvm::sys::toTimeT().
Referenced by printBSDMemberHeader(), printGNUSmallMemberHeader(), and printMemberHeader().
|
static |
Definition at line 166 of file ArchiveWriter.cpp.
References assert(), llvm::Data, llvm::raw_ostream::indent(), OS, Size, and llvm::raw_ostream::tell().
Referenced by computeStringTable(), printBigArchiveMemberHeader(), printBSDMemberHeader(), printGNUSmallMemberHeader(), printMemberHeader(), printRestOfMemberHeader(), and llvm::writeArchiveToStream().
Definition at line 277 of file ArchiveWriter.cpp.
References Name.
Referenced by printMemberHeader().
|
static |
Definition at line 597 of file ArchiveWriter.cpp.
References computeECSymbolsSize(), SymMap::ECMap, now(), printGNUSmallMemberHeader(), printLE(), Size, and llvm::raw_ostream::write().
Referenced by llvm::writeArchiveToStream().
|
static |
Definition at line 571 of file ArchiveWriter.cpp.
References computeSymbolMapSize(), SymMap::Map, printLE(), llvm::ArrayRef< T >::size(), Size, llvm::raw_ostream::write(), and writeSymbolTableHeader().
Referenced by llvm::writeArchiveToStream().
|
static |
Definition at line 516 of file ArchiveWriter.cpp.
References llvm::cantFail(), computeSymbolTableSize(), is64BitKind(), is64BitSymbolicFile(), isAIXBigArchive(), isBSDLike(), isCOFFArchive(), isDarwin(), printNBits(), Size, llvm::Expected< T >::takeError(), llvm::raw_ostream::write(), and writeSymbolTableHeader().
Referenced by llvm::writeArchiveToStream().
|
static |
Definition at line 437 of file ArchiveWriter.cpp.
References is64BitKind(), isAIXBigArchive(), isBSDLike(), Name, now(), printBigArchiveMemberHeader(), printBSDMemberHeader(), printGNUSmallMemberHeader(), Size, and llvm::raw_ostream::tell().
Referenced by computeHeadersSize(), writeSymbolMap(), and writeSymbolTable().