Project Alice
Loading...
Searching...
No Matches
Types and Enumerations

Typedefs

typedef int LLVMBool
 
typedef struct LLVMOpaqueMemoryBuffer * LLVMMemoryBufferRef
 
typedef struct LLVMOpaqueContext * LLVMContextRef
 
typedef struct LLVMOpaqueModule * LLVMModuleRef
 
typedef struct LLVMOpaqueType * LLVMTypeRef
 
typedef struct LLVMOpaqueValue * LLVMValueRef
 
typedef struct LLVMOpaqueBasicBlock * LLVMBasicBlockRef
 
typedef struct LLVMOpaqueMetadata * LLVMMetadataRef
 
typedef struct LLVMOpaqueNamedMDNode * LLVMNamedMDNodeRef
 
typedef struct LLVMOpaqueValueMetadataEntry LLVMValueMetadataEntry
 
typedef struct LLVMOpaqueBuilder * LLVMBuilderRef
 
typedef struct LLVMOpaqueDIBuilder * LLVMDIBuilderRef
 
typedef struct LLVMOpaqueModuleProvider * LLVMModuleProviderRef
 
typedef struct LLVMOpaquePassManager * LLVMPassManagerRef
 
typedef struct LLVMOpaqueUse * LLVMUseRef
 
typedef struct LLVMOpaqueOperandBundle * LLVMOperandBundleRef
 
typedef struct LLVMOpaqueAttributeRef * LLVMAttributeRef
 
typedef struct LLVMOpaqueDiagnosticInfo * LLVMDiagnosticInfoRef
 
typedef struct LLVMComdat * LLVMComdatRef
 
typedef struct LLVMOpaqueModuleFlagEntry LLVMModuleFlagEntry
 
typedef struct LLVMOpaqueJITEventListener * LLVMJITEventListenerRef
 
typedef struct LLVMOpaqueBinary * LLVMBinaryRef
 

Detailed Description

Typedef Documentation

◆ LLVMAttributeRef

typedef struct LLVMOpaqueAttributeRef* LLVMAttributeRef

Used to represent an attributes.

See also
llvm::Attribute

Definition at line 145 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 82 of file Types.h.

◆ LLVMBinaryRef

typedef struct LLVMOpaqueBinary* LLVMBinaryRef
See also
llvm::object::Binary

Definition at line 170 of file Types.h.

◆ LLVMBool

typedef int LLVMBool

Definition at line 28 of file Types.h.

◆ LLVMBuilderRef

typedef struct LLVMOpaqueBuilder* LLVMBuilderRef

Represents an LLVM basic block builder.

This models llvm::IRBuilder.

Definition at line 110 of file Types.h.

◆ LLVMComdatRef

typedef struct LLVMComdat* LLVMComdatRef
See also
llvm::Comdat

Definition at line 155 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 53 of file Types.h.

◆ LLVMDiagnosticInfoRef

typedef struct LLVMOpaqueDiagnosticInfo* LLVMDiagnosticInfoRef
See also
llvm::DiagnosticInfo

Definition at line 150 of file Types.h.

◆ LLVMDIBuilderRef

typedef struct LLVMOpaqueDIBuilder* LLVMDIBuilderRef

Represents an LLVM debug info builder.

This models llvm::DIBuilder.

Definition at line 117 of file Types.h.

◆ LLVMJITEventListenerRef

typedef struct LLVMOpaqueJITEventListener* LLVMJITEventListenerRef
See also
llvm::JITEventListener

Definition at line 165 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 48 of file Types.h.

◆ LLVMMetadataRef

typedef struct LLVMOpaqueMetadata* LLVMMetadataRef

Represents an LLVM Metadata.

This models llvm::Metadata.

Definition at line 89 of file Types.h.

◆ LLVMModuleFlagEntry

typedef struct LLVMOpaqueModuleFlagEntry LLVMModuleFlagEntry
See also
llvm::Module::ModuleFlagEntry

Definition at line 160 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 124 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 61 of file Types.h.

◆ LLVMNamedMDNodeRef

typedef struct LLVMOpaqueNamedMDNode* LLVMNamedMDNodeRef

Represents an LLVM Named Metadata Node.

This models llvm::NamedMDNode.

Definition at line 96 of file Types.h.

◆ LLVMOperandBundleRef

typedef struct LLVMOpaqueOperandBundle* LLVMOperandBundleRef
See also
llvm::OperandBundleDef

Definition at line 138 of file Types.h.

◆ LLVMPassManagerRef

typedef struct LLVMOpaquePassManager* LLVMPassManagerRef
See also
llvm::PassManagerBase

Definition at line 127 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 68 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 133 of file Types.h.

◆ LLVMValueMetadataEntry

typedef struct LLVMOpaqueValueMetadataEntry LLVMValueMetadataEntry

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

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

Definition at line 103 of file Types.h.

◆ LLVMValueRef

typedef struct LLVMOpaqueValue* LLVMValueRef

Represents an individual value in LLVM IR.

This models llvm::Value.

Definition at line 75 of file Types.h.