LLVM 20.0.0git
Classes | Namespaces | Enumerations | Functions | Variables
XCOFF.h File Reference
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  llvm::XCOFF::TracebackTable
 
struct  llvm::XCOFF::CsectProperties
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::XCOFF
 

Enumerations

enum  llvm::XCOFF::ReservedSectionNum : int16_t { llvm::XCOFF::N_DEBUG = -2 , llvm::XCOFF::N_ABS = -1 , llvm::XCOFF::N_UNDEF = 0 }
 
enum  llvm::XCOFF::MagicNumber : uint16_t { llvm::XCOFF::XCOFF32 = 0x01DF , llvm::XCOFF::XCOFF64 = 0x01F7 }
 
enum  llvm::XCOFF::AuxHeaderFlags64 : uint16_t { llvm::XCOFF::SHR_SYMTAB = 0x8000 , llvm::XCOFF::FORK_POLICY = 0x4000 , llvm::XCOFF::FORK_COR = 0x2000 }
 
enum  llvm::XCOFF::XCOFFInterpret : uint16_t { llvm::XCOFF::OLD_XCOFF_INTERPRET = 1 , llvm::XCOFF::NEW_XCOFF_INTERPRET = 2 }
 
enum  llvm::XCOFF::FileFlag : uint16_t {
  llvm::XCOFF::F_RELFLG = 0x0001 , llvm::XCOFF::F_EXEC = 0x0002 , llvm::XCOFF::F_LNNO = 0x0004 , llvm::XCOFF::F_LSYMS = 0x0008 ,
  llvm::XCOFF::F_FDPR_PROF = 0x0010 , llvm::XCOFF::F_FDPR_OPTI = 0x0020 , llvm::XCOFF::F_DSA = 0x0040 , llvm::XCOFF::F_DEP_1 = 0x0080 ,
  llvm::XCOFF::F_VARPG = 0x0100 , llvm::XCOFF::F_LPTEXT = 0x0400 , llvm::XCOFF::F_LPDATA = 0x0800 , llvm::XCOFF::F_DYNLOAD = 0x1000 ,
  llvm::XCOFF::F_SHROBJ = 0x2000 , llvm::XCOFF::F_LOADONLY , llvm::XCOFF::F_DEP_2 = 0x8000
}
 
enum  llvm::XCOFF::StorageMappingClass : uint8_t {
  llvm::XCOFF::XMC_PR = 0 , llvm::XCOFF::XMC_RO = 1 , llvm::XCOFF::XMC_DB = 2 , llvm::XCOFF::XMC_GL = 6 ,
  llvm::XCOFF::XMC_XO = 7 , llvm::XCOFF::XMC_SV = 8 , llvm::XCOFF::XMC_SV64 = 17 , llvm::XCOFF::XMC_SV3264 = 18 ,
  llvm::XCOFF::XMC_TI = 12 , llvm::XCOFF::XMC_TB = 13 , llvm::XCOFF::XMC_RW = 5 , llvm::XCOFF::XMC_TC0 = 15 ,
  llvm::XCOFF::XMC_TC = 3 , llvm::XCOFF::XMC_TD = 16 , llvm::XCOFF::XMC_DS = 10 , llvm::XCOFF::XMC_UA = 4 ,
  llvm::XCOFF::XMC_BS = 9 , llvm::XCOFF::XMC_UC = 11 , llvm::XCOFF::XMC_TL = 20 , llvm::XCOFF::XMC_UL = 21 ,
  llvm::XCOFF::XMC_TE = 22
}
 Storage Mapping Class definitions. More...
 
enum  llvm::XCOFF::SectionTypeFlags : int32_t {
  llvm::XCOFF::STYP_PAD = 0x0008 , llvm::XCOFF::STYP_DWARF = 0x0010 , llvm::XCOFF::STYP_TEXT = 0x0020 , llvm::XCOFF::STYP_DATA = 0x0040 ,
  llvm::XCOFF::STYP_BSS = 0x0080 , llvm::XCOFF::STYP_EXCEPT = 0x0100 , llvm::XCOFF::STYP_INFO = 0x0200 , llvm::XCOFF::STYP_TDATA = 0x0400 ,
  llvm::XCOFF::STYP_TBSS = 0x0800 , llvm::XCOFF::STYP_LOADER = 0x1000 , llvm::XCOFF::STYP_DEBUG = 0x2000 , llvm::XCOFF::STYP_TYPCHK = 0x4000 ,
  llvm::XCOFF::STYP_OVRFLO = 0x8000
}
 
