enum

package
v0.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2022 License: 0BSD, Unlicense Imports: 1 Imported by: 45

Documentation

Overview

Package enum defines enumerate types of LLVM IR.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AtomicOp

type AtomicOp uint8

AtomicOp is an AtomicRMW binary operation.

const (
	AtomicOpAdd  AtomicOp = iota + 1 // add
	AtomicOpAnd                      // and
	AtomicOpFAdd                     // fadd
	AtomicOpFSub                     // fsub
	AtomicOpMax                      // max
	AtomicOpMin                      // min
	AtomicOpNAnd                     // nand
	AtomicOpOr                       // or
	AtomicOpSub                      // sub
	AtomicOpUMax                     // umax
	AtomicOpUMin                     // umin
	AtomicOpXChg                     // xchg
	AtomicOpXor                      // xor
)

AtomicRMW binary operations.

func (AtomicOp) String

func (i AtomicOp) String() string

type AtomicOrdering

type AtomicOrdering uint8

AtomicOrdering is an atomic ordering attribute.

const (
	// not_atomic
	AtomicOrderingNone      AtomicOrdering = 0 // none
	AtomicOrderingUnordered AtomicOrdering = 1 // unordered
	AtomicOrderingMonotonic AtomicOrdering = 2 // monotonic
	//AtomicOrderingConsume AtomicOrdering = 3 // consume
	AtomicOrderingAcquire                AtomicOrdering = 4 // acquire
	AtomicOrderingRelease                AtomicOrdering = 5 // release
	AtomicOrderingAcquireRelease         AtomicOrdering = 6 // acq_rel
	AtomicOrderingSequentiallyConsistent AtomicOrdering = 7 // seq_cst
)

Atomic ordering attributes.

ref: include/llvm/Support/AtomicOrdering.h (LLVM 13.0) (enum class AtomicOrdering) ref: include/llvm/Support/AtomicOrdering.h (LLVM 13.0) (toIRString(AtomicOrdering))

func (AtomicOrdering) String

func (i AtomicOrdering) String() string

type CallingConv

type CallingConv uint16

CallingConv is a calling convention.

const (
	CallingConvNone CallingConv = 0 // none
	// Note, C calling convention is defined as 0 in LLVM. To have the zero-value
	// calling convention mean no calling convention, re-define C calling
	// convention as 1, and use 0 for none.
	CallingConvC            CallingConv = 1  // ccc
	CallingConvFast         CallingConv = 8  // fastcc
	CallingConvCold         CallingConv = 9  // coldcc
	CallingConvGHC          CallingConv = 10 // ghccc
	CallingConvHiPE         CallingConv = 11 // cc 11
	CallingConvWebKitJS     CallingConv = 12 // webkit_jscc
	CallingConvAnyReg       CallingConv = 13 // anyregcc
	CallingConvPreserveMost CallingConv = 14 // preserve_mostcc
	CallingConvPreserveAll  CallingConv = 15 // preserve_allcc
	CallingConvSwift        CallingConv = 16 // swiftcc
	CallingConvCXXFastTLS   CallingConv = 17 // cxx_fast_tlscc
	CallingConvTail         CallingConv = 18 // tailcc
	CallingConvCFGuardCheck CallingConv = 19 // cfguard_checkcc
	CallingConvSwiftTail    CallingConv = 20 // swifttailcc

	// Start of target-specific calling conventions.
	CallingConvFirstTarget = CallingConvX86StdCall

	CallingConvX86StdCall      CallingConv = 64 // x86_stdcallcc
	CallingConvX86FastCall     CallingConv = 65 // x86_fastcallcc
	CallingConvARM_APCS        CallingConv = 66 // arm_apcscc
	CallingConvARM_AAPCS       CallingConv = 67 // arm_aapcscc
	CallingConvARM_AAPCS_VFP   CallingConv = 68 // arm_aapcs_vfpcc
	CallingConvMSP430Interrupt CallingConv = 69 // msp430_intrcc
	CallingConvX86ThisCall     CallingConv = 70 // x86_thiscallcc
	CallingConvPTXKernel       CallingConv = 71 // ptx_kernel
	CallingConvPTXDevice       CallingConv = 72 // ptx_device

	CallingConvSPIRFunc             CallingConv = 75  // spir_func
	CallingConvSPIRKernel           CallingConv = 76  // spir_kernel
	CallingConvIntelOCL_BI          CallingConv = 77  // intel_ocl_bicc
	CallingConvX86_64SysV           CallingConv = 78  // x86_64_sysvcc
	CallingConvWin64                CallingConv = 79  // win64cc
	CallingConvX86VectorCall        CallingConv = 80  // x86_vectorcallcc
	CallingConvHHVM                 CallingConv = 81  // hhvmcc
	CallingConvHHVM_C               CallingConv = 82  // hhvm_ccc
	CallingConvX86Interrupt         CallingConv = 83  // x86_intrcc
	CallingConvAVRInterrupt         CallingConv = 84  // avr_intrcc
	CallingConvAVRSignal            CallingConv = 85  // avr_signalcc
	CallingConvAVRBuiltin           CallingConv = 86  // cc 86
	CallingConvAMDGPU_VS            CallingConv = 87  // amdgpu_vs
	CallingConvAMDGPU_GS            CallingConv = 88  // amdgpu_gs
	CallingConvAMDGPU_PS            CallingConv = 89  // amdgpu_ps
	CallingConvAMDGPU_CS            CallingConv = 90  // amdgpu_cs
	CallingConvAMDGPUKernel         CallingConv = 91  // amdgpu_kernel
	CallingConvX86RegCall           CallingConv = 92  // x86_regcallcc
	CallingConvAMDGPU_HS            CallingConv = 93  // amdgpu_hs
	CallingConvMSP430Builtin        CallingConv = 94  // cc 94
	CallingConvAMDGPU_LS            CallingConv = 95  // amdgpu_ls
	CallingConvAMDGPU_ES            CallingConv = 96  // amdgpu_es
	CallingConvAArch64VectorCall    CallingConv = 97  // aarch64_vector_pcs
	CallingConvAArch64SVEVectorCall CallingConv = 98  // aarch64_sve_vector_pcs
	CallingConvAMDGPUGfx            CallingConv = 100 // amdgpu_gfx
	CallingConvM68kInterrupt                    = 101 // cc 101
)

Calling conventions.

From include/llvm/IR/CallingConv.h (LLVM 13.0)

func (CallingConv) String

func (i CallingConv) String() string

type ChecksumKind

type ChecksumKind uint8

ChecksumKind is a checksum algorithm.

const (
	ChecksumKindMD5  ChecksumKind = 1 // CSK_MD5
	ChecksumKindSHA1 ChecksumKind = 2 // CSK_SHA1
)

Checksum algorithms.

From include/llvm/IR/DebugInfoMetadata.h

func (ChecksumKind) String

func (i ChecksumKind) String() string

type ClauseType

type ClauseType uint8

ClauseType specifies the clause type of a landingpad clause.

const (
	ClauseTypeCatch  ClauseType = iota + 1 // catch
	ClauseTypeFilter                       // filter
)

Clause types.

func (ClauseType) String

func (i ClauseType) String() string

type DIFlag

type DIFlag uint64

DIFlag is a debug info flag bitfield.

