LLVM 20.0.0git
|
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. | |
typedef struct LLVMOpaqueContext * | LLVMContextRef |
The top-level container for all LLVM global data. | |
typedef struct LLVMOpaqueModule * | LLVMModuleRef |
The top-level container for all other LLVM Intermediate Representation (IR) objects. | |
typedef struct LLVMOpaqueType * | LLVMTypeRef |
Each value in the LLVM IR has a type, an LLVMTypeRef. | |
typedef struct LLVMOpaqueValue * | LLVMValueRef |
Represents an individual value in LLVM IR. | |
typedef struct LLVMOpaqueBasicBlock * | LLVMBasicBlockRef |
Represents a basic block of instructions in LLVM IR. | |
typedef struct LLVMOpaqueMetadata * | LLVMMetadataRef |
Represents an LLVM Metadata. | |
typedef struct LLVMOpaqueNamedMDNode * | LLVMNamedMDNodeRef |
Represents an LLVM Named Metadata Node. | |
typedef struct LLVMOpaqueValueMetadataEntry | LLVMValueMetadataEntry |
Represents an entry in a Global Object's metadata attachments. | |
typedef struct LLVMOpaqueBuilder * | LLVMBuilderRef |
Represents an LLVM basic block builder. | |
typedef struct LLVMOpaqueDIBuilder * | LLVMDIBuilderRef |
Represents an LLVM debug info builder. | |
typedef struct LLVMOpaqueModuleProvider * | LLVMModuleProviderRef |
Interface used to provide a module to JIT or interpreter. | |
typedef struct LLVMOpaquePassManager * | LLVMPassManagerRef |
typedef struct LLVMOpaqueUse * | LLVMUseRef |
Used to get the users and usees of a Value. | |
typedef struct LLVMOpaqueOperandBundle * | LLVMOperandBundleRef |
typedef struct LLVMOpaqueAttributeRef * | LLVMAttributeRef |
Used to represent an attributes. | |
typedef struct LLVMOpaqueDiagnosticInfo * | LLVMDiagnosticInfoRef |
typedef struct LLVMComdat * | LLVMComdatRef |
typedef struct LLVMOpaqueModuleFlagEntry | LLVMModuleFlagEntry |
typedef struct LLVMOpaqueJITEventListener * | LLVMJITEventListenerRef |
typedef struct LLVMOpaqueBinary * | LLVMBinaryRef |
typedef struct LLVMOpaqueDbgRecord * | LLVMDbgRecordRef |
typedef struct LLVMOpaqueAttributeRef* LLVMAttributeRef |
typedef struct LLVMOpaqueBasicBlock* LLVMBasicBlockRef |
Represents a basic block of instructions in LLVM IR.
This models llvm::BasicBlock.
typedef struct LLVMOpaqueBinary* LLVMBinaryRef |
typedef struct LLVMOpaqueBuilder* LLVMBuilderRef |
Represents an LLVM basic block builder.
This models llvm::IRBuilder.
typedef struct LLVMComdat* LLVMComdatRef |
typedef struct LLVMOpaqueContext* LLVMContextRef |
typedef struct LLVMOpaqueDbgRecord* LLVMDbgRecordRef |
typedef struct LLVMOpaqueDiagnosticInfo* LLVMDiagnosticInfoRef |
typedef struct LLVMOpaqueDIBuilder* LLVMDIBuilderRef |
Represents an LLVM debug info builder.
This models llvm::DIBuilder.
typedef struct LLVMOpaqueJITEventListener* LLVMJITEventListenerRef |
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.
typedef struct LLVMOpaqueMetadata* LLVMMetadataRef |
typedef struct LLVMOpaqueModuleFlagEntry LLVMModuleFlagEntry |
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.
typedef struct LLVMOpaqueModule* LLVMModuleRef |
The top-level container for all other LLVM Intermediate Representation (IR) objects.
typedef struct LLVMOpaqueNamedMDNode* LLVMNamedMDNodeRef |
Represents an LLVM Named Metadata Node.
This models llvm::NamedMDNode.
typedef struct LLVMOpaqueOperandBundle* LLVMOperandBundleRef |
typedef struct LLVMOpaquePassManager* LLVMPassManagerRef |
typedef struct LLVMOpaqueType* LLVMTypeRef |
Each value in the LLVM IR has a type, an LLVMTypeRef.
typedef struct LLVMOpaqueUse* LLVMUseRef |
typedef struct LLVMOpaqueValueMetadataEntry LLVMValueMetadataEntry |
typedef struct LLVMOpaqueValue* LLVMValueRef |
Represents an individual value in LLVM IR.
This models llvm::Value.