enum  llvm::XCOFF::DwarfSectionSubtypeFlags : int32_t {
  llvm::XCOFF::SSUBTYP_DWINFO = 0x1'0000 , llvm::XCOFF::SSUBTYP_DWLINE = 0x2'0000 , llvm::XCOFF::SSUBTYP_DWPBNMS = 0x3'0000 , llvm::XCOFF::SSUBTYP_DWPBTYP = 0x4'0000 ,
  llvm::XCOFF::SSUBTYP_DWARNGE = 0x5'0000 , llvm::XCOFF::SSUBTYP_DWABREV = 0x6'0000 , llvm::XCOFF::SSUBTYP_DWSTR = 0x7'0000 , llvm::XCOFF::SSUBTYP_DWRNGES = 0x8'0000 ,
  llvm::XCOFF::SSUBTYP_DWLOC = 0x9'0000 , llvm::XCOFF::SSUBTYP_DWFRAME = 0xA'0000 , llvm::XCOFF::SSUBTYP_DWMAC = 0xB'0000
}
 Values for defining the section subtype of sections of type STYP_DWARF as they would appear in the (signed, 32-bit) s_flags field of the section header structure, contributing to the 16 most significant bits. More...
 
enum  llvm::XCOFF::StorageClass : uint8_t {
  llvm::XCOFF::C_FILE = 103 , llvm::XCOFF::C_BINCL = 108 , llvm::XCOFF::C_EINCL = 109 , llvm::XCOFF::C_GSYM = 128 ,
  llvm::XCOFF::C_STSYM = 133 , llvm::XCOFF::C_BCOMM = 135 , llvm::XCOFF::C_ECOMM = 137 , llvm::XCOFF::C_ENTRY = 141 ,
  llvm::XCOFF::C_BSTAT = 143 , llvm::XCOFF::C_ESTAT = 144 , llvm::XCOFF::C_GTLS = 145 , llvm::XCOFF::C_STTLS = 146 ,
  llvm::XCOFF::C_DWARF = 112 , llvm::XCOFF::C_LSYM = 129 , llvm::XCOFF::C_PSYM = 130 , llvm::XCOFF::C_RSYM = 131 ,
  llvm::XCOFF::C_RPSYM = 132 , llvm::XCOFF::C_ECOML = 136 , llvm::XCOFF::C_FUN = 142 , llvm::XCOFF::C_EXT = 2 ,
  llvm::XCOFF::C_WEAKEXT = 111 , llvm::XCOFF::C_NULL = 0 , llvm::XCOFF::C_STAT = 3 , llvm::XCOFF::C_BLOCK = 100 ,
  llvm::XCOFF::C_FCN = 101 , llvm::XCOFF::C_HIDEXT = 107 , llvm::XCOFF::C_INFO = 110 , llvm::XCOFF::C_DECL = 140 ,
  llvm::XCOFF::C_AUTO = 1 , llvm::XCOFF::C_REG = 4 , llvm::XCOFF::C_EXTDEF = 5 , llvm::XCOFF::C_LABEL = 6 ,
  llvm::XCOFF::C_ULABEL = 7 , llvm::XCOFF::C_MOS = 8 , llvm::XCOFF::C_ARG = 9 , llvm::XCOFF::C_STRTAG = 10 ,
  llvm::XCOFF::C_MOU = 11 , llvm::XCOFF::C_UNTAG = 12 , llvm::XCOFF::C_TPDEF = 13 , llvm::XCOFF::C_USTATIC = 14 ,
  llvm::XCOFF::C_ENTAG = 15 , llvm::XCOFF::C_MOE = 16 , llvm::XCOFF::C_REGPARM = 17 , llvm::XCOFF::C_FIELD = 18 ,
  llvm::XCOFF::C_EOS = 102 , llvm::XCOFF::C_LINE = 104 , llvm::XCOFF::C_ALIAS = 105 , llvm::XCOFF::C_HIDDEN = 106 ,
  llvm::XCOFF::C_EFCN = 255 , llvm::XCOFF::C_TCSYM = 134
}
 
enum  llvm::XCOFF::SymbolType : uint8_t { llvm::XCOFF::XTY_ER = 0 , llvm::XCOFF::XTY_SD = 1 , llvm::XCOFF::XTY_LD = 2 , llvm::XCOFF::XTY_CM = 3 }
 
enum  llvm::XCOFF::VisibilityType : uint16_t {
  llvm::XCOFF::SYM_V_UNSPECIFIED = 0x0000 , llvm::XCOFF::SYM_V_INTERNAL = 0x1000 , llvm::XCOFF::SYM_V_HIDDEN = 0x2000 , llvm::XCOFF::SYM_V_PROTECTED = 0x3000 ,
  llvm::XCOFF::SYM_V_EXPORTED = 0x4000
}
 Values for visibility as they would appear when encoded in the high 4 bits of the 16-bit unsigned n_type field of symbol table entries. More...
 
enum  llvm::XCOFF::RelocationType : uint8_t {
  llvm::XCOFF::R_POS = 0x00 , llvm::XCOFF::R_RL = 0x0c , llvm::XCOFF::R_RLA = 0x0d , llvm::XCOFF::R_NEG = 0x01 ,
  llvm::XCOFF::R_REL = 0x02 , llvm::XCOFF::R_TOC = 0x03 , llvm::XCOFF::R_TRL = 0x12 , llvm::XCOFF::R_TRLA ,
  llvm::XCOFF::R_GL = 0x05 , llvm::XCOFF::R_TCL = 0x06 , llvm::XCOFF::R_REF = 0x0f , llvm::XCOFF::R_BA = 0x08 ,
  llvm::XCOFF::R_BR = 0x0a , llvm::XCOFF::R_RBA = 0x18 , llvm::XCOFF::R_RBR = 0x1a , llvm::XCOFF::R_TLS = 0x20 ,
  llvm::XCOFF::R_TLS_IE = 0x21 , llvm::XCOFF::R_TLS_LD = 0x22 , llvm::XCOFF::R_TLS_LE = 0x23 , llvm::XCOFF::R_TLSM = 0x24 ,
  llvm::XCOFF::R_TLSML = 0x25 , llvm::XCOFF::R_TOCU = 0x30 , llvm::XCOFF::R_TOCL = 0x31
}
 