const (
	DIFlagZero                DIFlag = 0
	DIFlagPrivate             DIFlag = 1
	DIFlagProtected           DIFlag = 2
	DIFlagPublic              DIFlag = 3
	DIFlagFwdDecl             DIFlag = 1 << 2
	DIFlagAppleBlock          DIFlag = 1 << 3
	DIFlagReservedBit4        DIFlag = 1 << 4
	DIFlagVirtual             DIFlag = 1 << 5
	DIFlagArtificial          DIFlag = 1 << 6
	DIFlagExplicit            DIFlag = 1 << 7
	DIFlagPrototyped          DIFlag = 1 << 8
	DIFlagObjcClassComplete   DIFlag = 1 << 9
	DIFlagObjectPointer       DIFlag = 1 << 10
	DIFlagVector              DIFlag = 1 << 11
	DIFlagStaticMember        DIFlag = 1 << 12
	DIFlagLValueReference     DIFlag = 1 << 13
	DIFlagRValueReference     DIFlag = 1 << 14
	DIFlagExportSymbols       DIFlag = 1 << 15
	DIFlagSingleInheritance   DIFlag = 1 << 16
	DIFlagMultipleInheritance DIFlag = 2 << 16
	DIFlagVirtualInheritance  DIFlag = 3 << 16
	DIFlagIntroducedVirtual   DIFlag = 1 << 18
	DIFlagBitField            DIFlag = 1 << 19
	DIFlagNoReturn            DIFlag = 1 << 20
	DIFlagTypePassByValue     DIFlag = 1 << 22
	DIFlagTypePassByReference DIFlag = 1 << 23
	DIFlagEnumClass           DIFlag = 1 << 24
	DIFlagThunk               DIFlag = 1 << 25
	DIFlagNonTrivial          DIFlag = 1 << 26
	DIFlagBigEndian           DIFlag = 1 << 27
	DIFlagLittleEndian        DIFlag = 1 << 28
	DIFlagAllCallsDescribed   DIFlag = 1 << 29

	DIFlagIndirectVirtualBase DIFlag = DIFlagFwdDecl | DIFlagVirtual
	// Mask for accessibility.
	DIFlagAccessibility DIFlag = DIFlagPrivate | DIFlagProtected | DIFlagPublic
	// Mask for inheritance.
	DIFlagPtrToMemberRep DIFlag = DIFlagSingleInheritance | DIFlagMultipleInheritance | DIFlagVirtualInheritance

	// Track first and last debug info flag, used by diFlagsString in
	// ir/metadata/helper.go.
	DIFlagFirst = DIFlagFwdDecl
	DIFlagLast  = DIFlagAllCallsDescribed
)

Debug info flags.

From include/llvm/IR/DebugInfoFlags.def (LLVM 13.0)

func (DIFlag) String

func (i DIFlag) String() string

type DISPFlag

type DISPFlag uint64

DISPFlag is a subprogram specific flag bitfield.

const (
	DISPFlagZero           DISPFlag = 0
	DISPFlagVirtual        DISPFlag = 1
	DISPFlagPureVirtual    DISPFlag = 2
	DISPFlagLocalToUnit    DISPFlag = 1 << 2
	DISPFlagDefinition     DISPFlag = 1 << 3
	DISPFlagOptimized      DISPFlag = 1 << 4
	DISPFlagPure           DISPFlag = 1 << 5
	DISPFlagElemental      DISPFlag = 1 << 6
	DISPFlagRecursive      DISPFlag = 1 << 7
	DISPFlagMainSubprogram DISPFlag = 1 << 8
	// LLVM 10.x flags
	DISPFlagDeleted    DISPFlag = 1 << 9
	DISPFlagObjCDirect DISPFlag = 1 << 11

	// Virtuality and non-virtuality.
	DISPFlagNonvirtual DISPFlag = DISPFlagZero
	DISPFlagVirtuality DISPFlag = DISPFlagVirtual | DISPFlagPureVirtual

	// Track first and last subprogram specific flag, used by diSPFlagsString in
	// ir/metadata/helper.go.
	DISPFlagFirst = DISPFlagVirtual
	DISPFlagLast  = DISPFlagMainSubprogram
)

Subprogram specific flags.

From include/llvm/IR/DebugInfoFlags.def (LLVM 10.0)

func (DISPFlag) String

func (i DISPFlag) String() string

type DLLStorageClass

type DLLStorageClass uint8

DLLStorageClass specifies the DLL storage class of a global identifier.

const (
	DLLStorageClassNone      DLLStorageClass = iota // none
	DLLStorageClassDLLExport                        // dllexport
	DLLStorageClassDLLImport                        // dllimport
)

DLL storage classes.

func (DLLStorageClass) String

func (i DLLStorageClass) String() string

type DwarfAttEncoding

type DwarfAttEncoding int64

DwarfAttEncoding is a DWARF attribute type encoding.

const (
	// DWARF v2.
	DwarfAttEncodingAddress      DwarfAttEncoding = 0x01 // DW_ATE_address
	DwarfAttEncodingBoolean      DwarfAttEncoding = 0x02 // DW_ATE_boolean
	DwarfAttEncodingComplexFloat DwarfAttEncoding = 0x03 // DW_ATE_complex_float
	DwarfAttEncodingFloat        DwarfAttEncoding = 0x04 // DW_ATE_float
	DwarfAttEncodingSigned       DwarfAttEncoding = 0x05 // DW_ATE_signed
	DwarfAttEncodingSignedChar   DwarfAttEncoding = 0x06 // DW_ATE_signed_char
	DwarfAttEncodingUnsigned     DwarfAttEncoding = 0x07 // DW_ATE_unsigned
	DwarfAttEncodingUnsignedChar DwarfAttEncoding = 0x08 // DW_ATE_unsigned_char
	// DWARF v3.
	DwarfAttEncodingImaginaryFloat DwarfAttEncoding = 0x09 // DW_ATE_imaginary_float
	DwarfAttEncodingPackedDecimal  DwarfAttEncoding = 0x0A // DW_ATE_packed_decimal
	DwarfAttEncodingNumericString  DwarfAttEncoding = 0x0B // DW_ATE_numeric_string
	DwarfAttEncodingEdited         DwarfAttEncoding = 0x0C // DW_ATE_edited
	DwarfAttEncodingSignedFixed    DwarfAttEncoding = 0x0D // DW_ATE_signed_fixed
	DwarfAttEncodingUnsignedFixed  DwarfAttEncoding = 0x0E // DW_ATE_unsigned_fixed
	DwarfAttEncodingDecimalFloat   DwarfAttEncoding = 0x0F // DW_ATE_decimal_float
	// DWARF v4.
	DwarfAttEncodingUTF DwarfAttEncoding = 0x10 // DW_ATE_UTF
	// DWARF v5.
	DwarfAttEncodingUCS   DwarfAttEncoding = 0x11 // DW_ATE_UCS
	DwarfAttEncodingASCII DwarfAttEncoding = 0x12 // DW_ATE_ASCII
)

DWARF attribute type encodings.

From include/llvm/BinaryFormat/Dwarf.def

func (DwarfAttEncoding) IsDIExpressionField

func (DwarfAttEncoding) IsDIExpressionField()

IsDIExpressionField ensures that only DIExpression fields can be assigned to the metadata.DIExpressionField interface.

func (DwarfAttEncoding) String

func (i DwarfAttEncoding) String() string

type DwarfCC

type DwarfCC int64

DwarfCC is a DWARF calling convention.

