Enumerations
The following enumerations are available globally.
-
Enumerates the calling conventions supported by LLVM.
See moreDeclaration
Swift
public enum CallingConvention
-
Represents unsigned integral types and operations.
Declaration
Swift
public enum Unsigned : IntegralConstantRepresentation
-
Represents signed integral types and operations.
Declaration
Swift
public enum Signed : IntegralConstantRepresentation
-
Represents floating types and operations.
Declaration
Swift
public enum Floating : NumericalConstantRepresentation
-
Represents struct types and operations.
Declaration
Swift
public enum Struct : ConstantRepresentation
-
Represents vector types and operations.
Declaration
Swift
public enum Vector : ConstantRepresentation
-
DWARF expressions describe how to compute a value or specify a location. They are expressed in terms of DWARF operations that operate on a stack of values.
A DWARF expression is encoded as a stream of operations, each consisting of an opcode followed by zero or more literal operands.
See moreDeclaration
Swift
public enum DWARFExpression
-
Enumerates the kinds of attributes of LLVM functions and function parameters.
See moreDeclaration
Swift
public enum AttributeKind : String
-
Represents the possible indices of function attributes.
See moreDeclaration
Swift
public enum AttributeIndex : ExpressibleByIntegerLiteral, RawRepresentable
-
Enumerates the supported models of reference of thread-local variables.
These models are listed from the most general, but least optimized, to the fastest, but most restrictive in general, as architectural differences play a role in determining the access patterns for thread-local storage.
In general, support for thread-local storage in statically-linked applications is limited: some platforms may not even define the behavior of TLS in such cases. This is usually not an issue as statically-linked code only ever has one TLS block, the offset of the variables within that block is known, and support for additional dynamic loading of code in statically-linked code is limited.
Computing the thread-specific address of a TLS variable is usually a dynamic process that relies on an ABI-defined function call (usually
__tls_get_addr
) to do the heavy lifting.TLS access models fall into two classes: static and dynamic. Regardless of the actual model used, the dynamic linker must process all relocations for thread-local variables whenever the module is loaded. Some models, therefore, provide for a decrease in the overall number of relocations at a cost of restrictions on which modules can access variables.
See moreDeclaration
Swift
public enum ThreadLocalModel
-
Enumerates the kind of metadata nodes.
See moreDeclaration
Swift
public enum IRMetadataKind
-
Enumerates the kinds of values present in LLVM IR.
See moreDeclaration
Swift
public enum IRValueKind
-
JITError represents the different kinds of errors the JIT compiler can throw.
See moreDeclaration
Swift
public enum JITError : Error, CustomStringConvertible
-
See moreVisibility
enumerates available visibility styles.Declaration
Swift
public enum Visibility
-
See moreLinkage
enumerates the supported kinds of linkage for global values. All global variables and functions have a linkage.Declaration
Swift
public enum Linkage
-
See moreStorageClass
enumerates the storage classes for globals in a Portable Executable file.Declaration
Swift
public enum StorageClass
-
Enumerates values representing whether or not this global value’s address is significant in this module or the program at large. A global value’s address is considered significant if it is referenced by any module in the final program.
This attribute is intended to be used only by the code generator and LTO to allow the linker to decide whether the global needs to be in the symbol table. Constant global values with unnamed addresses and identical initializers may be merged by LLVM. Note that a global value with an unnamed address may be merged with a global value with a significant address resulting in a global value with a significant address.
See moreDeclaration
Swift
public enum UnnamedAddressKind
-
Enumerates the possible failures that can be thrown initializing a MemoryBuffer.
See moreDeclaration
Swift
public enum MemoryBufferError : Error
-
Source languages known to DWARF.
See moreDeclaration
Swift
public enum DWARFSourceLanguage
-
Enumerates the supported identifying tags for corresponding DWARF Debugging Information Entries (DIEs) known to LLVM.
See moreDeclaration
Swift
public enum DWARFTag : UInt32
-
Describes how a base type is encoded and to be interpreted by a debugger.
See moreDeclaration
Swift
public enum DIAttributeTypeEncoding
-
The amount of debug information to emit.
See moreDeclaration
Swift
public enum DWARFEmissionKind
-
Enumerates the possible failures that can be thrown initializing a MemoryBuffer.
See moreDeclaration
Swift
public enum BinaryFileError : Error
-
Enumerates the opcodes of instructions available in the LLVM IR language.
See moreDeclaration
Swift
public enum OpCode : CaseIterable
-
Species the behavior that should occur on overflow during mathematical operations.
See moreDeclaration
Swift
public enum OverflowBehavior
-
The condition codes available for integer comparison instructions.
See moreDeclaration
Swift
public enum IntPredicate
-
The condition codes available for floating comparison instructions.
See moreDeclaration
Swift
public enum RealPredicate
-
AtomicOrdering
enumerates available memory ordering semantics.Atomic instructions (
See morecmpxchg
,atomicrmw
,fence
,atomic load
, andatomic store
) take ordering parameters that determine which other atomic instructions on the same address they synchronize with. These semantics are borrowed from Java and C++0x, but are somewhat more colloquial. If these descriptions aren’t precise enough, check those specs (see spec references in the atomics guide). fence instructions treat these orderings somewhat differently since they don’t take an address. See that instruction’s documentation for details.Declaration
Swift
public enum AtomicOrdering : Comparable
-
See moreAtomicReadModifyWriteOperation
enumerates the kinds of supported atomic read-write-modify operations.Declaration
Swift
public enum AtomicReadModifyWriteOperation
-
Enumerates the dialects of inline assembly LLVM’s parsers can handle.
See moreDeclaration
Swift
public enum InlineAssemblyDialect
-
A subset of supported LLVM IR optimizer passes.
See moreDeclaration
Swift
public enum Pass
-
See moreByteOrder
enumerates the ordering semantics of sequences of bytes on a particular target architecture.Declaration
Swift
public enum ByteOrder
-
LLVM-provided high-level optimization levels.
Each level has a specific goal and rationale.
See moreDeclaration
Swift
public enum CodeGenOptLevel
-
The relocation model types supported by LLVM.
See moreDeclaration
Swift
public enum RelocationModel
-
The model that generated code should follow. Code Models enables particular styles of generated code that may be more suitable for each enumerated domain. Code Models differ in addressing (absolute versus position independent), code size, data size and address range.
Documentation of these modes paraphrases the Intel System V ABI AMD64 Architecture Processor Supplement.
See moreDeclaration
Swift
public enum CodeModel
-
The supported types of files codegen can produce.
See moreDeclaration
Swift
public enum CodegenFileType
-
Represents one of a few errors that can be thrown by a
See moreTargetMachine
Declaration
Swift
public enum TargetMachineError : Error, CustomStringConvertible