LLVM  8.0.1
Typedefs
Types and Enumerations

Typedefs

typedef int LLVMBool
 
typedef struct LLVMOpaqueMemoryBuffer * LLVMMemoryBufferRef
 LLVM uses a polymorphic type hierarchy which C cannot represent, therefore parameters must be passed as base types. More...
 
typedef struct LLVMOpaqueContext * LLVMContextRef
 The top-level container for all LLVM global data. More...
 
typedef struct LLVMOpaqueModule * LLVMModuleRef
 The top-level container for all other LLVM Intermediate Representation (IR) objects. More...
 
typedef struct LLVMOpaqueType * LLVMTypeRef
 Each value in the LLVM IR has a type, an LLVMTypeRef. More...
 
typedef struct LLVMOpaqueValue * LLVMValueRef
 Represents an individual value in LLVM IR. More...
 
typedef struct LLVMOpaqueBasicBlock * LLVMBasicBlockRef
 Represents a basic block of instructions in LLVM IR. More...
 
typedef struct LLVMOpaqueMetadata * LLVMMetadataRef
 Represents an LLVM Metadata. More...
 
typedef struct LLVMOpaqueNamedMDNode * LLVMNamedMDNodeRef
 Represents an LLVM Named Metadata Node. More...
 
typedef struct LLVMOpaqueValueMetadataEntry LLVMValueMetadataEntry
 Represents an entry in a Global Object's metadata attachments. More...
 
typedef struct LLVMOpaqueBuilder * LLVMBuilderRef
 Represents an LLVM basic block builder. More...
 
typedef struct LLVMOpaqueDIBuilder * LLVMDIBuilderRef
 Represents an LLVM debug info builder. More...
 
typedef struct LLVMOpaqueModuleProvider * LLVMModuleProviderRef
 Interface used to provide a module to JIT or interpreter. More...
 
typedef struct LLVMOpaquePassManager * LLVMPassManagerRef
 
typedef struct LLVMOpaquePassRegistry * LLVMPassRegistryRef
 
typedef struct LLVMOpaqueUse * LLVMUseRef
 Used to get the users and usees of a Value. More...
 
typedef struct LLVMOpaqueAttributeRef * LLVMAttributeRef
 Used to represent an attributes. More...
 
typedef struct LLVMOpaqueDiagnosticInfo * LLVMDiagnosticInfoRef
 
typedef struct LLVMComdat * LLVMComdatRef
 
typedef struct LLVMOpaqueModuleFlagEntry LLVMModuleFlagEntry
 
typedef struct LLVMOpaqueJITEventListener * LLVMJITEventListenerRef
 

Detailed Description

Typedef Documentation

◆ LLVMAttributeRef

typedef struct LLVMOpaqueAttributeRef* LLVMAttributeRef

Used to represent an attributes.

See also
llvm::Attribute

Definition at line 144 of file Types.h.

◆ LLVMBasicBlockRef

typedef struct LLVMOpaqueBasicBlock* LLVMBasicBlockRef

Represents a basic block of instructions in LLVM IR.

This models llvm::BasicBlock.

Definition at line 83 of file Types.h.

◆ LLVMBool

typedef int LLVMBool

Definition at line 29 of file Types.h.

◆ LLVMBuilderRef

typedef struct LLVMOpaqueBuilder* LLVMBuilderRef

Represents an LLVM basic block builder.

This models llvm::IRBuilder.

Definition at line 111 of file Types.h.

◆ LLVMComdatRef

typedef struct LLVMComdat* LLVMComdatRef
See also
llvm::Comdat

Definition at line 154 of file Types.h.

◆ LLVMContextRef

typedef struct LLVMOpaqueContext* LLVMContextRef

The top-level container for all LLVM global data.

See the LLVMContext class.

Definition at line 54 of file Types.h.

◆ LLVMDiagnosticInfoRef

typedef struct LLVMOpaqueDiagnosticInfo* LLVMDiagnosticInfoRef
See also
llvm::DiagnosticInfo

Definition at line 149 of file Types.h.

◆ LLVMDIBuilderRef

typedef struct LLVMOpaqueDIBuilder* LLVMDIBuilderRef

Represents an LLVM debug info builder.

This models llvm::DIBuilder.

Definition at line 118 of file Types.h.

◆ LLVMJITEventListenerRef

typedef struct LLVMOpaqueJITEventListener* LLVMJITEventListenerRef
See also
llvm::JITEventListener

Definition at line 164 of file Types.h.

◆ LLVMMemoryBufferRef

typedef struct LLVMOpaqueMemoryBuffer* LLVMMemoryBufferRef

LLVM uses a polymorphic type hierarchy which C cannot represent, therefore parameters must be passed as base types.

Despite the declared types, most of the functions provided operate only on branches of the type hierarchy. The declared parameter names are descriptive and specify which type is required. Additionally, each type hierarchy is documented along with the functions that operate upon it. For more detail, refer to LLVM's C++ code. If in doubt, refer to Core.cpp, which performs parameter downcasts in the form unwrap<RequiredType>(Param). Used to pass regions of memory through LLVM interfaces.

See also
llvm::MemoryBuffer

Definition at line 49 of file Types.h.

◆ LLVMMetadataRef

typedef struct LLVMOpaqueMetadata* LLVMMetadataRef

Represents an LLVM Metadata.

This models llvm::Metadata.

Definition at line 90 of file Types.h.

◆ LLVMModuleFlagEntry

See also
llvm::Module::ModuleFlagEntry

Definition at line 159 of file Types.h.

◆ LLVMModuleProviderRef

typedef struct LLVMOpaqueModuleProvider* LLVMModuleProviderRef

Interface used to provide a module to JIT or interpreter.

This is now just a synonym for llvm::Module, but we have to keep using the different type to keep binary compatibility.

Definition at line 125 of file Types.h.

◆ LLVMModuleRef

typedef struct LLVMOpaqueModule* LLVMModuleRef

The top-level container for all other LLVM Intermediate Representation (IR) objects.

See also
llvm::Module

Definition at line 62 of file Types.h.

◆ LLVMNamedMDNodeRef

typedef struct LLVMOpaqueNamedMDNode* LLVMNamedMDNodeRef

Represents an LLVM Named Metadata Node.

This models llvm::NamedMDNode.

Definition at line 97 of file Types.h.

◆ LLVMPassManagerRef

typedef struct LLVMOpaquePassManager* LLVMPassManagerRef
See also
llvm::PassManagerBase

Definition at line 128 of file Types.h.

◆ LLVMPassRegistryRef

typedef struct LLVMOpaquePassRegistry* LLVMPassRegistryRef
See also
llvm::PassRegistry

Definition at line 131 of file Types.h.

◆ LLVMTypeRef

typedef struct LLVMOpaqueType* LLVMTypeRef

Each value in the LLVM IR has a type, an LLVMTypeRef.

See also
llvm::Type

Definition at line 69 of file Types.h.

◆ LLVMUseRef

typedef struct LLVMOpaqueUse* LLVMUseRef

Used to get the users and usees of a Value.

See also
llvm::Use

Definition at line 137 of file Types.h.

◆ LLVMValueMetadataEntry

Represents an entry in a Global Object's metadata attachments.

This models std::pair<unsigned, MDNode *>

Definition at line 104 of file Types.h.

◆ LLVMValueRef

typedef struct LLVMOpaqueValue* LLVMValueRef

Represents an individual value in LLVM IR.

This models llvm::Value.

Definition at line 76 of file Types.h.