const (
	DwarfCCNormal  DwarfCC = 0x01 // DW_CC_normal
	DwarfCCProgram DwarfCC = 0x02 // DW_CC_program
	DwarfCCNoCall  DwarfCC = 0x03 // DW_CC_nocall
	// DWARF v5.
	DwarfCCPassByReference DwarfCC = 0x04 // DW_CC_pass_by_reference
	DwarfCCPassByValue     DwarfCC = 0x05 // DW_CC_pass_by_value
	// Vendor extensions.
	DwarfCCGNUBorlandFastcallI386 DwarfCC = 0x41 // DW_CC_GNU_borland_fastcall_i386
	DwarfCCBORLANDSafecall        DwarfCC = 0xB0 // DW_CC_BORLAND_safecall
	DwarfCCBORLANDStdcall         DwarfCC = 0xB1 // DW_CC_BORLAND_stdcall
	DwarfCCBORLANDPascal          DwarfCC = 0xB2 // DW_CC_BORLAND_pascal
	DwarfCCBORLANDMSFastcall      DwarfCC = 0xB3 // DW_CC_BORLAND_msfastcall
	DwarfCCBORLANDMSReturn        DwarfCC = 0xB4 // DW_CC_BORLAND_msreturn
	DwarfCCBORLANDThiscall        DwarfCC = 0xB5 // DW_CC_BORLAND_thiscall
	DwarfCCBORLANDFastcall        DwarfCC = 0xB6 // DW_CC_BORLAND_fastcall
	DwarfCCLLVMVectorcall         DwarfCC = 0xC0 // DW_CC_LLVM_vectorcall
)

DWARF calling conventions.

func (DwarfCC) String

func (i DwarfCC) String() string

type DwarfLang

type DwarfLang int64

DwarfLang is a DWARF language.

const (
	// DWARF v2.
	DwarfLangC89       DwarfLang = 0x0001 // DW_LANG_C89
	DwarfLangC         DwarfLang = 0x0002 // DW_LANG_C
	DwarfLangAda83     DwarfLang = 0x0003 // DW_LANG_Ada83
	DwarfLangCPlusPlus DwarfLang = 0x0004 // DW_LANG_C_plus_plus
	DwarfLangCobol74   DwarfLang = 0x0005 // DW_LANG_Cobol74
	DwarfLangCobol85   DwarfLang = 0x0006 // DW_LANG_Cobol85
	DwarfLangFortran77 DwarfLang = 0x0007 // DW_LANG_Fortran77
	DwarfLangFortran90 DwarfLang = 0x0008 // DW_LANG_Fortran90
	DwarfLangPascal83  DwarfLang = 0x0009 // DW_LANG_Pascal83
	DwarfLangModula2   DwarfLang = 0x000A // DW_LANG_Modula2
	// DWARF v3.
	DwarfLangJava         DwarfLang = 0x000B // DW_LANG_Java
	DwarfLangC99          DwarfLang = 0x000C // DW_LANG_C99
	DwarfLangAda95        DwarfLang = 0x000D // DW_LANG_Ada95
	DwarfLangFortran95    DwarfLang = 0x000E // DW_LANG_Fortran95
	DwarfLangPLI          DwarfLang = 0x000F // DW_LANG_PLI
	DwarfLangObjC         DwarfLang = 0x0010 // DW_LANG_ObjC
	DwarfLangObjCPlusPlus DwarfLang = 0x0011 // DW_LANG_ObjC_plus_plus
	DwarfLangUPC          DwarfLang = 0x0012 // DW_LANG_UPC
	DwarfLangD            DwarfLang = 0x0013 // DW_LANG_D
	// DWARF v4.
	DwarfLangPython DwarfLang = 0x0014 // DW_LANG_Python
	// DWARF v5.
	DwarfLangOpenCL       DwarfLang = 0x0015 // DW_LANG_OpenCL
	DwarfLangGo           DwarfLang = 0x0016 // DW_LANG_Go
	DwarfLangModula3      DwarfLang = 0x0017 // DW_LANG_Modula3
	DwarfLangHaskell      DwarfLang = 0x0018 // DW_LANG_Haskell
	DwarfLangCPlusPlus03  DwarfLang = 0x0019 // DW_LANG_C_plus_plus_03
	DwarfLangCPlusPlus11  DwarfLang = 0x001A // DW_LANG_C_plus_plus_11
	DwarfLangOCaml        DwarfLang = 0x001B // DW_LANG_OCaml
	DwarfLangRust         DwarfLang = 0x001C // DW_LANG_Rust
	DwarfLangC11          DwarfLang = 0x001D // DW_LANG_C11
	DwarfLangSwift        DwarfLang = 0x001E // DW_LANG_Swift
	DwarfLangJulia        DwarfLang = 0x001F // DW_LANG_Julia
	DwarfLangDylan        DwarfLang = 0x0020 // DW_LANG_Dylan
	DwarfLangCPlusPlus14  DwarfLang = 0x0021 // DW_LANG_C_plus_plus_14
	DwarfLangFortran03    DwarfLang = 0x0022 // DW_LANG_Fortran03
	DwarfLangFortran08    DwarfLang = 0x0023 // DW_LANG_Fortran08
	DwarfLangRenderScript DwarfLang = 0x0024 // DW_LANG_RenderScript
	DwarfLangBLISS        DwarfLang = 0x0025 // DW_LANG_BLISS
	// Vendor extensions.
	DwarfLangMipsAssembler      DwarfLang = 0x8001 // DW_LANG_Mips_Assembler
	DwarfLangGoogleRenderScript DwarfLang = 0x8E57 // DW_LANG_GOOGLE_RenderScript
	DwarfLangBorlandDelphi      DwarfLang = 0xB000 // DW_LANG_BORLAND_Delphi
)

DWARF languages.

From include/llvm/BinaryFormat/Dwarf.def

func (DwarfLang) String

func (i DwarfLang) String() string

type DwarfMacinfo

type DwarfMacinfo int64

DwarfMacinfo is a macinfo type encoding.

const (
	DwarfMacinfoDefine    DwarfMacinfo = 0x01 // DW_MACINFO_define
	DwarfMacinfoUndef     DwarfMacinfo = 0x02 // DW_MACINFO_undef
	DwarfMacinfoStartFile DwarfMacinfo = 0x03 // DW_MACINFO_start_file
	DwarfMacinfoEndFile   DwarfMacinfo = 0x04 // DW_MACINFO_end_file
	DwarfMacinfoVendorExt DwarfMacinfo = 0xFF // DW_MACINFO_vendor_ext
)

Macinfo type encodings.

From llvm/BinaryFormat/Dwarf.h

func (DwarfMacinfo) String

func (i DwarfMacinfo) String() string

type DwarfOp

type DwarfOp int64

DwarfOp is a DWARF expression operator.