enum  llvm::XCOFF::CFileStringType : uint8_t { llvm::XCOFF::XFT_FN = 0 , llvm::XCOFF::XFT_CT = 1 , llvm::XCOFF::XFT_CV = 2 , llvm::XCOFF::XFT_CD = 128 }
 
enum  llvm::XCOFF::CFileLangId : uint8_t { llvm::XCOFF::TB_C = 0 , llvm::XCOFF::TB_Fortran = 1 , llvm::XCOFF::TB_CPLUSPLUS = 9 }
 
enum  llvm::XCOFF::CFileCpuId : uint8_t { llvm::XCOFF::TCPU_PPC64 = 2 , llvm::XCOFF::TCPU_COM = 3 , llvm::XCOFF::TCPU_970 = 19 }
 
enum  llvm::XCOFF::SymbolAuxType : uint8_t {
  llvm::XCOFF::AUX_EXCEPT = 255 , llvm::XCOFF::AUX_FCN = 254 , llvm::XCOFF::AUX_SYM = 253 , llvm::XCOFF::AUX_FILE = 252 ,
  llvm::XCOFF::AUX_CSECT = 251 , llvm::XCOFF::AUX_SECT = 250
}
 
enum  llvm::XCOFF::ExtendedTBTableFlag : uint8_t {
  llvm::XCOFF::TB_OS1 = 0x80 , llvm::XCOFF::TB_RESERVED = 0x40 , llvm::XCOFF::TB_SSP_CANARY = 0x20 , llvm::XCOFF::TB_OS2 = 0x10 ,
  llvm::XCOFF::TB_EH_INFO = 0x08 , llvm::XCOFF::TB_LONGTBTABLE2 = 0x01
}
 

Functions

StringRef llvm::XCOFF::getMappingClassString (XCOFF::StorageMappingClass SMC)
 
StringRef llvm::XCOFF::getRelocationTypeString (XCOFF::RelocationType Type)
 
Expected< SmallString< 32 > > llvm::XCOFF::parseParmsType (uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum)
 
Expected< SmallString< 32 > > llvm::XCOFF::parseParmsTypeWithVecInfo (uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum, unsigned VectorParmsNum)
 
Expected< SmallString< 32 > > llvm::XCOFF::parseVectorParmsType (uint32_t Value, unsigned ParmsNum)
 
StringRef llvm::XCOFF::getNameForTracebackTableLanguageId (TracebackTable::LanguageID LangId)
 
SmallString< 32 > llvm::XCOFF::getExtendedTBTableFlagString (uint8_t Flag)
 

Variables

constexpr size_t llvm::XCOFF::FileNamePadSize = 6
 
constexpr size_t llvm::XCOFF::NameSize = 8
 
constexpr size_t llvm::XCOFF::AuxFileEntNameSize = 14
 
constexpr size_t llvm::XCOFF::FileHeaderSize32 = 20
 
constexpr size_t llvm::XCOFF::FileHeaderSize64 = 24
 
constexpr size_t llvm::XCOFF::AuxFileHeaderSize32 = 72
 
constexpr size_t llvm::XCOFF::AuxFileHeaderSize64 = 110
 
constexpr size_t llvm::XCOFF::AuxFileHeaderSizeShort = 28
 
constexpr size_t llvm::XCOFF::SectionHeaderSize32 = 40
 
constexpr size_t llvm::XCOFF::SectionHeaderSize64 = 72
 
constexpr size_t llvm::XCOFF::SymbolTableEntrySize = 18
 
constexpr size_t llvm::XCOFF::RelocationSerializationSize32 = 10
 
constexpr size_t llvm::XCOFF::RelocationSerializationSize64 = 14
 
constexpr size_t llvm::XCOFF::ExceptionSectionEntrySize32 = 6
 
constexpr size_t llvm::XCOFF::ExceptionSectionEntrySize64 = 10
 
constexpr uint16_t llvm::XCOFF::RelocOverflow = 65535
 
constexpr uint8_t llvm::XCOFF::AllocRegNo = 31
 
static constexpr uint8_t llvm::XCOFF::XR_SIGN_INDICATOR_MASK = 0x80
 
static constexpr uint8_t llvm::XCOFF::XR_FIXUP_INDICATOR_MASK = 0x40
 
static constexpr uint8_t llvm::XCOFF::XR_BIASED_LENGTH_MASK = 0x3f
 
constexpr uint16_t llvm::XCOFF::VISIBILITY_MASK = 0x7000