#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/COFFImportFile.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. | |
Variables | |
staticconstuint32_t | Log2OfAIXPageSize = 12 |
staticconstuint32_t | MinBigArchiveMemDataAlign = 2 |
Definition at line428 of fileArchiveWriter.cpp.
ReferencesSymMap::ECMap,llvm::offsetToAlignment(), andSize.
Referenced bycomputeHeadersSize(), andwriteECSymbols().
| static |
Definition at line459 of fileArchiveWriter.cpp.
ReferencescomputeECSymbolsSize(),computeSymbolMapSize(),computeSymbolTableSize(),SymMap::ECMap,is64BitKind(),llvm::SmallVectorBase< Size_T >::size(),Size, andwriteSymbolTableHeader().
Referenced byllvm::writeArchiveToStream().
| static |
Definition at line778 of fileArchiveWriter.cpp.
Referencesllvm::alignTo(),llvm::alignToPowerOf2(),llvm::ArrayRef< T >::begin(),llvm::createFileError(),llvm::Data,llvm::raw_ostream::flush(),llvm::get(),llvm::MemoryBufferRef::getBuffer(),llvm::MemoryBufferRef::getBufferSize(),getMemberAlignment(),getSymbolicFile(),getSymbols(),isAIXBigArchive(),isAnyArm64COFF(),isCOFFArchive(),isDarwin(),isECObject(),llvm::object::Archive::MaxMemberSize,llvm::NoSymtab,llvm::offsetToAlignment(),llvm::object::parse_failed,printBigArchiveMemberHeader(),printMemberHeader(),llvm::ArrayRef< T >::size(),Size,llvm::Expected< T >::takeError(),llvm::raw_ostream::tell(),llvm::sys::toTimePoint(), andSymMap::UseECMap.
Referenced byllvm::writeArchiveToStream().
| static |
Definition at line342 of fileArchiveWriter.cpp.
Referencesllvm::raw_ostream::flush(),llvm::offsetToAlignment(),printWithSpacePadding(),llvm::StringRef::size(), andSize.
Referenced byllvm::writeArchiveToStream().
| static |
Definition at line413 of fileArchiveWriter.cpp.
ReferencesSymMap::Map,llvm::offsetToAlignment(), andSize.
Referenced bycomputeHeadersSize(), andwriteSymbolMap().
| static |
Definition at line384 of fileArchiveWriter.cpp.
Referencesassert(),isAIXBigArchive(),isBSDLike(),llvm::offsetToAlignment(), andSize.
Referenced bycomputeHeadersSize(), andwriteSymbolTable().
uint16_t getAuxMaxAlignment | ( | uint16_t | AuxHeaderSize, |
AuxiliaryHeader * | AuxHeader, | ||
uint16_t | Log2OfMaxAlign | ||
) |
Definition at line547 of fileArchiveWriter.cpp.
ReferencesLog2OfAIXPageSize,MinBigArchiveMemDataAlign, andoffsetof.
Referenced bygetMemberAlignment().
| static |
Definition at line580 of fileArchiveWriter.cpp.
Referencesllvm::object::XCOFFFileHeader32::AuxHeaderSize,llvm::object::XCOFFFileHeader64::AuxHeaderSize,llvm::object::XCOFFObjectFile::auxiliaryHeader32(),llvm::object::XCOFFObjectFile::auxiliaryHeader64(),llvm::object::XCOFFObjectFile::fileHeader32(),llvm::object::XCOFFObjectFile::fileHeader64(),getAuxMaxAlignment(),llvm::object::XCOFFObjectFile::is64Bit(),Log2OfAIXPageSize, andMinBigArchiveMemDataAlign.
Referenced bycomputeMemberData().
| static |
Definition at line485 of fileArchiveWriter.cpp.
Referencesllvm::file_magic::bitcode,llvm::object::SymbolicFile::createSymbolicFile(),llvm::MemoryBufferRef::getBuffer(),llvm::identify_magic(),llvm::object::SymbolicFile::isSymbolicFile(),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, andllvm::object::Archive::K_GNU64.
Referenced bycomputeMemberData().
| static |
Definition at line736 of fileArchiveWriter.cpp.
ReferencesSymMap::ECMap,isArchiveSymbol(),isECObject(),isImportDescriptor(),SymMap::Map,Name,llvm::object::SymbolicFile::symbols(),llvm::raw_ostream::tell(), andSymMap::UseECMap.
Referenced bycomputeMemberData(), andllvm::writeArchiveToStream().
| static |
Definition at line284 of fileArchiveWriter.cpp.
Referencesllvm::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, andllvm_unreachable.
Referenced bycomputeHeadersSize(),printNBits(),llvm::writeArchiveToStream(),writeSymbolTable(), andwriteSymbolTableHeader().
| static |
Definition at line533 of fileArchiveWriter.cpp.
Referencesllvm::object::SymbolicFile::is64Bit().
Referenced byllvm::writeArchiveToStream(), andwriteSymbolTable().
| static |
Definition at line181 of fileArchiveWriter.cpp.
Referencesllvm::object::Archive::K_AIXBIG.
Referenced bycomputeMemberData(),computeSymbolTableSize(),llvm::writeArchiveToStream(),writeSymbolTable(), andwriteSymbolTableHeader().
| static |
Definition at line710 of fileArchiveWriter.cpp.
Referencesllvm::Triple::aarch64,llvm::getBitcodeTargetTriple(),llvm::object::Binary::getMemoryBufferRef(),llvm::COFF::isAnyArm64(),llvm::object::Binary::isCOFF(),llvm::object::Binary::isCOFFImportFile(), andllvm::object::Binary::isIR().
Referenced bycomputeMemberData().
| static |
Definition at line362 of fileArchiveWriter.cpp.
Referencesllvm::object::BasicSymbolRef::getFlags(),llvm::report_fatal_error(),llvm::object::BasicSymbolRef::SF_FormatSpecific,llvm::object::BasicSymbolRef::SF_Global,llvm::object::BasicSymbolRef::SF_Undefined, andllvm::Expected< T >::takeError().
Referenced bygetSymbols().
| static |
Definition at line189 of fileArchiveWriter.cpp.
Referencesllvm::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, andllvm_unreachable.
Referenced bycomputeSymbolTableSize(),print(),printMemberHeader(),llvm::writeArchiveToStream(),writeSymbolTable(), andwriteSymbolTableHeader().
| static |
Definition at line185 of fileArchiveWriter.cpp.
Referencesllvm::object::Archive::K_COFF.
Referenced bycomputeMemberData(),printMemberHeader(),llvm::writeArchiveToStream(), andwriteSymbolTable().
| static |
Definition at line176 of fileArchiveWriter.cpp.
Referencesllvm::object::Archive::K_DARWIN, andllvm::object::Archive::K_DARWIN64.
Referenced bycomputeMemberData(), andwriteSymbolTable().
| static |
Definition at line689 of fileArchiveWriter.cpp.
Referencesllvm::getBitcodeTargetTriple(),llvm::object::Binary::getMemoryBufferRef(),llvm::COFF::IMAGE_FILE_MACHINE_ARM64,llvm::object::Binary::isCOFF(),llvm::object::Binary::isCOFFImportFile(),llvm::object::Binary::isIR(), andllvm::Triple::x86_64.
Referenced bycomputeMemberData(), andgetSymbols().
Definition at line729 of fileArchiveWriter.cpp.
Referencesllvm::object::ImportDescriptorPrefix,Name,llvm::object::NullImportDescriptorSymbolName,llvm::object::NullThunkDataPrefix, andllvm::object::NullThunkDataSuffix.
Referenced bygetSymbols().
| static |
Definition at line354 of fileArchiveWriter.cpp.
Referenced byllvm::TimeRecord::getCurrentTime(),writeECSymbols(), andwriteSymbolTableHeader().
| static |
Definition at line205 of fileArchiveWriter.cpp.
Referencesllvm::big,isBSDLike(),llvm::little, andllvm::support::endian::write().
Referenced bygen-regalloc-eviction-test-model::build_mock_model(),gen-regalloc-priority-test-model::build_mock_model(),gen-inline-oz-test-model::build_mock_model(),log_reader::main(),gen-inline-oz-test-model::main(),log_reader::pretty_print_tensor_value(),printLivenessInfo(),llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >::run(), andinteractive_host::run_interactive().
| static |
Definition at line256 of fileArchiveWriter.cpp.
Referencesllvm::format(),Name,printWithSpacePadding(),Size,llvm::sys::toTimeT(), andllvm::raw_ostream::write().
Referenced bycomputeMemberData(),llvm::writeArchiveToStream(), andwriteSymbolTableHeader().
| static |
Definition at line240 of fileArchiveWriter.cpp.
ReferencesName,llvm::offsetToAlignment(),printRestOfMemberHeader(),printWithSpacePadding(),Size, andllvm::raw_ostream::write().
Referenced byprintMemberHeader(), andwriteSymbolTableHeader().
| static |
Definition at line231 of fileArchiveWriter.cpp.
ReferencesName,printRestOfMemberHeader(),printWithSpacePadding(), andSize.
Referenced byprintMemberHeader(),writeECSymbols(), andwriteSymbolTableHeader().
| static |
Definition at line211 of fileArchiveWriter.cpp.
Referencesllvm::little, andllvm::support::endian::write().
Referenced bywriteECSymbols(), andwriteSymbolMap().
| static |
Definition at line300 of fileArchiveWriter.cpp.
Referencesllvm::StringMap< ValueTy, AllocatorTy >::insert(),isBSDLike(),isCOFFArchive(),printBSDMemberHeader(),printGNUSmallMemberHeader(),printRestOfMemberHeader(),printWithSpacePadding(),Size, anduseStringTable().
Referenced bycomputeMemberData().
| static |
Definition at line376 of fileArchiveWriter.cpp.
Referencesis64BitKind().
Referenced bywriteSymbolTable().
| static |
Definition at line215 of fileArchiveWriter.cpp.
Referencesllvm::format(),printWithSpacePadding(),Size, andllvm::sys::toTimeT().
Referenced byprintBSDMemberHeader(),printGNUSmallMemberHeader(), andprintMemberHeader().
| static |
Definition at line168 of fileArchiveWriter.cpp.
Referencesassert(),llvm::Data,llvm::raw_ostream::indent(),OS,Size, andllvm::raw_ostream::tell().
Referenced bycomputeStringTable(),printBigArchiveMemberHeader(),printBSDMemberHeader(),printGNUSmallMemberHeader(),printMemberHeader(),printRestOfMemberHeader(), andllvm::writeArchiveToStream().
| static |
Definition at line671 of fileArchiveWriter.cpp.
ReferencescomputeECSymbolsSize(),SymMap::ECMap,now(),printGNUSmallMemberHeader(),printLE(),Size, andllvm::raw_ostream::write().
Referenced byllvm::writeArchiveToStream().
| static |
Definition at line645 of fileArchiveWriter.cpp.
ReferencescomputeSymbolMapSize(),SymMap::Map,printLE(),llvm::ArrayRef< T >::size(),Size,llvm::raw_ostream::write(), andwriteSymbolTableHeader().
Referenced byllvm::writeArchiveToStream().
| static |
Definition at line595 of fileArchiveWriter.cpp.
ReferencescomputeSymbolTableSize(),is64BitKind(),is64BitSymbolicFile(),isAIXBigArchive(),isBSDLike(),isCOFFArchive(),isDarwin(),printNBits(),llvm::StringTable::size(),Size,llvm::raw_ostream::write(), andwriteSymbolTableHeader().
Referenced byllvm::writeArchiveToStream().
| static |
Definition at line442 of fileArchiveWriter.cpp.
Referencesis64BitKind(),isAIXBigArchive(),isBSDLike(),Name,now(),printBigArchiveMemberHeader(),printBSDMemberHeader(),printGNUSmallMemberHeader(),Size, andllvm::raw_ostream::tell().
Referenced bycomputeHeadersSize(),writeSymbolMap(), andwriteSymbolTable().
Definition at line538 of fileArchiveWriter.cpp.
Referenced bygetAuxMaxAlignment(), andgetMemberAlignment().
Definition at line544 of fileArchiveWriter.cpp.
Referenced bygetAuxMaxAlignment(), andgetMemberAlignment().