const (
	// DWARF v2.
	DwarfOpAddr       DwarfOp = 0x03 // DW_OP_addr
	DwarfOpDeref      DwarfOp = 0x06 // DW_OP_deref
	DwarfOpConst1u    DwarfOp = 0x08 // DW_OP_const1u
	DwarfOpConst1s    DwarfOp = 0x09 // DW_OP_const1s
	DwarfOpConst2u    DwarfOp = 0x0A // DW_OP_const2u
	DwarfOpConst2s    DwarfOp = 0x0B // DW_OP_const2s
	DwarfOpConst4u    DwarfOp = 0x0C // DW_OP_const4u
	DwarfOpConst4s    DwarfOp = 0x0D // DW_OP_const4s
	DwarfOpConst8u    DwarfOp = 0x0E // DW_OP_const8u
	DwarfOpConst8s    DwarfOp = 0x0F // DW_OP_const8s
	DwarfOpConstu     DwarfOp = 0x10 // DW_OP_constu
	DwarfOpConsts     DwarfOp = 0x11 // DW_OP_consts
	DwarfOpDup        DwarfOp = 0x12 // DW_OP_dup
	DwarfOpDrop       DwarfOp = 0x13 // DW_OP_drop
	DwarfOpOver       DwarfOp = 0x14 // DW_OP_over
	DwarfOpPick       DwarfOp = 0x15 // DW_OP_pick
	DwarfOpSwap       DwarfOp = 0x16 // DW_OP_swap
	DwarfOpRot        DwarfOp = 0x17 // DW_OP_rot
	DwarfOpXderef     DwarfOp = 0x18 // DW_OP_xderef
	DwarfOpAbs        DwarfOp = 0x19 // DW_OP_abs
	DwarfOpAnd        DwarfOp = 0x1A // DW_OP_and
	DwarfOpDiv        DwarfOp = 0x1B // DW_OP_div
	DwarfOpMinus      DwarfOp = 0x1C // DW_OP_minus
	DwarfOpMod        DwarfOp = 0x1D // DW_OP_mod
	DwarfOpMul        DwarfOp = 0x1E // DW_OP_mul
	DwarfOpNeg        DwarfOp = 0x1F // DW_OP_neg
	DwarfOpNot        DwarfOp = 0x20 // DW_OP_not
	DwarfOpOr         DwarfOp = 0x21 // DW_OP_or
	DwarfOpPlus       DwarfOp = 0x22 // DW_OP_plus
	DwarfOpPlusUconst DwarfOp = 0x23 // DW_OP_plus_uconst
	DwarfOpShl        DwarfOp = 0x24 // DW_OP_shl
	DwarfOpShr        DwarfOp = 0x25 // DW_OP_shr
	DwarfOpShra       DwarfOp = 0x26 // DW_OP_shra
	DwarfOpXor        DwarfOp = 0x27 // DW_OP_xor
	DwarfOpBra        DwarfOp = 0x28 // DW_OP_bra
	DwarfOpEq         DwarfOp = 0x29 // DW_OP_eq
	DwarfOpGe         DwarfOp = 0x2A // DW_OP_ge
	DwarfOpGt         DwarfOp = 0x2B // DW_OP_gt
	DwarfOpLe         DwarfOp = 0x2C // DW_OP_le
	DwarfOpLt         DwarfOp = 0x2D // DW_OP_lt
	DwarfOpNe         DwarfOp = 0x2E // DW_OP_ne
	DwarfOpSkip       DwarfOp = 0x2F // DW_OP_skip
	DwarfOpLit0       DwarfOp = 0x30 // DW_OP_lit0
	DwarfOpLit1       DwarfOp = 0x31 // DW_OP_lit1
	DwarfOpLit2       DwarfOp = 0x32 // DW_OP_lit2
	DwarfOpLit3       DwarfOp = 0x33 // DW_OP_lit3
	DwarfOpLit4       DwarfOp = 0x34 // DW_OP_lit4
	DwarfOpLit5       DwarfOp = 0x35 // DW_OP_lit5
	DwarfOpLit6       DwarfOp = 0x36 // DW_OP_lit6
	DwarfOpLit7       DwarfOp = 0x37 // DW_OP_lit7
	DwarfOpLit8       DwarfOp = 0x38 // DW_OP_lit8
	DwarfOpLit9       DwarfOp = 0x39 // DW_OP_lit9
	DwarfOpLit10      DwarfOp = 0x3A // DW_OP_lit10
	DwarfOpLit11      DwarfOp = 0x3B // DW_OP_lit11
	DwarfOpLit12      DwarfOp = 0x3C // DW_OP_lit12
	DwarfOpLit13      DwarfOp = 0x3D // DW_OP_lit13
	DwarfOpLit14      DwarfOp = 0x3E // DW_OP_lit14
	DwarfOpLit15      DwarfOp = 0x3F // DW_OP_lit15
	DwarfOpLit16      DwarfOp = 0x40 // DW_OP_lit16
	DwarfOpLit17      DwarfOp = 0x41 // DW_OP_lit17
	DwarfOpLit18      DwarfOp = 0x42 // DW_OP_lit18
	DwarfOpLit19      DwarfOp = 0x43 // DW_OP_lit19
	DwarfOpLit20      DwarfOp = 0x44 // DW_OP_lit20
	DwarfOpLit21      DwarfOp = 0x45 // DW_OP_lit21
	DwarfOpLit22      DwarfOp = 0x46 // DW_OP_lit22
	DwarfOpLit23      DwarfOp = 0x47 // DW_OP_lit23
	DwarfOpLit24      DwarfOp = 0x48 // DW_OP_lit24
	DwarfOpLit25      DwarfOp = 0x49 // DW_OP_lit25
	DwarfOpLit26      DwarfOp = 0x4A // DW_OP_lit26
	DwarfOpLit27      DwarfOp = 0x4B // DW_OP_lit27
	DwarfOpLit28      DwarfOp = 0x4C // DW_OP_lit28
	DwarfOpLit29      DwarfOp = 0x4D // DW_OP_lit29
	DwarfOpLit30      DwarfOp = 0x4E // DW_OP_lit30
	DwarfOpLit31      DwarfOp = 0x4F // DW_OP_lit31
	DwarfOpReg0       DwarfOp = 0x50 // DW_OP_reg0
	DwarfOpReg1       DwarfOp = 0x51 // DW_OP_reg1
	DwarfOpReg2       DwarfOp = 0x52 // DW_OP_reg2
	DwarfOpReg3       DwarfOp = 0x53 // DW_OP_reg3
	DwarfOpReg4       DwarfOp = 0x54 // DW_OP_reg4
	DwarfOpReg5       DwarfOp = 0x55 // DW_OP_reg5
	DwarfOpReg6       DwarfOp = 0x56 // DW_OP_reg6
	DwarfOpReg7       DwarfOp = 0x57 // DW_OP_reg7
	DwarfOpReg8       DwarfOp = 0x58 // DW_OP_reg8
	DwarfOpReg9       DwarfOp = 0x59 // DW_OP_reg9
	DwarfOpReg10      DwarfOp = 0x5A // DW_OP_reg10
	DwarfOpReg11      DwarfOp = 0x5B // DW_OP_reg11
	DwarfOpReg12      DwarfOp = 0x5C // DW_OP_reg12
	DwarfOpReg13      DwarfOp = 0x5D // DW_OP_reg13
	DwarfOpReg14      DwarfOp = 0x5E // DW_OP_reg14
	DwarfOpReg15      DwarfOp = 0x5F // DW_OP_reg15
	DwarfOpReg16      DwarfOp = 0x60 // DW_OP_reg16
	DwarfOpReg17      DwarfOp = 0x61 // DW_OP_reg17
	DwarfOpReg18      DwarfOp = 0x62 // DW_OP_reg18
	DwarfOpReg19      DwarfOp = 0x63 // DW_OP_reg19
	DwarfOpReg20      DwarfOp = 0x64 // DW_OP_reg20
	DwarfOpReg21      DwarfOp = 0x65 // DW_OP_reg21
	DwarfOpReg22      DwarfOp = 0x66 // DW_OP_reg22
	DwarfOpReg23      DwarfOp = 0x67 // DW_OP_reg23
	DwarfOpReg24      DwarfOp = 0x68 // DW_OP_reg24
	DwarfOpReg25      DwarfOp = 0x69 // DW_OP_reg25
	DwarfOpReg26      DwarfOp = 0x6A // DW_OP_reg26
	DwarfOpReg27      DwarfOp = 0x6B // DW_OP_reg27
	DwarfOpReg28      DwarfOp = 0x6C // DW_OP_reg28
	DwarfOpReg29      DwarfOp = 0x6D // DW_OP_reg29
	DwarfOpReg30      DwarfOp = 0x6E // DW_OP_reg30
	DwarfOpReg31      DwarfOp = 0x6F // DW_OP_reg31
	DwarfOpBreg0      DwarfOp = 0x70 // DW_OP_breg0
	DwarfOpBreg1      DwarfOp = 0x71 // DW_OP_breg1
	DwarfOpBreg2      DwarfOp = 0x72 // DW_OP_breg2
	DwarfOpBreg3      DwarfOp = 0x73 // DW_OP_breg3
	DwarfOpBreg4      DwarfOp = 0x74 // DW_OP_breg4
	DwarfOpBreg5      DwarfOp = 0x75 // DW_OP_breg5
	DwarfOpBreg6      DwarfOp = 0x76 // DW_OP_breg6
	DwarfOpBreg7      DwarfOp = 0x77 // DW_OP_breg7
	DwarfOpBreg8      DwarfOp = 0x78 // DW_OP_breg8
	DwarfOpBreg9      DwarfOp = 0x79 // DW_OP_breg9
	DwarfOpBreg10     DwarfOp = 0x7A // DW_OP_breg10
	DwarfOpBreg11     DwarfOp = 0x7B // DW_OP_breg11
	DwarfOpBreg12     DwarfOp = 0x7C // DW_OP_breg12
	DwarfOpBreg13     DwarfOp = 0x7D // DW_OP_breg13
	DwarfOpBreg14     DwarfOp = 0x7E // DW_OP_breg14
	DwarfOpBreg15     DwarfOp = 0x7F // DW_OP_breg15
	DwarfOpBreg16     DwarfOp = 0x80 // DW_OP_breg16
	DwarfOpBreg17     DwarfOp = 0x81 // DW_OP_breg17
	DwarfOpBreg18     DwarfOp = 0x82 // DW_OP_breg18
	DwarfOpBreg19     DwarfOp = 0x83 // DW_OP_breg19
	DwarfOpBreg20     DwarfOp = 0x84 // DW_OP_breg20
	DwarfOpBreg21     DwarfOp = 0x85 // DW_OP_breg21
	DwarfOpBreg22     DwarfOp = 0x86 // DW_OP_breg22
	DwarfOpBreg23     DwarfOp = 0x87 // DW_OP_breg23
	DwarfOpBreg24     DwarfOp = 0x88 // DW_OP_breg24
	DwarfOpBreg25     DwarfOp = 0x89 // DW_OP_breg25
	DwarfOpBreg26     DwarfOp = 0x8A // DW_OP_breg26
	DwarfOpBreg27     DwarfOp = 0x8B // DW_OP_breg27
	DwarfOpBreg28     DwarfOp = 0x8C // DW_OP_breg28
	DwarfOpBreg29     DwarfOp = 0x8D // DW_OP_breg29
	DwarfOpBreg30     DwarfOp = 0x8E // DW_OP_breg30
	DwarfOpBreg31     DwarfOp = 0x8F // DW_OP_breg31
	DwarfOpRegx       DwarfOp = 0x90 // DW_OP_regx
	DwarfOpFbreg      DwarfOp = 0x91 // DW_OP_fbreg
	DwarfOpBregx      DwarfOp = 0x92 // DW_OP_bregx
	DwarfOpPiece      DwarfOp = 0x93 // DW_OP_piece
	DwarfOpDerefSize  DwarfOp = 0x94 // DW_OP_deref_size
	DwarfOpXderefSize DwarfOp = 0x95 // DW_OP_xderef_size
	DwarfOpNop        DwarfOp = 0x96 // DW_OP_nop
	// DWARF v3.
	DwarfOpPushObjectAddress DwarfOp = 0x97 // DW_OP_push_object_address
	DwarfOpCall2             DwarfOp = 0x98 // DW_OP_call2
	DwarfOpCall4             DwarfOp = 0x99 // DW_OP_call4
	DwarfOpCallRef           DwarfOp = 0x9A // DW_OP_call_ref
	DwarfOpFormTLSAddress    DwarfOp = 0x9B // DW_OP_form_tls_address
	DwarfOpCallFrameCFA      DwarfOp = 0x9C // DW_OP_call_frame_cfa
	DwarfOpBitPiece          DwarfOp = 0x9D // DW_OP_bit_piece
	// DWARF v4.
	DwarfOpImplicitValue DwarfOp = 0x9E // DW_OP_implicit_value
	DwarfOpStackValue    DwarfOp = 0x9F // DW_OP_stack_value
	// DWARF v5.
	DwarfOpImplicitPointer DwarfOp = 0xA0 // DW_OP_implicit_pointer
	DwarfOpAddrx           DwarfOp = 0xA1 // DW_OP_addrx
	DwarfOpConstx          DwarfOp = 0xA2 // DW_OP_constx
	DwarfOpEntryValue      DwarfOp = 0xA3 // DW_OP_entry_value
	DwarfOpConstType       DwarfOp = 0xA4 // DW_OP_const_type
	DwarfOpRegvalType      DwarfOp = 0xA5 // DW_OP_regval_type
	DwarfOpDerefType       DwarfOp = 0xA6 // DW_OP_deref_type
	DwarfOpXderefType      DwarfOp = 0xA7 // DW_OP_xderef_type
	DwarfOpConvert         DwarfOp = 0xA8 // DW_OP_convert
	DwarfOpReinterpret     DwarfOp = 0xA9 // DW_OP_reinterpret
	// Vendor extensions.
	DwarfOpGNUPushTLSAddress DwarfOp = 0xE0 // DW_OP_GNU_push_tls_address
	DwarfOpHPIsValue         DwarfOp = 0xE1 // DW_OP_HP_is_value
	DwarfOpHPFltConst4       DwarfOp = 0xE2 // DW_OP_HP_fltconst4
	DwarfOpHPFltConst8       DwarfOp = 0xE3 // DW_OP_HP_fltconst8
	DwarfOpHPModRange        DwarfOp = 0xE4 // DW_OP_HP_mod_range
	DwarfOpHPUnmodRange      DwarfOp = 0xE5 // DW_OP_HP_unmod_range
	DwarfOpHPTLS             DwarfOp = 0xE6 // DW_OP_HP_tls
	DwarfOpIntelBitPiece     DwarfOp = 0xE8 // DW_OP_INTEL_bit_piece
	// Extensions for WebAssembly.
	DwarfOpWASMLocation    DwarfOp = 0xED // DW_OP_WASM_location
	DwarfOpWASMLocationInt DwarfOp = 0xEE // DW_OP_WASM_location_int
	// Historic and not implemented in LLVM.
	DwarfOpAppleUninit DwarfOp = 0xF0 // DW_OP_APPLE_uninit
	// The GNU entry value extension.
	DwarfOpGNUEntryValue   DwarfOp = 0xF3 // DW_OP_GNU_entry_value
	DwarfOpPGIOmpThreadNum DwarfOp = 0xF8 // DW_OP_PGI_omp_thread_num
	// Extensions for Fission proposal.
	DwarfOpGNUAddrIndex  DwarfOp = 0xFB // DW_OP_GNU_addr_index
	DwarfOpGNUConstIndex DwarfOp = 0xFC // DW_OP_GNU_const_index
	// Only used in LLVM metadata.
	DwarfOpLLVMFragment        DwarfOp = 0x1000 // DW_OP_LLVM_fragment
	DwarfOpLLVMConvert         DwarfOp = 0x1001 // DW_OP_LLVM_convert
	DwarfOpLLVMTagOffset       DwarfOp = 0x1002 // DW_OP_LLVM_tag_offset
	DwarfOpLLVMEntryValue      DwarfOp = 0x1003 // DW_OP_LLVM_entry_value
	DwarfOpLLVMImplicitPointer DwarfOp = 0x1004 // DW_OP_LLVM_implicit_pointer
	DwarfOpLLVMArg             DwarfOp = 0x1005 // DW_OP_LLVM_arg
)

DWARF expression operators.

From include/llvm/BinaryFormat/Dwarf.def (LLVM 13.0) From include/llvm/BinaryFormat/Dwarf.h (LLVM 13.0)

func (DwarfOp) IsDIExpressionField

func (DwarfOp) IsDIExpressionField()

IsDIExpressionField ensures that only DIExpression fields can be assigned to the metadata.DIExpressionField interface.

func (DwarfOp) String

func (i DwarfOp) String() string

type DwarfTag

type DwarfTag int64

DwarfTag is a DWARF tag.

const (
	// DWARF v2.
	DwarfTagNull                   DwarfTag = 0x0000 // DW_TAG_null
	DwarfTagArrayType              DwarfTag = 0x0001 // DW_TAG_array_type
	DwarfTagClassType              DwarfTag = 0x0002 // DW_TAG_class_type
	DwarfTagEntryPoint             DwarfTag = 0x0003 // DW_TAG_entry_point
	DwarfTagEnumerationType        DwarfTag = 0x0004 // DW_TAG_enumeration_type
	DwarfTagFormalParameter        DwarfTag = 0x0005 // DW_TAG_formal_parameter
	DwarfTagImportedDeclaration    DwarfTag = 0x0008 // DW_TAG_imported_declaration
	DwarfTagLabel                  DwarfTag = 0x000A // DW_TAG_label
	DwarfTagLexicalBlock           DwarfTag = 0x000B // DW_TAG_lexical_block
	DwarfTagMember                 DwarfTag = 0x000D // DW_TAG_member
	DwarfTagPointerType            DwarfTag = 0x000F // DW_TAG_pointer_type
	DwarfTagReferenceType          DwarfTag = 0x0010 // DW_TAG_reference_type
	DwarfTagCompileUnit            DwarfTag = 0x0011 // DW_TAG_compile_unit
	DwarfTagStringType             DwarfTag = 0x0012 // DW_TAG_string_type
	DwarfTagStructureType          DwarfTag = 0x0013 // DW_TAG_structure_type
	DwarfTagSubroutineType         DwarfTag = 0x0015 // DW_TAG_subroutine_type
	DwarfTagTypedef                DwarfTag = 0x0016 // DW_TAG_typedef
	DwarfTagUnionType              DwarfTag = 0x0017 // DW_TAG_union_type
	DwarfTagUnspecifiedParameters  DwarfTag = 0x0018 // DW_TAG_unspecified_parameters
	DwarfTagVariant                DwarfTag = 0x0019 // DW_TAG_variant
	DwarfTagCommonBlock            DwarfTag = 0x001A // DW_TAG_common_block
	DwarfTagCommonInclusion        DwarfTag = 0x001B // DW_TAG_common_inclusion
	DwarfTagInheritance            DwarfTag = 0x001C // DW_TAG_inheritance
	DwarfTagInlinedSubroutine      DwarfTag = 0x001D // DW_TAG_inlined_subroutine
	DwarfTagModule                 DwarfTag = 0x001E // DW_TAG_module
	DwarfTagPtrToMemberType        DwarfTag = 0x001F // DW_TAG_ptr_to_member_type
	DwarfTagSetType                DwarfTag = 0x0020 // DW_TAG_set_type
	DwarfTagSubrangeType           DwarfTag = 0x0021 // DW_TAG_subrange_type
	DwarfTagWithStmt               DwarfTag = 0x0022 // DW_TAG_with_stmt
	DwarfTagAccessDeclaration      DwarfTag = 0x0023 // DW_TAG_access_declaration
	DwarfTagBaseType               DwarfTag = 0x0024 // DW_TAG_base_type
	DwarfTagCatchBlock             DwarfTag = 0x0025 // DW_TAG_catch_block
	DwarfTagConstType              DwarfTag = 0x0026 // DW_TAG_const_type
	DwarfTagConstant               DwarfTag = 0x0027 // DW_TAG_constant
	DwarfTagEnumerator             DwarfTag = 0x0028 // DW_TAG_enumerator
	DwarfTagFileType               DwarfTag = 0x0029 // DW_TAG_file_type
	DwarfTagFriend                 DwarfTag = 0x002A // DW_TAG_friend
	DwarfTagNamelist               DwarfTag = 0x002B // DW_TAG_namelist
	DwarfTagNamelistItem           DwarfTag = 0x002C // DW_TAG_namelist_item
	DwarfTagPackedType             DwarfTag = 0x002D // DW_TAG_packed_type
	DwarfTagSubprogram             DwarfTag = 0x002E // DW_TAG_subprogram
	DwarfTagTemplateTypeParameter  DwarfTag = 0x002F // DW_TAG_template_type_parameter
	DwarfTagTemplateValueParameter DwarfTag = 0x0030 // DW_TAG_template_value_parameter
	DwarfTagThrownType             DwarfTag = 0x0031 // DW_TAG_thrown_type
	DwarfTagTryBlock               DwarfTag = 0x0032 // DW_TAG_try_block
	DwarfTagVariantPart            DwarfTag = 0x0033 // DW_TAG_variant_part
	DwarfTagVariable               DwarfTag = 0x0034 // DW_TAG_variable
	DwarfTagVolatileType           DwarfTag = 0x0035 // DW_TAG_volatile_type
	// DWARF v3.
	DwarfTagDwarfProcedure  DwarfTag = 0x0036 // DW_TAG_dwarf_procedure
	DwarfTagRestrictType    DwarfTag = 0x0037 // DW_TAG_restrict_type
	DwarfTagInterfaceType   DwarfTag = 0x0038 // DW_TAG_interface_type
	DwarfTagNamespace       DwarfTag = 0x0039 // DW_TAG_namespace
	DwarfTagImportedModule  DwarfTag = 0x003A // DW_TAG_imported_module
	DwarfTagUnspecifiedType DwarfTag = 0x003B // DW_TAG_unspecified_type
	DwarfTagPartialUnit     DwarfTag = 0x003C // DW_TAG_partial_unit
	DwarfTagImportedUnit    DwarfTag = 0x003D // DW_TAG_imported_unit
	DwarfTagCondition       DwarfTag = 0x003F // DW_TAG_condition
	DwarfTagSharedType      DwarfTag = 0x0040 // DW_TAG_shared_type
	// DWARF v4.
	DwarfTagTypeUnit            DwarfTag = 0x0041 // DW_TAG_type_unit
	DwarfTagRvalueReferenceType DwarfTag = 0x0042 // DW_TAG_rvalue_reference_type
	DwarfTagTemplateAlias       DwarfTag = 0x0043 // DW_TAG_template_alias
	// DWARF v5.
	DwarfTagCoarrayType       DwarfTag = 0x0044 // DW_TAG_coarray_type
	DwarfTagGenericSubrange   DwarfTag = 0x0045 // DW_TAG_generic_subrange
	DwarfTagDynamicType       DwarfTag = 0x0046 // DW_TAG_dynamic_type
	DwarfTagAtomicType        DwarfTag = 0x0047 // DW_TAG_atomic_type
	DwarfTagCallSite          DwarfTag = 0x0048 // DW_TAG_call_site
	DwarfTagCallSiteParameter DwarfTag = 0x0049 // DW_TAG_call_site_parameter
	DwarfTagSkeletonUnit      DwarfTag = 0x004A // DW_TAG_skeleton_unit
	DwarfTagImmutableType     DwarfTag = 0x004B // DW_TAG_immutable_type
	// Vendor extensions.
	DwarfTagMIPSLoop                  DwarfTag = 0x4081 // DW_TAG_MIPS_loop
	DwarfTagFormatLabel               DwarfTag = 0x4101 // DW_TAG_format_label
	DwarfTagFunctionTemplate          DwarfTag = 0x4102 // DW_TAG_function_template
	DwarfTagClassTemplate             DwarfTag = 0x4103 // DW_TAG_class_template
	DwarfTagGNUTemplateTemplateParam  DwarfTag = 0x4106 // DW_TAG_GNU_template_template_param
	DwarfTagGNUTemplateParameterPack  DwarfTag = 0x4107 // DW_TAG_GNU_template_parameter_pack
	DwarfTagGNUFormalParameterPack    DwarfTag = 0x4108 // DW_TAG_GNU_formal_parameter_pack
	DwarfTagGNUCallSite               DwarfTag = 0x4109 // DW_TAG_GNU_call_site
	DwarfTagGNUCallSiteParameter      DwarfTag = 0x410A // DW_TAG_GNU_call_site_parameter
	DwarfTagAPPLEProperty             DwarfTag = 0x4200 // DW_TAG_APPLE_property
	DwarfTagBORLANDProperty           DwarfTag = 0xB000 // DW_TAG_BORLAND_property
	DwarfTagBORLANDDelphiString       DwarfTag = 0xB001 // DW_TAG_BORLAND_Delphi_string
	DwarfTagBORLANDDelphiDynamicArray DwarfTag = 0xB002 // DW_TAG_BORLAND_Delphi_dynamic_array
	DwarfTagBORLANDDelphiSet          DwarfTag = 0xB003 // DW_TAG_BORLAND_Delphi_set
	DwarfTagBORLANDDelphiVariant      DwarfTag = 0xB004 // DW_TAG_BORLAND_Delphi_variant
)

DWARF tags.

From include/llvm/BinaryFormat/Dwarf.def

func (DwarfTag) String

func (i DwarfTag) String() string

type DwarfVirtuality

type DwarfVirtuality int64

DwarfVirtuality is a DWARF virtuality code.

const (
	DwarfVirtualityNone        DwarfVirtuality = 0x00 // DW_VIRTUALITY_none
	DwarfVirtualityVirtual     DwarfVirtuality = 0x01 // DW_VIRTUALITY_virtual
	DwarfVirtualityPureVirtual DwarfVirtuality = 0x02 // DW_VIRTUALITY_pure_virtual
)

DWARF virtuality codes.

func (DwarfVirtuality) String

func (i DwarfVirtuality) String() string

type EmissionKind

type EmissionKind int64

EmissionKind specifies the debug emission kind.

const (
	EmissionKindNoDebug             EmissionKind = 0 // NoDebug
	EmissionKindFullDebug           EmissionKind = 1 // FullDebug
	EmissionKindLineTablesOnly      EmissionKind = 2 // LineTablesOnly
	EmissionKindDebugDirectivesOnly EmissionKind = 3 // DebugDirectivesOnly
)

Debug emission kinds.

func (EmissionKind) String

func (i EmissionKind) String() string

type FPred

type FPred uint8

FPred is a floating-point comparison predicate.

const (
	FPredFalse FPred = iota // false
	FPredOEQ                // oeq
	FPredOGE                // oge
	FPredOGT                // ogt
	FPredOLE                // ole
	FPredOLT                // olt
	FPredONE                // one
	FPredORD                // ord
	FPredTrue               // true
	FPredUEQ                // ueq
	FPredUGE                // uge
	FPredUGT                // ugt
	FPredULE                // ule
	FPredULT                // ult
	FPredUNE                // une
	FPredUNO                // uno
)

Floating-point predicates.

func (FPred) String

func (i FPred) String() string

type FastMathFlag

type FastMathFlag uint8

FastMathFlag is a fast-math flag.

const (
	FastMathFlagAFn      FastMathFlag = iota // afn
	FastMathFlagARcp                         // arcp
	FastMathFlagContract                     // contract
	FastMathFlagFast                         // fast
	FastMathFlagNInf                         // ninf
	FastMathFlagNNaN                         // nnan
	FastMathFlagNSZ                          // nsz
	FastMathFlagReassoc                      // reassoc
)

Fast-math flags.

func (FastMathFlag) String

func (i FastMathFlag) String() string

type FuncAttr

type FuncAttr uint8

FuncAttr is a function attribute.

const (
	FuncAttrAlwaysInline                    FuncAttr = iota // alwaysinline
	FuncAttrArgMemOnly                                      // argmemonly
	FuncAttrBuiltin                                         // builtin
	FuncAttrCold                                            // cold
	FuncAttrConvergent                                      // convergent
	FuncAttrDisableSanitizerInstrumentation                 // disable_sanitizer_instrumentation
	FuncAttrHot                                             // hot
	FuncAttrInaccessibleMemOnly                             // inaccessiblememonly
	FuncAttrInaccessibleMemOrArgMemOnly                     // inaccessiblemem_or_argmemonly
	FuncAttrInlineHint                                      // inlinehint
	FuncAttrJumpTable                                       // jumptable
	FuncAttrMinSize                                         // minsize
	FuncAttrMustProgress                                    // mustprogress
	FuncAttrNaked                                           // naked
	FuncAttrNoBuiltin                                       // nobuiltin
	FuncAttrNoCFCheck                                       // nocf_check
	FuncAttrNoCallback                                      // nocallback
	FuncAttrNoDuplicate                                     // noduplicate
	FuncAttrNoFree                                          // nofree
	FuncAttrNoImplicitFloat                                 // noimplicitfloat
	FuncAttrNoInline                                        // noinline
	FuncAttrNoMerge                                         // nomerge
	FuncAttrNoProfile                                       // noprofile
	FuncAttrNoRecurse                                       // norecurse
	FuncAttrNoRedZone                                       // noredzone
	FuncAttrNoReturn                                        // noreturn
	FuncAttrNoSanitizeCoverage                              // nosanitize_coverage
	FuncAttrNoSync                                          // nosync
	FuncAttrNoUnwind                                        // nounwind
	FuncAttrNonLazyBind                                     // nonlazybind
	FuncAttrNullPointerIsValid                              // null_pointer_is_valid
	FuncAttrOptForFuzzing                                   // optforfuzzing
	FuncAttrOptNone                                         // optnone
	FuncAttrOptSize                                         // optsize
	FuncAttrReadNone                                        // readnone
	FuncAttrReadOnly                                        // readonly
	FuncAttrReturnsTwice                                    // returns_twice
	FuncAttrSSP                                             // ssp
	FuncAttrSSPReq                                          // sspreq
	FuncAttrSSPStrong                                       // sspstrong
	FuncAttrSafeStack                                       // safestack
	FuncAttrSanitizeAddress                                 // sanitize_address
	FuncAttrSanitizeHWAddress                               // sanitize_hwaddress
	FuncAttrSanitizeMemTag                                  // sanitize_memtag
	FuncAttrSanitizeMemory                                  // sanitize_memory
	FuncAttrSanitizeThread                                  // sanitize_thread
	FuncAttrShadowCallStack                                 // shadowcallstack
	FuncAttrSpeculatable                                    // speculatable
	FuncAttrSpeculativeLoadHardening                        // speculative_load_hardening
	FuncAttrStrictFP                                        // strictfp
	FuncAttrUwtable                                         // uwtable
	FuncAttrWillReturn                                      // willreturn
	FuncAttrWriteOnly                                       // writeonly
)

Function attributes.

func (FuncAttr) IsFuncAttribute

func (FuncAttr) IsFuncAttribute()

IsFuncAttribute ensures that only function attributes can be assigned to the ir.FuncAttribute interface.

func (FuncAttr) String

func (i FuncAttr) String() string

type IPred

type IPred uint8

IPred is an integer comparison predicate.

const (
	IPredEQ  IPred = iota // eq
	IPredNE               // ne
	IPredSGE              // sge
	IPredSGT              // sgt
	IPredSLE              // sle
	IPredSLT              // slt
	IPredUGE              // uge
	IPredUGT              // ugt
	IPredULE              // ule
	IPredULT              // ult
)

Integer predicates.

func (IPred) String

func (i IPred) String() string

type Linkage

type Linkage uint8

Linkage specifies the linkage of a global identifier.

const (
	LinkageNone                Linkage = iota // none
	LinkageAppending                          // appending
	LinkageAvailableExternally                // available_externally
	LinkageCommon                             // common
	LinkageInternal                           // internal
	LinkageLinkOnce                           // linkonce
	LinkageLinkOnceODR                        // linkonce_odr
	LinkagePrivate                            // private
	LinkageWeak                               // weak
	LinkageWeakODR                            // weak_odr
	// External linkage.
	LinkageExternal   // external
	LinkageExternWeak // extern_weak
)

Linkage kinds.

func (Linkage) String

func (i Linkage) String() string

type NameTableKind

type NameTableKind uint8

NameTableKind is a name table specifier.

const (
	NameTableKindDefault NameTableKind = 0 // Default
	NameTableKindGNU     NameTableKind = 1 // GNU
	NameTableKindNone    NameTableKind = 2 // None
)

Name table kinds.

From include/llvm/IR/DebugInfoMetadata.h

func (NameTableKind) String

func (i NameTableKind) String() string

type OverflowFlag

type OverflowFlag uint8

OverflowFlag is an integer overflow flag.

const (
	OverflowFlagNSW OverflowFlag = iota // nsw
	OverflowFlagNUW                     // nuw
)

Overflow flags.

func (OverflowFlag) String

func (i OverflowFlag) String() string

type ParamAttr

type ParamAttr uint8

ParamAttr is a parameter attribute.

const (
	ParamAttrImmArg     ParamAttr = iota // immarg
	ParamAttrInReg                       // inreg
	ParamAttrNest                        // nest
	ParamAttrNoAlias                     // noalias
	ParamAttrNoCapture                   // nocapture
	ParamAttrNoFree                      // nofree
	ParamAttrNonNull                     // nonnull
	ParamAttrNoUndef                     // noundef
	ParamAttrReadNone                    // readnone
	ParamAttrReadOnly                    // readonly
	ParamAttrReturned                    // returned
	ParamAttrSignExt                     // signext
	ParamAttrSwiftAsync                  // swiftasync
	ParamAttrSwiftError                  // swifterror
	ParamAttrSwiftSelf                   // swiftself
	ParamAttrWriteOnly                   // writeonly
	ParamAttrZeroExt                     // zeroext
)

Parameter attributes.

func (ParamAttr) IsParamAttribute

func (ParamAttr) IsParamAttribute()

IsParamAttribute ensures that only parameter attributes can be assigned to the ir.ParamAttribute interface.

func (ParamAttr) String

func (i ParamAttr) String() string

type Preemption

type Preemption uint8

Preemption specifies the preemtion of a global identifier.

const (
	PreemptionNone               Preemption = iota // none
	PreemptionDSOLocal                             // dso_local
	PreemptionDSOLocalEquivalent                   // dso_local_equivalent
	PreemptionDSOPreemptable                       // dso_preemptable
)

Preemption kinds.

func (Preemption) String

func (i Preemption) String() string

type ReturnAttr

type ReturnAttr uint8

ReturnAttr is a return argument attribute.

const (
	ReturnAttrInReg   ReturnAttr = iota // inreg
	ReturnAttrNoAlias                   // noalias
	ReturnAttrNonNull                   // nonnull
	ReturnAttrNoUndef                   // noundef
	ReturnAttrSignExt                   // signext
	ReturnAttrZeroExt                   // zeroext
)

Return argument attributes.

func (ReturnAttr) IsReturnAttribute

func (ReturnAttr) IsReturnAttribute()

IsReturnAttribute ensures that only return attributes can be assigned to the ir.ReturnAttribute interface.

func (ReturnAttr) String

func (i ReturnAttr) String() string

type SelectionKind

type SelectionKind uint8

SelectionKind is a Comdat selection kind.

const (
	SelectionKindAny           SelectionKind = iota // any
	SelectionKindExactMatch                         // exactmatch
	SelectionKindLargest                            // largest
	SelectionKindNoDeduplicate                      // nodeduplicate
	SelectionKindSameSize                           // samesize
)

Comdat selection kinds.

func (SelectionKind) String

func (i SelectionKind) String() string

type TLSModel

type TLSModel uint8

TLSModel is a thread local storage model.

const (
	TLSModelNone TLSModel = iota // none
	// If no explicit model is given, the "general dynamic" model is used.
	TLSModelGeneric      // generic
	TLSModelInitialExec  // initialexec
	TLSModelLocalDynamic // localdynamic
	TLSModelLocalExec    // localexec
)

Thread local storage models.

func (TLSModel) String

func (i TLSModel) String() string

type Tail

type Tail uint8

Tail is a tail call attribute.

const (
	TailNone     Tail = iota // none
	TailMustTail             // musttail
	TailNoTail               // notail
	TailTail                 // tail
)

Tail call attributes.

func (Tail) String

func (i Tail) String() string

type UnnamedAddr

type UnnamedAddr uint8

UnnamedAddr specifies whether the address is significant.

const (
	UnnamedAddrNone             UnnamedAddr = iota // none
	UnnamedAddrLocalUnnamedAddr                    // local_unnamed_addr
	UnnamedAddrUnnamedAddr                         // unnamed_addr
)

Unnamed address specifiers.

func (UnnamedAddr) String

func (i UnnamedAddr) String() string

type Visibility

type Visibility uint8

Visibility specifies the visibility of a global identifier.

const (
	VisibilityNone      Visibility = iota // none
	VisibilityDefault                     // default
	VisibilityHidden                      // hidden
	VisibilityProtected                   // protected
)

Visibility kinds.

func (Visibility) String

func (i Visibility) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL