LLVM 20.0.0git
Classes | Macros | Typedefs | Functions
Core.cpp File Reference
#include "llvm-c/Core.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/DiagnosticPrinter.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/Module.h"
#include "llvm/InitializePasses.h"
#include "llvm/PassRegistry.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Threading.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstdlib>
#include <cstring>
#include <system_error>
#include "llvm/IR/Value.def"
#include "llvm/IR/Instruction.def"

Go to the source code of this file.

Classes

struct  LLVMOpaqueModuleFlagEntry
 
struct  LLVMOpaqueValueMetadataEntry
 

Macros

#define DEBUG_TYPE   "ir"
 
#define LLVM_C_API   1
 
#define HANDLE_VALUE(Name)
 
#define LLVM_DEFINE_VALUE_CAST(name)
 
#define HANDLE_INST(num, opc, clas)   case num: return LLVM##opc;
 
#define HANDLE_INST(num, opc, clas)   case LLVM##opc: return num;
 

Typedefs

using MetadataEntries = SmallVectorImpl< std::pair< unsigned, MDNode * > >
 

Functions

BasicBlock ** unwrap (LLVMBasicBlockRef *BBs)
 
void LLVMShutdown ()
 Deallocate and destroy all ManagedStatic variables.
 
void LLVMGetVersion (unsigned *Major, unsigned *Minor, unsigned *Patch)
 Return the major, minor, and patch version of LLVM.
 
charLLVMCreateMessage (const char *Message)
 
void LLVMDisposeMessage (char *Message)
 
static LLVMContextgetGlobalContext ()
 
LLVMContextRef LLVMContextCreate ()
 Create a new context.
 
LLVMContextRef LLVMGetGlobalContext ()
 Obtain the global context instance.
 
void LLVMContextSetDiagnosticHandler (LLVMContextRef C, LLVMDiagnosticHandler Handler, void *DiagnosticContext)
 Set the diagnostic handler for this context.
 
LLVMDiagnosticHandler LLVMContextGetDiagnosticHandler (LLVMContextRef C)
 Get the diagnostic handler of this context.
 
void * LLVMContextGetDiagnosticContext (LLVMContextRef C)
 Get the diagnostic context of this context.
 
void LLVMContextSetYieldCallback (LLVMContextRef C, LLVMYieldCallback Callback, void *OpaqueHandle)
 Set the yield callback function for this context.
 
LLVMBool LLVMContextShouldDiscardValueNames (LLVMContextRef C)
 Retrieve whether the given context is set to discard all value names.
 
void LLVMContextSetDiscardValueNames (LLVMContextRef C, LLVMBool Discard)
 Set whether the given context discards all value names.
 
void LLVMContextDispose (LLVMContextRef C)
 Destroy a context instance.
 
unsigned LLVMGetMDKindIDInContext (LLVMContextRef C, const char *Name, unsigned SLen)
 
unsigned LLVMGetMDKindID (const char *Name, unsigned SLen)
 
unsigned LLVMGetSyncScopeID (LLVMContextRef C, const char *Name, size_t SLen)
 Maps a synchronization scope name to a ID unique within this context.
 
unsigned LLVMGetEnumAttributeKindForName (const char *Name, size_t SLen)
 Return an unique id given the name of a enum attribute, or 0 if no attribute by that name exists.
 
unsigned LLVMGetLastEnumAttributeKind (void)
 
LLVMAttributeRef LLVMCreateEnumAttribute (LLVMContextRef C, unsigned KindID, uint64_t Val)
 Create an enum attribute.
 
unsigned LLVMGetEnumAttributeKind (LLVMAttributeRef A)
 Get the unique id corresponding to the enum attribute passed as argument.
 
uint64_t LLVMGetEnumAttributeValue (LLVMAttributeRef A)
 Get the enum attribute's value.
 
LLVMAttributeRef LLVMCreateTypeAttribute (LLVMContextRef C, unsigned KindID, LLVMTypeRef type_ref)
 Create a type attribute.
 
LLVMTypeRef LLVMGetTypeAttributeValue (LLVMAttributeRef A)
 Get the type attribute's value.
 
LLVMAttributeRef LLVMCreateConstantRangeAttribute (LLVMContextRef C, unsigned KindID, unsigned NumBits, const uint64_t LowerWords[], const uint64_t UpperWords[])
 Create a ConstantRange attribute.
 
LLVMAttributeRef LLVMCreateStringAttribute (LLVMContextRef C, const char *K, unsigned KLength, const char *V, unsigned VLength)
 Create a string attribute.
 
const charLLVMGetStringAttributeKind (LLVMAttributeRef A, unsigned *Length)
 Get the string attribute's kind.
 
const charLLVMGetStringAttributeValue (LLVMAttributeRef A, unsigned *Length)
 Get the string attribute's value.
 
LLVMBool LLVMIsEnumAttribute (LLVMAttributeRef A)
 Check for the different types of attributes.
 
LLVMBool LLVMIsStringAttribute (LLVMAttributeRef A)
 
LLVMBool LLVMIsTypeAttribute (LLVMAttributeRef A)
 
charLLVMGetDiagInfoDescription (LLVMDiagnosticInfoRef DI)
 Return a string representation of the DiagnosticInfo.
 
LLVMDiagnosticSeverity LLVMGetDiagInfoSeverity (LLVMDiagnosticInfoRef DI)
 Return an enum LLVMDiagnosticSeverity.
 
LLVMModuleRef LLVMModuleCreateWithName (const char *ModuleID)
 Create a new, empty module in the global context.
 
LLVMModuleRef LLVMModuleCreateWithNameInContext (const char *ModuleID, LLVMContextRef C)
 Create a new, empty module in a specific context.
 
void LLVMDisposeModule (LLVMModuleRef M)
 Destroy a module instance.
 
const charLLVMGetModuleIdentifier (LLVMModuleRef M, size_t *Len)
 Obtain the identifier of a module.
 
void LLVMSetModuleIdentifier (LLVMModuleRef M, const char *Ident, size_t Len)
 Set the identifier of a module to a string Ident with length Len.
 
const charLLVMGetSourceFileName (LLVMModuleRef M, size_t *Len)
 Obtain the module's original source file name.
 
void LLVMSetSourceFileName (LLVMModuleRef M, const char *Name, size_t Len)
 Set the original source file name of a module to a string Name with length Len.
 
const charLLVMGetDataLayoutStr (LLVMModuleRef M)
 Obtain the data layout for a module.
 
const charLLVMGetDataLayout (LLVMModuleRef M)
 
void LLVMSetDataLayout (LLVMModuleRef M, const char *DataLayoutStr)
 Set the data layout for a module.
 
const charLLVMGetTarget (LLVMModuleRef M)
 Obtain the target triple for a module.
 
void LLVMSetTarget (LLVMModuleRef M, const char *Triple)
 Set the target triple for a module.
 
static Module::ModFlagBehavior map_to_llvmModFlagBehavior (LLVMModuleFlagBehavior Behavior)
 
static LLVMModuleFlagBehavior map_from_llvmModFlagBehavior (Module::ModFlagBehavior Behavior)
 
LLVMModuleFlagEntryLLVMCopyModuleFlagsMetadata (LLVMModuleRef M, size_t *Len)
 Returns the module flags as an array of flag-key-value triples.
 
void LLVMDisposeModuleFlagsMetadata (LLVMModuleFlagEntry *Entries)
 Destroys module flags metadata entries.
 
LLVMModuleFlagBehavior LLVMModuleFlagEntriesGetFlagBehavior (LLVMModuleFlagEntry *Entries, unsigned Index)
 Returns the flag behavior for a module flag entry at a specific index.
 
const charLLVMModuleFlagEntriesGetKey (LLVMModuleFlagEntry *Entries, unsigned Index, size_t *Len)
 Returns the key for a module flag entry at a specific index.
 
LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata (LLVMModuleFlagEntry *Entries, unsigned Index)
 Returns the metadata for a module flag entry at a specific index.
 
LLVMMetadataRef LLVMGetModuleFlag (LLVMModuleRef M, const char *Key, size_t KeyLen)
 Add a module-level flag to the module-level flags metadata if it doesn't already exist.
 
void LLVMAddModuleFlag (LLVMModuleRef M, LLVMModuleFlagBehavior Behavior, const char *Key, size_t KeyLen, LLVMMetadataRef Val)
 Add a module-level flag to the module-level flags metadata if it doesn't already exist.
 
LLVMBool LLVMIsNewDbgInfoFormat (LLVMModuleRef M)
 Soon to be deprecated.
 
void LLVMSetIsNewDbgInfoFormat (LLVMModuleRef M, LLVMBool UseNewFormat)
 Soon to be deprecated.
 
void LLVMDumpModule (LLVMModuleRef M)
 Dump a representation of a module to stderr.
 
LLVMBool LLVMPrintModuleToFile (LLVMModuleRef M, const char *Filename, char **ErrorMessage)
 Print a representation of a module to a file.
 
charLLVMPrintModuleToString (LLVMModuleRef M)
 Return a string representation of the module.
 
void LLVMSetModuleInlineAsm2 (LLVMModuleRef M, const char *Asm, size_t Len)
 Set inline assembly for a module.
 
void LLVMSetModuleInlineAsm (LLVMModuleRef M, const char *Asm)
 Deprecated: Use LLVMSetModuleInlineAsm2 instead.
 
void LLVMAppendModuleInlineAsm (LLVMModuleRef M, const char *Asm, size_t Len)
 Append inline assembly to a module.
 
const charLLVMGetModuleInlineAsm (LLVMModuleRef M, size_t *Len)
 Get inline assembly for a module.
 
LLVMValueRef LLVMGetInlineAsm (LLVMTypeRef Ty, const char *AsmString, size_t AsmStringSize, const char *Constraints, size_t ConstraintsSize, LLVMBool HasSideEffects, LLVMBool IsAlignStack, LLVMInlineAsmDialect Dialect, LLVMBool CanThrow)
 Create the specified uniqued inline asm string.
 
const charLLVMGetInlineAsmAsmString (LLVMValueRef InlineAsmVal, size_t *Len)
 Get the template string used for an inline assembly snippet.
 
const charLLVMGetInlineAsmConstraintString (LLVMValueRef InlineAsmVal, size_t *Len)
 Get the raw constraint string for an inline assembly snippet.
 
LLVMInlineAsmDialect LLVMGetInlineAsmDialect (LLVMValueRef InlineAsmVal)
 Get the dialect used by the inline asm snippet.
 
LLVMTypeRef LLVMGetInlineAsmFunctionType (LLVMValueRef InlineAsmVal)
 Get the function type of the inline assembly snippet.
 
LLVMBool LLVMGetInlineAsmHasSideEffects (LLVMValueRef InlineAsmVal)
 Get if the inline asm snippet has side effects.
 
LLVMBool LLVMGetInlineAsmNeedsAlignedStack (LLVMValueRef InlineAsmVal)
 Get if the inline asm snippet needs an aligned stack.
 
LLVMBool LLVMGetInlineAsmCanUnwind (LLVMValueRef InlineAsmVal)
 Get if the inline asm snippet may unwind the stack.
 
LLVMContextRef LLVMGetModuleContext (LLVMModuleRef M)
 Obtain the context to which this module is associated.
 
LLVMTypeKind LLVMGetTypeKind (LLVMTypeRef Ty)
 Obtain the enumerated type of a Type instance.
 
LLVMBool LLVMTypeIsSized (LLVMTypeRef Ty)
 Whether the type has a known size.
 
LLVMContextRef LLVMGetTypeContext (LLVMTypeRef Ty)
 Obtain the context to which this type instance is associated.
 
void LLVMDumpType (LLVMTypeRef Ty)
 Dump a representation of a type to stderr.
 
charLLVMPrintTypeToString (LLVMTypeRef Ty)
 Return a string representation of the type.
 
LLVMTypeRef LLVMInt1TypeInContext (LLVMContextRef C)
 Obtain an integer type from a context with specified bit width.
 
LLVMTypeRef LLVMInt8TypeInContext (LLVMContextRef C)
 
LLVMTypeRef LLVMInt16TypeInContext (LLVMContextRef C)
 
LLVMTypeRef LLVMInt32TypeInContext (LLVMContextRef C)
 
LLVMTypeRef LLVMInt64TypeInContext (LLVMContextRef C)
 
LLVMTypeRef LLVMInt128TypeInContext (LLVMContextRef C)
 
LLVMTypeRef LLVMIntTypeInContext (LLVMContextRef C, unsigned NumBits)
 
LLVMTypeRef LLVMInt1Type (void)
 Obtain an integer type from the global context with a specified bit width.
 
LLVMTypeRef LLVMInt8Type (void)
 
LLVMTypeRef LLVMInt16Type (void)
 
LLVMTypeRef LLVMInt32Type (void)
 
LLVMTypeRef LLVMInt64Type (void)
 
LLVMTypeRef LLVMInt128Type (void)
 
LLVMTypeRef LLVMIntType (unsigned NumBits)
 
unsigned LLVMGetIntTypeWidth (LLVMTypeRef IntegerTy)
 
LLVMTypeRef LLVMHalfTypeInContext (LLVMContextRef C)
 Obtain a 16-bit floating point type from a context.
 
LLVMTypeRef LLVMBFloatTypeInContext (LLVMContextRef C)
 Obtain a 16-bit brain floating point type from a context.
 
LLVMTypeRef LLVMFloatTypeInContext (LLVMContextRef C)
 Obtain a 32-bit floating point type from a context.
 
LLVMTypeRef LLVMDoubleTypeInContext (LLVMContextRef C)
 Obtain a 64-bit floating point type from a context.
 
LLVMTypeRef LLVMX86FP80TypeInContext (LLVMContextRef C)
 Obtain a 80-bit floating point type (X87) from a context.
 
LLVMTypeRef LLVMFP128TypeInContext (LLVMContextRef C)
 Obtain a 128-bit floating point type (112-bit mantissa) from a context.
 
LLVMTypeRef LLVMPPCFP128TypeInContext (LLVMContextRef C)
 Obtain a 128-bit floating point type (two 64-bits) from a context.
 
LLVMTypeRef LLVMX86AMXTypeInContext (LLVMContextRef C)
 Create a X86 AMX type in a context.
 
LLVMTypeRef LLVMHalfType (void)
 Obtain a floating point type from the global context.
 
LLVMTypeRef LLVMBFloatType (void)
 
LLVMTypeRef LLVMFloatType (void)
 
LLVMTypeRef LLVMDoubleType (void)
 
LLVMTypeRef LLVMX86FP80Type (void)
 
LLVMTypeRef LLVMFP128Type (void)
 
LLVMTypeRef LLVMPPCFP128Type (void)
 
LLVMTypeRef LLVMX86AMXType (void)
 
LLVMTypeRef LLVMFunctionType (LLVMTypeRef ReturnType, LLVMTypeRef *ParamTypes, unsigned ParamCount, LLVMBool IsVarArg)
 Obtain a function type consisting of a specified signature.
 
LLVMBool LLVMIsFunctionVarArg (LLVMTypeRef FunctionTy)
 Returns whether a function type is variadic.
 
LLVMTypeRef LLVMGetReturnType (LLVMTypeRef FunctionTy)
 Obtain the Type this function Type returns.
 
unsigned LLVMCountParamTypes (LLVMTypeRef FunctionTy)
 Obtain the number of parameters this function accepts.
 
void LLVMGetParamTypes (LLVMTypeRef FunctionTy, LLVMTypeRef *Dest)
 Obtain the types of a function's parameters.
 
LLVMTypeRef LLVMStructTypeInContext (LLVMContextRef C, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
 Create a new structure type in a context.
 
LLVMTypeRef LLVMStructType (LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
 Create a new structure type in the global context.
 
LLVMTypeRef LLVMStructCreateNamed (LLVMContextRef C, const char *Name)
 Create an empty structure in a context having a specified name.
 
const charLLVMGetStructName (LLVMTypeRef Ty)
 Obtain the name of a structure.
 
void LLVMStructSetBody (LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
 Set the contents of a structure type.
 
unsigned LLVMCountStructElementTypes (LLVMTypeRef StructTy)
 Get the number of elements defined inside the structure.
 
void LLVMGetStructElementTypes (LLVMTypeRef StructTy, LLVMTypeRef *Dest)
 Get the elements within a structure.
 
LLVMTypeRef LLVMStructGetTypeAtIndex (LLVMTypeRef StructTy, unsigned i)
 Get the type of the element at a given index in the structure.
 
LLVMBool LLVMIsPackedStruct (LLVMTypeRef StructTy)
 Determine whether a structure is packed.
 
LLVMBool LLVMIsOpaqueStruct (LLVMTypeRef StructTy)
 Determine whether a structure is opaque.
 
LLVMBool LLVMIsLiteralStruct (LLVMTypeRef StructTy)
 Determine whether a structure is literal.
 
LLVMTypeRef LLVMGetTypeByName (LLVMModuleRef M, const char *Name)
 Deprecated: Use LLVMGetTypeByName2 instead.
 
LLVMTypeRef LLVMGetTypeByName2 (LLVMContextRef C, const char *Name)
 Obtain a Type from a context by its registered name.
 
void LLVMGetSubtypes (LLVMTypeRef Tp, LLVMTypeRef *Arr)
 Returns type's subtypes.
 
LLVMTypeRef LLVMArrayType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a fixed size array type that refers to a specific type.
 
LLVMTypeRef LLVMArrayType2 (LLVMTypeRef ElementType, uint64_t ElementCount)
 Create a fixed size array type that refers to a specific type.
 
LLVMTypeRef LLVMPointerType (LLVMTypeRef ElementType, unsigned AddressSpace)
 Create a pointer type that points to a defined type.
 
LLVMBool LLVMPointerTypeIsOpaque (LLVMTypeRef Ty)
 Determine whether a pointer is opaque.
 
LLVMTypeRef LLVMVectorType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a vector type that contains a defined type and has a specific number of elements.
 
LLVMTypeRef LLVMScalableVectorType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a vector type that contains a defined type and has a scalable number of elements.
 
LLVMTypeRef LLVMGetElementType (LLVMTypeRef WrappedTy)
 Obtain the element type of an array or vector type.
 
unsigned LLVMGetNumContainedTypes (LLVMTypeRef Tp)
 Return the number of types in the derived type.
 
unsigned LLVMGetArrayLength (LLVMTypeRef ArrayTy)
 Obtain the length of an array type.
 
uint64_t LLVMGetArrayLength2 (LLVMTypeRef ArrayTy)
 Obtain the length of an array type.
 
unsigned LLVMGetPointerAddressSpace (LLVMTypeRef PointerTy)
 Obtain the address space of a pointer type.
 
unsigned LLVMGetVectorSize (LLVMTypeRef VectorTy)
 Obtain the (possibly scalable) number of elements in a vector type.
 
LLVMValueRef LLVMGetConstantPtrAuthPointer (LLVMValueRef PtrAuth)
 Get the pointer value for the associated ConstantPtrAuth constant.
 
LLVMValueRef LLVMGetConstantPtrAuthKey (LLVMValueRef PtrAuth)
 Get the key value for the associated ConstantPtrAuth constant.
 
LLVMValueRef LLVMGetConstantPtrAuthDiscriminator (LLVMValueRef PtrAuth)
 Get the discriminator value for the associated ConstantPtrAuth constant.
 
LLVMValueRef LLVMGetConstantPtrAuthAddrDiscriminator (LLVMValueRef PtrAuth)
 Get the address discriminator value for the associated ConstantPtrAuth constant.
 
LLVMTypeRef LLVMPointerTypeInContext (LLVMContextRef C, unsigned AddressSpace)
 Create an opaque pointer type in a context.
 
LLVMTypeRef LLVMVoidTypeInContext (LLVMContextRef C)
 Create a void type in a context.
 
LLVMTypeRef LLVMLabelTypeInContext (LLVMContextRef C)
 Create a label type in a context.
 
LLVMTypeRef LLVMTokenTypeInContext (LLVMContextRef C)
 Create a token type in a context.
 
LLVMTypeRef LLVMMetadataTypeInContext (LLVMContextRef C)
 Create a metadata type in a context.
 
LLVMTypeRef LLVMVoidType (void)
 These are similar to the above functions except they operate on the global context.
 
LLVMTypeRef LLVMLabelType (void)
 
LLVMTypeRef LLVMTargetExtTypeInContext (LLVMContextRef C, const char *Name, LLVMTypeRef *TypeParams, unsigned TypeParamCount, unsigned *IntParams, unsigned IntParamCount)
 Create a target extension type in LLVM context.
 
const charLLVMGetTargetExtTypeName (LLVMTypeRef TargetExtTy)
 Obtain the name for this target extension type.
 
unsigned LLVMGetTargetExtTypeNumTypeParams (LLVMTypeRef TargetExtTy)
 Obtain the number of type parameters for this target extension type.
 
LLVMTypeRef LLVMGetTargetExtTypeTypeParam (LLVMTypeRef TargetExtTy, unsigned Idx)
 Get the type parameter at the given index for the target extension type.
 
unsigned LLVMGetTargetExtTypeNumIntParams (LLVMTypeRef TargetExtTy)
 Obtain the number of int parameters for this target extension type.
 
unsigned LLVMGetTargetExtTypeIntParam (LLVMTypeRef TargetExtTy, unsigned Idx)
 Get the int parameter at the given index for the target extension type.
 
LLVMTypeRef LLVMTypeOf (LLVMValueRef Val)
 Obtain the type of a value.
 
LLVMValueKind LLVMGetValueKind (LLVMValueRef Val)
 Obtain the enumerated type of a Value instance.
 
const charLLVMGetValueName2 (LLVMValueRef Val, size_t *Length)
 Obtain the string name of a value.
 
void LLVMSetValueName2 (LLVMValueRef Val, const char *Name, size_t NameLen)
 Set the string name of a value.
 
const charLLVMGetValueName (LLVMValueRef Val)
 Deprecated: Use LLVMGetValueName2 instead.
 
void LLVMSetValueName (LLVMValueRef Val, const char *Name)
 Deprecated: Use LLVMSetValueName2 instead.
 
void LLVMDumpValue (LLVMValueRef Val)
 Dump a representation of a value to stderr.
 
charLLVMPrintValueToString (LLVMValueRef Val)
 Return a string representation of the value.
 
LLVMContextRef LLVMGetValueContext (LLVMValueRef Val)
 Obtain the context to which this value is associated.
 
charLLVMPrintDbgRecordToString (LLVMDbgRecordRef Record)
 Return a string representation of the DbgRecord.
 
void LLVMReplaceAllUsesWith (LLVMValueRef OldVal, LLVMValueRef NewVal)
 Replace all uses of a value with another one.
 
int LLVMHasMetadata (LLVMValueRef Inst)
 Determine whether an instruction has any metadata attached.
 
LLVMValueRef LLVMGetMetadata (LLVMValueRef Inst, unsigned KindID)
 Return metadata associated with an instruction value.
 
static MDNodeextractMDNode (MetadataAsValue *MAV)
 
void LLVMSetMetadata (LLVMValueRef Inst, unsigned KindID, LLVMValueRef Val)
 Set metadata associated with an instruction value.
 
static LLVMValueMetadataEntryllvm_getMetadata (size_t *NumEntries, llvm::function_ref< void(MetadataEntries &)> AccessMD)
 
LLVMValueMetadataEntryLLVMInstructionGetAllMetadataOtherThanDebugLoc (LLVMValueRef Value, size_t *NumEntries)
 Returns the metadata associated with an instruction value, but filters out all the debug locations.
 
LLVMValueRef LLVMIsAMDNode (LLVMValueRef Val)
 
LLVMValueRef LLVMIsAValueAsMetadata (LLVMValueRef Val)
 
LLVMValueRef LLVMIsAMDString (LLVMValueRef Val)
 
LLVMUseRef LLVMGetFirstUse (LLVMValueRef Val)
 Obtain the first use of a value.
 
LLVMUseRef LLVMGetNextUse (LLVMUseRef U)
 Obtain the next use of a value.
 
LLVMValueRef LLVMGetUser (LLVMUseRef U)
 Obtain the user value for a user.
 
LLVMValueRef LLVMGetUsedValue (LLVMUseRef U)
 Obtain the value this use corresponds to.
 
static LLVMValueRef getMDNodeOperandImpl (LLVMContext &Context, const MDNode *N, unsigned Index)
 
LLVMValueRef LLVMGetOperand (LLVMValueRef Val, unsigned Index)
 Obtain an operand at a specific index in a llvm::User value.
 
LLVMUseRef LLVMGetOperandUse (LLVMValueRef Val, unsigned Index)
 Obtain the use of an operand at a specific index in a llvm::User value.
 
void LLVMSetOperand (LLVMValueRef Val, unsigned Index, LLVMValueRef Op)
 Set an operand at a specific index in a llvm::User value.
 
int LLVMGetNumOperands (LLVMValueRef Val)
 Obtain the number of operands in a llvm::User value.
 
LLVMValueRef LLVMConstNull (LLVMTypeRef Ty)
 Obtain a constant value referring to the null instance of a type.
 
LLVMValueRef LLVMConstAllOnes (LLVMTypeRef Ty)
 Obtain a constant value referring to the instance of a type consisting of all ones.
 
LLVMValueRef LLVMGetUndef (LLVMTypeRef Ty)
 Obtain a constant value referring to an undefined value of a type.
 
LLVMValueRef LLVMGetPoison (LLVMTypeRef Ty)
 Obtain a constant value referring to a poison value of a type.
 
LLVMBool LLVMIsConstant (LLVMValueRef Ty)
 Determine whether the specified value instance is constant.
 
LLVMBool LLVMIsNull (LLVMValueRef Val)
 Determine whether a value instance is null.
 
LLVMBool LLVMIsUndef (LLVMValueRef Val)
 Determine whether a value instance is undefined.
 
LLVMBool LLVMIsPoison (LLVMValueRef Val)
 Determine whether a value instance is poisonous.
 
LLVMValueRef LLVMConstPointerNull (LLVMTypeRef Ty)
 Obtain a constant that is a constant pointer pointing to NULL for a specified type.
 
LLVMMetadataRef LLVMMDStringInContext2 (LLVMContextRef C, const char *Str, size_t SLen)
 Create an MDString value from a given string value.
 
LLVMMetadataRef LLVMMDNodeInContext2 (LLVMContextRef C, LLVMMetadataRef *MDs, size_t Count)
 Create an MDNode value with the given array of operands.
 
LLVMValueRef LLVMMDStringInContext (LLVMContextRef C, const char *Str, unsigned SLen)
 Deprecated: Use LLVMMDStringInContext2 instead.
 
LLVMValueRef LLVMMDString (const char *Str, unsigned SLen)
 Deprecated: Use LLVMMDStringInContext2 instead.
 
LLVMValueRef LLVMMDNodeInContext (LLVMContextRef C, LLVMValueRef *Vals, unsigned Count)
 Deprecated: Use LLVMMDNodeInContext2 instead.
 
LLVMValueRef LLVMMDNode (LLVMValueRef *Vals, unsigned Count)
 Deprecated: Use LLVMMDNodeInContext2 instead.
 
LLVMValueRef LLVMMetadataAsValue (LLVMContextRef C, LLVMMetadataRef MD)
 Obtain a Metadata as a Value.
 
LLVMMetadataRef LLVMValueAsMetadata (LLVMValueRef Val)
 Obtain a Value as a Metadata.
 
const charLLVMGetMDString (LLVMValueRef V, unsigned *Length)
 Obtain the underlying string from a MDString value.
 
unsigned LLVMGetMDNodeNumOperands (LLVMValueRef V)
 Obtain the number of operands from an MDNode value.
 
LLVMNamedMDNodeRef LLVMGetFirstNamedMetadata (LLVMModuleRef M)
 Obtain an iterator to the first NamedMDNode in a Module.
 
LLVMNamedMDNodeRef LLVMGetLastNamedMetadata (LLVMModuleRef M)
 Obtain an iterator to the last NamedMDNode in a Module.
 
LLVMNamedMDNodeRef LLVMGetNextNamedMetadata (LLVMNamedMDNodeRef NMD)
 Advance a NamedMDNode iterator to the next NamedMDNode.
 
LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata (LLVMNamedMDNodeRef NMD)
 Decrement a NamedMDNode iterator to the previous NamedMDNode.
 
LLVMNamedMDNodeRef LLVMGetNamedMetadata (LLVMModuleRef M, const char *Name, size_t NameLen)
 Retrieve a NamedMDNode with the given name, returning NULL if no such node exists.
 
LLVMNamedMDNodeRef LLVMGetOrInsertNamedMetadata (LLVMModuleRef M, const char *Name, size_t NameLen)
 Retrieve a NamedMDNode with the given name, creating a new node if no such node exists.
 
const charLLVMGetNamedMetadataName (LLVMNamedMDNodeRef NMD, size_t *NameLen)
 Retrieve the name of a NamedMDNode.
 
void LLVMGetMDNodeOperands (LLVMValueRef V, LLVMValueRef *Dest)
 Obtain the given MDNode's operands.
 
void LLVMReplaceMDNodeOperandWith (LLVMValueRef V, unsigned Index, LLVMMetadataRef Replacement)
 Replace an operand at a specific index in a llvm::MDNode value.
 
unsigned LLVMGetNamedMetadataNumOperands (LLVMModuleRef M, const char *Name)
 Obtain the number of operands for named metadata in a module.
 
void LLVMGetNamedMetadataOperands (LLVMModuleRef M, const char *Name, LLVMValueRef *Dest)
 Obtain the named metadata operands for a module.
 
void LLVMAddNamedMetadataOperand (LLVMModuleRef M, const char *Name, LLVMValueRef Val)
 Add an operand to named metadata.
 
const charLLVMGetDebugLocDirectory (LLVMValueRef Val, unsigned *Length)
 Return the directory of the debug location for this value, which must be an llvm::Instruction, llvm::GlobalVariable, or llvm::Function.
 
const charLLVMGetDebugLocFilename (LLVMValueRef Val, unsigned *Length)
 Return the filename of the debug location for this value, which must be an llvm::Instruction, llvm::GlobalVariable, or llvm::Function.
 
unsigned LLVMGetDebugLocLine (LLVMValueRef Val)
 Return the line number of the debug location for this value, which must be an llvm::Instruction, llvm::GlobalVariable, or llvm::Function.
 
unsigned LLVMGetDebugLocColumn (LLVMValueRef Val)
 Return the column number of the debug location for this value, which must be an llvm::Instruction.
 
LLVMValueRef LLVMConstInt (LLVMTypeRef IntTy, unsigned long long N, LLVMBool SignExtend)
 Obtain a constant value for an integer type.
 
LLVMValueRef LLVMConstIntOfArbitraryPrecision (LLVMTypeRef IntTy, unsigned NumWords, const uint64_t Words[])
 Obtain a constant value for an integer of arbitrary precision.
 
LLVMValueRef LLVMConstIntOfString (LLVMTypeRef IntTy, const char Str[], uint8_t Radix)
 
LLVMValueRef LLVMConstIntOfStringAndSize (LLVMTypeRef IntTy, const char Str[], unsigned SLen, uint8_t Radix)
 
LLVMValueRef LLVMConstReal (LLVMTypeRef RealTy, double N)
 Obtain a constant value referring to a double floating point value.
 
LLVMValueRef LLVMConstRealOfString (LLVMTypeRef RealTy, const char *Text)
 Obtain a constant for a floating point value parsed from a string.
 
LLVMValueRef LLVMConstRealOfStringAndSize (LLVMTypeRef RealTy, const char Str[], unsigned SLen)
 
unsigned long long LLVMConstIntGetZExtValue (LLVMValueRef ConstantVal)
 Obtain the zero extended value for an integer constant value.
 
long long LLVMConstIntGetSExtValue (LLVMValueRef ConstantVal)
 Obtain the sign extended value for an integer constant value.
 
double LLVMConstRealGetDouble (LLVMValueRef ConstantVal, LLVMBool *LosesInfo)
 Obtain the double value for an floating point constant value.
 
LLVMValueRef LLVMConstStringInContext (LLVMContextRef C, const char *Str, unsigned Length, LLVMBool DontNullTerminate)
 Create a ConstantDataSequential and initialize it with a string.
 
LLVMValueRef LLVMConstStringInContext2 (LLVMContextRef C, const char *Str, size_t Length, LLVMBool DontNullTerminate)
 Create a ConstantDataSequential and initialize it with a string.
 
LLVMValueRef LLVMConstString (const char *Str, unsigned Length, LLVMBool DontNullTerminate)
 Create a ConstantDataSequential with string content in the global context.
 
LLVMValueRef LLVMGetAggregateElement (LLVMValueRef C, unsigned Idx)
 Get element of a constant aggregate (struct, array or vector) at the specified index.
 
LLVMValueRef LLVMGetElementAsConstant (LLVMValueRef C, unsigned idx)
 
LLVMBool LLVMIsConstantString (LLVMValueRef C)
 Returns true if the specified constant is an array of i8.
 
const charLLVMGetAsString (LLVMValueRef C, size_t *Length)
 Get the given constant data sequential as a string.
 
LLVMValueRef LLVMConstArray (LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals, unsigned Length)
 Create a ConstantArray from values.
 
LLVMValueRef LLVMConstArray2 (LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals, uint64_t Length)
 Create a ConstantArray from values.
 
LLVMValueRef LLVMConstStructInContext (LLVMContextRef C, LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)
 Create an anonymous ConstantStruct with the specified values.
 
LLVMValueRef LLVMConstStruct (LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)
 Create a ConstantStruct in the global Context.
 
LLVMValueRef LLVMConstNamedStruct (LLVMTypeRef StructTy, LLVMValueRef *ConstantVals, unsigned Count)
 Create a non-anonymous ConstantStruct from values.
 
LLVMValueRef LLVMConstVector (LLVMValueRef *ScalarConstantVals, unsigned Size)
 Create a ConstantVector from values.
 
LLVMValueRef LLVMConstantPtrAuth (LLVMValueRef Ptr, LLVMValueRef Key, LLVMValueRef Disc, LLVMValueRef AddrDisc)
 Create a ConstantPtrAuth constant with the given values.
 
static LLVMOpcode map_to_llvmopcode (int opcode)
 
static int map_from_llvmopcode (LLVMOpcode code)
 
static GEPNoWrapFlags mapFromLLVMGEPNoWrapFlags (LLVMGEPNoWrapFlags GEPFlags)
 
static LLVMGEPNoWrapFlags mapToLLVMGEPNoWrapFlags (GEPNoWrapFlags GEPFlags)
 
LLVMOpcode LLVMGetConstOpcode (LLVMValueRef ConstantVal)
 
LLVMValueRef LLVMAlignOf (LLVMTypeRef Ty)
 
LLVMValueRef LLVMSizeOf (LLVMTypeRef Ty)
 
LLVMValueRef LLVMConstNeg (LLVMValueRef ConstantVal)
 
LLVMValueRef LLVMConstNSWNeg (LLVMValueRef ConstantVal)
 
LLVMValueRef LLVMConstNUWNeg (LLVMValueRef ConstantVal)
 
LLVMValueRef LLVMConstNot (LLVMValueRef ConstantVal)
 
LLVMValueRef LLVMConstAdd (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstNSWAdd (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstNUWAdd (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstSub (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstNSWSub (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstNUWSub (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstMul (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstNSWMul (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstNUWMul (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstXor (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
 
LLVMValueRef LLVMConstGEP2 (LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices)
 
LLVMValueRef LLVMConstInBoundsGEP2 (LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices)
 
LLVMValueRef LLVMConstGEPWithNoWrapFlags (LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices, LLVMGEPNoWrapFlags NoWrapFlags)
 Creates a constant GetElementPtr expression.
 
LLVMValueRef LLVMConstTrunc (LLVMValueRef ConstantVal, LLVMTypeRef ToType)
 
LLVMValueRef LLVMConstPtrToInt (LLVMValueRef ConstantVal, LLVMTypeRef ToType)
 
LLVMValueRef LLVMConstIntToPtr (LLVMValueRef ConstantVal, LLVMTypeRef ToType)
 
LLVMValueRef LLVMConstBitCast (LLVMValueRef ConstantVal, LLVMTypeRef ToType)
 
LLVMValueRef LLVMConstAddrSpaceCast (LLVMValueRef ConstantVal, LLVMTypeRef ToType)
 
LLVMValueRef LLVMConstTruncOrBitCast (LLVMValueRef ConstantVal, LLVMTypeRef ToType)
 
LLVMValueRef LLVMConstPointerCast (LLVMValueRef ConstantVal, LLVMTypeRef ToType)
 
LLVMValueRef LLVMConstExtractElement (LLVMValueRef VectorConstant, LLVMValueRef IndexConstant)
 
LLVMValueRef LLVMConstInsertElement (LLVMValueRef VectorConstant, LLVMValueRef ElementValueConstant, LLVMValueRef IndexConstant)
 
LLVMValueRef LLVMConstShuffleVector (LLVMValueRef VectorAConstant, LLVMValueRef VectorBConstant, LLVMValueRef MaskConstant)
 
LLVMValueRef LLVMConstInlineAsm (LLVMTypeRef Ty, const char *AsmString, const char *Constraints, LLVMBool HasSideEffects, LLVMBool IsAlignStack)
 Deprecated: Use LLVMGetInlineAsm instead.
 
LLVMValueRef LLVMBlockAddress (LLVMValueRef F, LLVMBasicBlockRef BB)
 
LLVMValueRef LLVMGetBlockAddressFunction (LLVMValueRef BlockAddr)
 Gets the function associated with a given BlockAddress constant value.
 
LLVMBasicBlockRef LLVMGetBlockAddressBasicBlock (LLVMValueRef BlockAddr)
 Gets the basic block associated with a given BlockAddress constant value.
 
LLVMModuleRef LLVMGetGlobalParent (LLVMValueRef Global)
 
LLVMBool LLVMIsDeclaration (LLVMValueRef Global)
 
LLVMLinkage LLVMGetLinkage (LLVMValueRef Global)
 
void LLVMSetLinkage (LLVMValueRef Global, LLVMLinkage Linkage)
 
const charLLVMGetSection (LLVMValueRef Global)
 
void LLVMSetSection (LLVMValueRef Global, const char *Section)
 
LLVMVisibility LLVMGetVisibility (LLVMValueRef Global)
 
void LLVMSetVisibility (LLVMValueRef Global, LLVMVisibility Viz)
 
LLVMDLLStorageClass LLVMGetDLLStorageClass (LLVMValueRef Global)
 
void LLVMSetDLLStorageClass (LLVMValueRef Global, LLVMDLLStorageClass Class)
 
LLVMUnnamedAddr LLVMGetUnnamedAddress (LLVMValueRef Global)
 
void LLVMSetUnnamedAddress (LLVMValueRef Global, LLVMUnnamedAddr UnnamedAddr)
 
LLVMBool LLVMHasUnnamedAddr (LLVMValueRef Global)
 Deprecated: Use LLVMGetUnnamedAddress instead.
 
void LLVMSetUnnamedAddr (LLVMValueRef Global, LLVMBool HasUnnamedAddr)
 Deprecated: Use LLVMSetUnnamedAddress instead.
 
LLVMTypeRef LLVMGlobalGetValueType (LLVMValueRef Global)
 Returns the "value type" of a global value.
 
unsigned LLVMGetAlignment (LLVMValueRef V)
 Obtain the preferred alignment of the value.
 
void LLVMSetAlignment (LLVMValueRef V, unsigned Bytes)
 Set the preferred alignment of the value.
 
LLVMValueMetadataEntryLLVMGlobalCopyAllMetadata (LLVMValueRef Value, size_t *NumEntries)
 Retrieves an array of metadata entries representing the metadata attached to this value.
 
unsigned LLVMValueMetadataEntriesGetKind (LLVMValueMetadataEntry *Entries, unsigned Index)
 Returns the kind of a value metadata entry at a specific index.
 
LLVMMetadataRef LLVMValueMetadataEntriesGetMetadata (LLVMValueMetadataEntry *Entries, unsigned Index)
 Returns the underlying metadata node of a value metadata entry at a specific index.
 
void LLVMDisposeValueMetadataEntries (LLVMValueMetadataEntry *Entries)
 Destroys value metadata entries.
 
void LLVMGlobalSetMetadata (LLVMValueRef Global, unsigned Kind, LLVMMetadataRef MD)
 Sets a metadata attachment, erasing the existing metadata attachment if it already exists for the given kind.
 
void LLVMGlobalEraseMetadata (LLVMValueRef Global, unsigned Kind)
 Erases a metadata attachment of the given kind if it exists.
 
void LLVMGlobalClearMetadata (LLVMValueRef Global)
 Removes all metadata attachments from this value.
 
LLVMValueRef LLVMAddGlobal (LLVMModuleRef M, LLVMTypeRef Ty, const char *Name)
 
LLVMValueRef LLVMAddGlobalInAddressSpace (LLVMModuleRef M, LLVMTypeRef Ty, const char *Name, unsigned AddressSpace)
 
LLVMValueRef LLVMGetNamedGlobal (LLVMModuleRef M, const char *Name)
 
LLVMValueRef LLVMGetNamedGlobalWithLength (LLVMModuleRef M, const char *Name, size_t Length)
 
LLVMValueRef LLVMGetFirstGlobal (LLVMModuleRef M)
 
LLVMValueRef LLVMGetLastGlobal (LLVMModuleRef M)
 
LLVMValueRef LLVMGetNextGlobal (LLVMValueRef GlobalVar)
 
LLVMValueRef LLVMGetPreviousGlobal (LLVMValueRef GlobalVar)
 
void LLVMDeleteGlobal (LLVMValueRef GlobalVar)
 
LLVMValueRef LLVMGetInitializer (LLVMValueRef GlobalVar)
 
void LLVMSetInitializer (LLVMValueRef GlobalVar, LLVMValueRef ConstantVal)
 
LLVMBool LLVMIsThreadLocal (LLVMValueRef GlobalVar)
 
void LLVMSetThreadLocal (LLVMValueRef GlobalVar, LLVMBool IsThreadLocal)
 
LLVMBool LLVMIsGlobalConstant (LLVMValueRef GlobalVar)
 
void LLVMSetGlobalConstant (LLVMValueRef GlobalVar, LLVMBool IsConstant)
 
LLVMThreadLocalMode LLVMGetThreadLocalMode (LLVMValueRef GlobalVar)
 
void LLVMSetThreadLocalMode (LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode)
 
LLVMBool LLVMIsExternallyInitialized (LLVMValueRef GlobalVar)
 
void LLVMSetExternallyInitialized (LLVMValueRef GlobalVar, LLVMBool IsExtInit)
 
LLVMValueRef LLVMAddAlias2 (LLVMModuleRef M, LLVMTypeRef ValueTy, unsigned AddrSpace, LLVMValueRef Aliasee, const char *Name)
 Add a GlobalAlias with the given value type, address space and aliasee.
 
LLVMValueRef LLVMGetNamedGlobalAlias (LLVMModuleRef M, const char *Name, size_t NameLen)
 Obtain a GlobalAlias value from a Module by its name.
 
LLVMValueRef LLVMGetFirstGlobalAlias (LLVMModuleRef M)
 Obtain an iterator to the first GlobalAlias in a Module.
 
LLVMValueRef LLVMGetLastGlobalAlias (LLVMModuleRef M)
 Obtain an iterator to the last GlobalAlias in a Module.
 
LLVMValueRef LLVMGetNextGlobalAlias (LLVMValueRef GA)
 Advance a GlobalAlias iterator to the next GlobalAlias.
 
LLVMValueRef LLVMGetPreviousGlobalAlias (LLVMValueRef GA)
 Decrement a GlobalAlias iterator to the previous GlobalAlias.
 
LLVMValueRef LLVMAliasGetAliasee (LLVMValueRef Alias)
 Retrieve the target value of an alias.
 
void LLVMAliasSetAliasee (LLVMValueRef Alias, LLVMValueRef Aliasee)
 Set the target value of an alias.
 
LLVMValueRef LLVMAddFunction (LLVMModuleRef M, const char *Name, LLVMTypeRef FunctionTy)
 Add a function to a module under a specified name.
 
LLVMValueRef LLVMGetNamedFunction (LLVMModuleRef M, const char *Name)
 Obtain a Function value from a Module by its name.
 
LLVMValueRef LLVMGetNamedFunctionWithLength (LLVMModuleRef M, const char *Name, size_t Length)
 Obtain a Function value from a Module by its name.
 
LLVMValueRef LLVMGetFirstFunction (LLVMModuleRef M)
 Obtain an iterator to the first Function in a Module.
 
LLVMValueRef LLVMGetLastFunction (LLVMModuleRef M)
 Obtain an iterator to the last Function in a Module.
 
LLVMValueRef LLVMGetNextFunction (LLVMValueRef Fn)
 Advance a Function iterator to the next Function.
 
LLVMValueRef LLVMGetPreviousFunction (LLVMValueRef Fn)
 Decrement a Function iterator to the previous Function.
 
void LLVMDeleteFunction (LLVMValueRef Fn)
 Remove a function from its containing module and deletes it.
 
LLVMBool LLVMHasPersonalityFn (LLVMValueRef Fn)
 Check whether the given function has a personality function.
 
LLVMValueRef LLVMGetPersonalityFn (LLVMValueRef Fn)
 Obtain the personality function attached to the function.
 
void LLVMSetPersonalityFn (LLVMValueRef Fn, LLVMValueRef PersonalityFn)
 Set the personality function attached to the function.
 
unsigned LLVMGetIntrinsicID (LLVMValueRef Fn)
 Obtain the ID number from a function instance.
 
static Intrinsic::ID llvm_map_to_intrinsic_id (unsigned ID)
 
LLVMValueRef LLVMGetIntrinsicDeclaration (LLVMModuleRef Mod, unsigned ID, LLVMTypeRef *ParamTypes, size_t ParamCount)
 Create or insert the declaration of an intrinsic.
 
const charLLVMIntrinsicGetName (unsigned ID, size_t *NameLength)
 Retrieves the name of an intrinsic.
 
LLVMTypeRef LLVMIntrinsicGetType (LLVMContextRef Ctx, unsigned ID, LLVMTypeRef *ParamTypes, size_t ParamCount)
 Retrieves the type of an intrinsic.
 
const charLLVMIntrinsicCopyOverloadedName (unsigned ID, LLVMTypeRef *ParamTypes, size_t ParamCount, size_t *NameLength)
 Deprecated: Use LLVMIntrinsicCopyOverloadedName2 instead.
 
const charLLVMIntrinsicCopyOverloadedName2 (LLVMModuleRef Mod, unsigned ID, LLVMTypeRef *ParamTypes, size_t ParamCount, size_t *NameLength)
 Copies the name of an overloaded intrinsic identified by a given list of parameter types.
 
unsigned LLVMLookupIntrinsicID (const char *Name, size_t NameLen)
 Obtain the intrinsic ID number which matches the given function name.
 
LLVMBool LLVMIntrinsicIsOverloaded (unsigned ID)
 Obtain if the intrinsic identified by the given ID is overloaded.
 
unsigned LLVMGetFunctionCallConv (LLVMValueRef Fn)
 Obtain the calling function of a function.
 
void LLVMSetFunctionCallConv (LLVMValueRef Fn, unsigned CC)
 Set the calling convention of a function.
 
const charLLVMGetGC (LLVMValueRef Fn)
 Obtain the name of the garbage collector to use during code generation.
 
void LLVMSetGC (LLVMValueRef Fn, const char *GC)
 Define the garbage collector to use during code generation.
 
LLVMValueRef LLVMGetPrefixData (LLVMValueRef Fn)
 Gets the prefix data associated with a function.
 
LLVMBool LLVMHasPrefixData (LLVMValueRef Fn)
 Check if a given function has prefix data.
 
void LLVMSetPrefixData (LLVMValueRef Fn, LLVMValueRef prefixData)
 Sets the prefix data for the function.
 
LLVMValueRef LLVMGetPrologueData (LLVMValueRef Fn)
 Gets the prologue data associated with a function.
 
LLVMBool LLVMHasPrologueData (LLVMValueRef Fn)
 Check if a given function has prologue data.
 
void LLVMSetPrologueData (LLVMValueRef Fn, LLVMValueRef prologueData)
 Sets the prologue data for the function.
 
void LLVMAddAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, LLVMAttributeRef A)
 Add an attribute to a function.
 
unsigned LLVMGetAttributeCountAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx)
 
void LLVMGetAttributesAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, LLVMAttributeRef *Attrs)
 
LLVMAttributeRef LLVMGetEnumAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, unsigned KindID)
 
LLVMAttributeRef LLVMGetStringAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
 
void LLVMRemoveEnumAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, unsigned KindID)
 
void LLVMRemoveStringAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
 
void LLVMAddTargetDependentFunctionAttr (LLVMValueRef Fn, const char *A, const char *V)
 Add a target-dependent attribute to a function.
 
unsigned LLVMCountParams (LLVMValueRef FnRef)
 Obtain the number of parameters in a function.
 
void LLVMGetParams (LLVMValueRef FnRef, LLVMValueRef *ParamRefs)
 Obtain the parameters in a function.
 
LLVMValueRef LLVMGetParam (LLVMValueRef FnRef, unsigned index)
 Obtain the parameter at the specified index.
 
LLVMValueRef LLVMGetParamParent (LLVMValueRef V)
 Obtain the function to which this argument belongs.
 
LLVMValueRef LLVMGetFirstParam (LLVMValueRef Fn)
 Obtain the first parameter to a function.
 
LLVMValueRef LLVMGetLastParam (LLVMValueRef Fn)
 Obtain the last parameter to a function.
 
LLVMValueRef LLVMGetNextParam (LLVMValueRef Arg)
 Obtain the next parameter to a function.
 
LLVMValueRef LLVMGetPreviousParam (LLVMValueRef Arg)
 Obtain the previous parameter to a function.
 
void LLVMSetParamAlignment (LLVMValueRef Arg, unsigned align)
 Set the alignment for a function parameter.
 
LLVMValueRef LLVMAddGlobalIFunc (LLVMModuleRef M, const char *Name, size_t NameLen, LLVMTypeRef Ty, unsigned AddrSpace, LLVMValueRef Resolver)
 Add a global indirect function to a module under a specified name.
 
LLVMValueRef LLVMGetNamedGlobalIFunc (LLVMModuleRef M, const char *Name, size_t NameLen)
 Obtain a GlobalIFunc value from a Module by its name.
 
LLVMValueRef LLVMGetFirstGlobalIFunc (LLVMModuleRef M)
 Obtain an iterator to the first GlobalIFunc in a Module.
 
LLVMValueRef LLVMGetLastGlobalIFunc (LLVMModuleRef M)
 Obtain an iterator to the last GlobalIFunc in a Module.
 
LLVMValueRef LLVMGetNextGlobalIFunc (LLVMValueRef IFunc)
 Advance a GlobalIFunc iterator to the next GlobalIFunc.
 
LLVMValueRef LLVMGetPreviousGlobalIFunc (LLVMValueRef IFunc)
 Decrement a GlobalIFunc iterator to the previous GlobalIFunc.
 
LLVMValueRef LLVMGetGlobalIFuncResolver (LLVMValueRef IFunc)
 Retrieves the resolver function associated with this indirect function, or NULL if it doesn't not exist.
 
void LLVMSetGlobalIFuncResolver (LLVMValueRef IFunc, LLVMValueRef Resolver)
 Sets the resolver function associated with this indirect function.
 
void LLVMEraseGlobalIFunc (LLVMValueRef IFunc)
 Remove a global indirect function from its parent module and delete it.
 
void LLVMRemoveGlobalIFunc (LLVMValueRef IFunc)
 Remove a global indirect function from its parent module.
 
LLVMOperandBundleRef LLVMCreateOperandBundle (const char *Tag, size_t TagLen, LLVMValueRef *Args, unsigned NumArgs)
 Create a new operand bundle.
 
void LLVMDisposeOperandBundle (LLVMOperandBundleRef Bundle)
 Destroy an operand bundle.
 
const charLLVMGetOperandBundleTag (LLVMOperandBundleRef Bundle, size_t *Len)
 Obtain the tag of an operand bundle as a string.
 
unsigned LLVMGetNumOperandBundleArgs (LLVMOperandBundleRef Bundle)
 Obtain the number of operands for an operand bundle.
 
LLVMValueRef LLVMGetOperandBundleArgAtIndex (LLVMOperandBundleRef Bundle, unsigned Index)
 Obtain the operand for an operand bundle at the given index.
 
LLVMValueRef LLVMBasicBlockAsValue (LLVMBasicBlockRef BB)
 Convert a basic block instance to a value type.
 
LLVMBool LLVMValueIsBasicBlock (LLVMValueRef Val)
 Determine whether an LLVMValueRef is itself a basic block.
 
LLVMBasicBlockRef LLVMValueAsBasicBlock (LLVMValueRef Val)
 Convert an LLVMValueRef to an LLVMBasicBlockRef instance.
 
const charLLVMGetBasicBlockName (LLVMBasicBlockRef BB)
 Obtain the string name of a basic block.
 
LLVMValueRef LLVMGetBasicBlockParent (LLVMBasicBlockRef BB)
 Obtain the function to which a basic block belongs.
 
LLVMValueRef LLVMGetBasicBlockTerminator (LLVMBasicBlockRef BB)
 Obtain the terminator instruction for a basic block.
 
unsigned LLVMCountBasicBlocks (LLVMValueRef FnRef)
 Obtain the number of basic blocks in a function.
 
void LLVMGetBasicBlocks (LLVMValueRef FnRef, LLVMBasicBlockRef *BasicBlocksRefs)
 Obtain all of the basic blocks in a function.
 
LLVMBasicBlockRef LLVMGetEntryBasicBlock (LLVMValueRef Fn)
 Obtain the basic block that corresponds to the entry point of a function.
 
LLVMBasicBlockRef LLVMGetFirstBasicBlock (LLVMValueRef Fn)
 Obtain the first basic block in a function.
 
LLVMBasicBlockRef LLVMGetLastBasicBlock (LLVMValueRef Fn)
 Obtain the last basic block in a function.
 
LLVMBasicBlockRef LLVMGetNextBasicBlock (LLVMBasicBlockRef BB)
 Advance a basic block iterator.
 
LLVMBasicBlockRef LLVMGetPreviousBasicBlock (LLVMBasicBlockRef BB)
 Go backwards in a basic block iterator.
 
LLVMBasicBlockRef LLVMCreateBasicBlockInContext (LLVMContextRef C, const char *Name)
 Create a new basic block without inserting it into a function.
 
void LLVMInsertExistingBasicBlockAfterInsertBlock (LLVMBuilderRef Builder, LLVMBasicBlockRef BB)
 Insert the given basic block after the insertion point of the given builder.
 
void LLVMAppendExistingBasicBlock (LLVMValueRef Fn, LLVMBasicBlockRef BB)
 Append the given basic block to the basic block list of the given function.
 
LLVMBasicBlockRef LLVMAppendBasicBlockInContext (LLVMContextRef C, LLVMValueRef FnRef, const char *Name)
 Append a basic block to the end of a function.
 
LLVMBasicBlockRef LLVMAppendBasicBlock (LLVMValueRef FnRef, const char *Name)
 Append a basic block to the end of a function using the global context.
 
LLVMBasicBlockRef LLVMInsertBasicBlockInContext (LLVMContextRef C, LLVMBasicBlockRef BBRef, const char *Name)
 Insert a basic block in a function before another basic block.
 
LLVMBasicBlockRef LLVMInsertBasicBlock (LLVMBasicBlockRef BBRef, const char *Name)
 Insert a basic block in a function using the global context.
 
void LLVMDeleteBasicBlock (LLVMBasicBlockRef BBRef)
 Remove a basic block from a function and delete it.
 
void LLVMRemoveBasicBlockFromParent (LLVMBasicBlockRef BBRef)
 Remove a basic block from a function.
 
void LLVMMoveBasicBlockBefore (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)
 Move a basic block to before another one.
 
void LLVMMoveBasicBlockAfter (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)
 Move a basic block to after another one.
 
LLVMBasicBlockRef LLVMGetInstructionParent (LLVMValueRef Inst)
 Obtain the basic block to which an instruction belongs.
 
LLVMValueRef LLVMGetFirstInstruction (LLVMBasicBlockRef BB)
 Obtain the first instruction in a basic block.
 
LLVMValueRef LLVMGetLastInstruction (LLVMBasicBlockRef BB)
 Obtain the last instruction in a basic block.
 
LLVMValueRef LLVMGetNextInstruction (LLVMValueRef Inst)
 Obtain the instruction that occurs after the one specified.
 
LLVMValueRef LLVMGetPreviousInstruction (LLVMValueRef Inst)
 Obtain the instruction that occurred before this one.
 
void LLVMInstructionRemoveFromParent (LLVMValueRef Inst)
 Remove an instruction.
 
void LLVMInstructionEraseFromParent (LLVMValueRef Inst)
 Remove and delete an instruction.
 
void LLVMDeleteInstruction (LLVMValueRef Inst)
 Delete an instruction.
 
LLVMIntPredicate LLVMGetICmpPredicate (LLVMValueRef Inst)
 Obtain the predicate of an instruction.
 
LLVMRealPredicate LLVMGetFCmpPredicate (LLVMValueRef Inst)
 Obtain the float predicate of an instruction.
 
LLVMOpcode LLVMGetInstructionOpcode (LLVMValueRef Inst)
 Obtain the code opcode for an individual instruction.
 
LLVMValueRef LLVMInstructionClone (LLVMValueRef Inst)
 Create a copy of 'this' instruction that is identical in all ways except the following:
 
LLVMValueRef LLVMIsATerminatorInst (LLVMValueRef Inst)
 Determine whether an instruction is a terminator.
 
unsigned LLVMGetNumArgOperands (LLVMValueRef Instr)
 Obtain the argument count for a call instruction.
 
unsigned LLVMGetInstructionCallConv (LLVMValueRef Instr)
 Obtain the calling convention for a call instruction.
 
void LLVMSetInstructionCallConv (LLVMValueRef Instr, unsigned CC)
 Set the calling convention for a call instruction.
 
void LLVMSetInstrParamAlignment (LLVMValueRef Instr, LLVMAttributeIndex Idx, unsigned align)
 
void LLVMAddCallSiteAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef A)
 
unsigned LLVMGetCallSiteAttributeCount (LLVMValueRef C, LLVMAttributeIndex Idx)
 
void LLVMGetCallSiteAttributes (LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef *Attrs)
 
LLVMAttributeRef LLVMGetCallSiteEnumAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, unsigned KindID)
 
LLVMAttributeRef LLVMGetCallSiteStringAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
 
void LLVMRemoveCallSiteEnumAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, unsigned KindID)
 
void LLVMRemoveCallSiteStringAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
 
LLVMValueRef LLVMGetCalledValue (LLVMValueRef Instr)
 Obtain the pointer to the function invoked by this instruction.
 
LLVMTypeRef LLVMGetCalledFunctionType (LLVMValueRef Instr)
 Obtain the function type called by this instruction.
 
unsigned LLVMGetNumOperandBundles (LLVMValueRef C)
 Obtain the number of operand bundles attached to this instruction.
 
LLVMOperandBundleRef LLVMGetOperandBundleAtIndex (LLVMValueRef C, unsigned Index)
 Obtain the operand bundle attached to this instruction at the given index.
 
LLVMBool LLVMIsTailCall (LLVMValueRef Call)
 Obtain whether a call instruction is a tail call.
 
void LLVMSetTailCall (LLVMValueRef Call, LLVMBool isTailCall)
 Set whether a call instruction is a tail call.
 
LLVMTailCallKind LLVMGetTailCallKind (LLVMValueRef Call)
 Obtain a tail call kind of the call instruction.
 
void LLVMSetTailCallKind (LLVMValueRef Call, LLVMTailCallKind kind)
 Set the call kind of the call instruction.
 
LLVMBasicBlockRef LLVMGetNormalDest (LLVMValueRef Invoke)
 Return the normal destination basic block.
 
LLVMBasicBlockRef LLVMGetUnwindDest (LLVMValueRef Invoke)
 Return the unwind destination basic block.
 
void LLVMSetNormalDest (LLVMValueRef Invoke, LLVMBasicBlockRef B)
 Set the normal destination basic block.
 
void LLVMSetUnwindDest (LLVMValueRef Invoke, LLVMBasicBlockRef B)
 Set the unwind destination basic block.
 
LLVMBasicBlockRef LLVMGetCallBrDefaultDest (LLVMValueRef CallBr)
 Get the default destination of a CallBr instruction.
 
unsigned LLVMGetCallBrNumIndirectDests (LLVMValueRef CallBr)
 Get the number of indirect destinations of a CallBr instruction.
 
LLVMBasicBlockRef LLVMGetCallBrIndirectDest (LLVMValueRef CallBr, unsigned Idx)
 Get the indirect destination of a CallBr instruction at the given index.
 
unsigned LLVMGetNumSuccessors (LLVMValueRef Term)
 Return the number of successors that this terminator has.
 
LLVMBasicBlockRef LLVMGetSuccessor (LLVMValueRef Term, unsigned i)
 Return the specified successor.
 
void LLVMSetSuccessor (LLVMValueRef Term, unsigned i, LLVMBasicBlockRef block)
 Update the specified successor to point at the provided block.
 
LLVMBool LLVMIsConditional (LLVMValueRef Branch)
 Return if a branch is conditional.
 
LLVMValueRef LLVMGetCondition (LLVMValueRef Branch)
 Return the condition of a branch instruction.
 
void LLVMSetCondition (LLVMValueRef Branch, LLVMValueRef Cond)
 Set the condition of a branch instruction.
 
LLVMBasicBlockRef LLVMGetSwitchDefaultDest (LLVMValueRef Switch)
 Obtain the default destination basic block of a switch instruction.
 
LLVMTypeRef LLVMGetAllocatedType (LLVMValueRef Alloca)
 Obtain the type that is being allocated by the alloca instruction.
 
LLVMBool LLVMIsInBounds (LLVMValueRef GEP)
 Check whether the given GEP operator is inbounds.
 
void LLVMSetIsInBounds (LLVMValueRef GEP, LLVMBool InBounds)
 Set the given GEP instruction to be inbounds or not.
 
LLVMTypeRef LLVMGetGEPSourceElementType (LLVMValueRef GEP)
 Get the source element type of the given GEP operator.
 
LLVMGEPNoWrapFlags LLVMGEPGetNoWrapFlags (LLVMValueRef GEP)
 Get the no-wrap related flags for the given GEP instruction.
 
void LLVMGEPSetNoWrapFlags (LLVMValueRef GEP, LLVMGEPNoWrapFlags NoWrapFlags)
 Set the no-wrap related flags for the given GEP instruction.
 
void LLVMAddIncoming (LLVMValueRef PhiNode, LLVMValueRef *IncomingValues, LLVMBasicBlockRef *IncomingBlocks, unsigned Count)
 Add an incoming value to the end of a PHI list.
 
unsigned LLVMCountIncoming (LLVMValueRef PhiNode)
 Obtain the number of incoming basic blocks to a PHI node.
 
LLVMValueRef LLVMGetIncomingValue (LLVMValueRef PhiNode, unsigned Index)
 Obtain an incoming value to a PHI node as an LLVMValueRef.
 
LLVMBasicBlockRef LLVMGetIncomingBlock (LLVMValueRef PhiNode, unsigned Index)
 Obtain an incoming value to a PHI node as an LLVMBasicBlockRef.
 
unsigned LLVMGetNumIndices (LLVMValueRef Inst)
 Obtain the number of indices.
 
const unsignedLLVMGetIndices (LLVMValueRef Inst)
 Obtain the indices as an array.
 
LLVMBuilderRef LLVMCreateBuilderInContext (LLVMContextRef C)
 
LLVMBuilderRef LLVMCreateBuilder (void)
 
static void LLVMPositionBuilderImpl (IRBuilder<> *Builder, BasicBlock *Block, Instruction *Instr, bool BeforeDbgRecords)
 
void LLVMPositionBuilder (LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Instr)
 Set the builder position before Instr but after any attached debug records, or if Instr is null set the position to the end of Block.
 
void LLVMPositionBuilderBeforeDbgRecords (LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Instr)
 Set the builder position before Instr and any attached debug records, or if Instr is null set the position to the end of Block.
 
void LLVMPositionBuilderBefore (LLVMBuilderRef Builder, LLVMValueRef Instr)
 Set the builder position before Instr but after any attached debug records.
 
void LLVMPositionBuilderBeforeInstrAndDbgRecords (LLVMBuilderRef Builder, LLVMValueRef Instr)
 Set the builder position before Instr and any attached debug records.
 
void LLVMPositionBuilderAtEnd (LLVMBuilderRef Builder, LLVMBasicBlockRef Block)
 
LLVMBasicBlockRef LLVMGetInsertBlock (LLVMBuilderRef Builder)
 
void LLVMClearInsertionPosition (LLVMBuilderRef Builder)
 
void LLVMInsertIntoBuilder (LLVMBuilderRef Builder, LLVMValueRef Instr)
 
void LLVMInsertIntoBuilderWithName (LLVMBuilderRef Builder, LLVMValueRef Instr, const char *Name)
 
void LLVMDisposeBuilder (LLVMBuilderRef Builder)
 
LLVMMetadataRef LLVMGetCurrentDebugLocation2 (LLVMBuilderRef Builder)
 Get location information used by debugging information.
 
void LLVMSetCurrentDebugLocation2 (LLVMBuilderRef Builder, LLVMMetadataRef Loc)
 Set location information used by debugging information.
 
void LLVMSetCurrentDebugLocation (LLVMBuilderRef Builder, LLVMValueRef L)
 Deprecated: Passing the NULL location will crash.
 
LLVMValueRef LLVMGetCurrentDebugLocation (LLVMBuilderRef Builder)
 Deprecated: Returning the NULL location will crash.
 
void LLVMSetInstDebugLocation (LLVMBuilderRef Builder, LLVMValueRef Inst)
 Attempts to set the debug location for the given instruction using the current debug location for the given builder.
 
void LLVMAddMetadataToInst (LLVMBuilderRef Builder, LLVMValueRef Inst)
 Adds the metadata registered with the given builder to the given instruction.
 
void LLVMBuilderSetDefaultFPMathTag (LLVMBuilderRef Builder, LLVMMetadataRef FPMathTag)
 Set the default floating-point math metadata for the given builder.
 
LLVMContextRef LLVMGetBuilderContext (LLVMBuilderRef Builder)
 Obtain the context to which this builder is associated.
 
LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag (LLVMBuilderRef Builder)
 Get the dafult floating-point math metadata for a given builder.
 
LLVMValueRef LLVMBuildRetVoid (LLVMBuilderRef B)
 
LLVMValueRef LLVMBuildRet (LLVMBuilderRef B, LLVMValueRef V)
 
LLVMValueRef LLVMBuildAggregateRet (LLVMBuilderRef B, LLVMValueRef *RetVals, unsigned N)
 
LLVMValueRef LLVMBuildBr (LLVMBuilderRef B, LLVMBasicBlockRef Dest)
 
LLVMValueRef LLVMBuildCondBr (LLVMBuilderRef B, LLVMValueRef If, LLVMBasicBlockRef Then, LLVMBasicBlockRef Else)
 
LLVMValueRef LLVMBuildSwitch (LLVMBuilderRef B, LLVMValueRef V, LLVMBasicBlockRef Else, unsigned NumCases)
 
LLVMValueRef LLVMBuildIndirectBr (LLVMBuilderRef B, LLVMValueRef Addr, unsigned NumDests)
 
LLVMValueRef LLVMBuildCallBr (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMBasicBlockRef DefaultDest, LLVMBasicBlockRef *IndirectDests, unsigned NumIndirectDests, LLVMValueRef *Args, unsigned NumArgs, LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name)
 
LLVMValueRef LLVMBuildInvoke2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, const char *Name)
 
LLVMValueRef LLVMBuildInvokeWithOperandBundles (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name)
 
LLVMValueRef LLVMBuildLandingPad (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned NumClauses, const char *Name)
 
LLVMValueRef LLVMBuildCatchPad (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
 
LLVMValueRef LLVMBuildCleanupPad (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
 
LLVMValueRef LLVMBuildResume (LLVMBuilderRef B, LLVMValueRef Exn)
 
LLVMValueRef LLVMBuildCatchSwitch (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMBasicBlockRef UnwindBB, unsigned NumHandlers, const char *Name)
 
LLVMValueRef LLVMBuildCatchRet (LLVMBuilderRef B, LLVMValueRef CatchPad, LLVMBasicBlockRef BB)
 
LLVMValueRef LLVMBuildCleanupRet (LLVMBuilderRef B, LLVMValueRef CatchPad, LLVMBasicBlockRef BB)
 
LLVMValueRef LLVMBuildUnreachable (LLVMBuilderRef B)
 
void LLVMAddCase (LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest)
 
void LLVMAddDestination (LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest)
 
unsigned LLVMGetNumClauses (LLVMValueRef LandingPad)
 
LLVMValueRef LLVMGetClause (LLVMValueRef LandingPad, unsigned Idx)
 
void LLVMAddClause (LLVMValueRef LandingPad, LLVMValueRef ClauseVal)
 
LLVMBool LLVMIsCleanup (LLVMValueRef LandingPad)
 
void LLVMSetCleanup (LLVMValueRef LandingPad, LLVMBool Val)
 
void LLVMAddHandler (LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest)
 
unsigned LLVMGetNumHandlers (LLVMValueRef CatchSwitch)
 
void LLVMGetHandlers (LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers)
 Obtain the basic blocks acting as handlers for a catchswitch instruction.
 
LLVMValueRef LLVMGetParentCatchSwitch (LLVMValueRef CatchPad)
 Get the parent catchswitch instruction of a catchpad instruction.
 
void LLVMSetParentCatchSwitch (LLVMValueRef CatchPad, LLVMValueRef CatchSwitch)
 Set the parent catchswitch instruction of a catchpad instruction.
 
LLVMValueRef LLVMGetArgOperand (LLVMValueRef Funclet, unsigned i)
 
void LLVMSetArgOperand (LLVMValueRef Funclet, unsigned i, LLVMValueRef value)
 
static FastMathFlags mapFromLLVMFastMathFlags (LLVMFastMathFlags FMF)
 
static LLVMFastMathFlags mapToLLVMFastMathFlags (FastMathFlags FMF)
 
LLVMValueRef LLVMBuildAdd (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildNSWAdd (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildNUWAdd (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildFAdd (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildSub (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildNSWSub (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildNUWSub (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildFSub (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildMul (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildNSWMul (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildNUWMul (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildFMul (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildUDiv (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildExactUDiv (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildSDiv (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildExactSDiv (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildFDiv (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildURem (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildSRem (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildFRem (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildShl (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildLShr (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildAShr (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildAnd (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildOr (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildXor (LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildBinOp (LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildNeg (LLVMBuilderRef B, LLVMValueRef V, const char *Name)
 
LLVMValueRef LLVMBuildNSWNeg (LLVMBuilderRef B, LLVMValueRef V, const char *Name)
 
LLVMValueRef LLVMBuildNUWNeg (LLVMBuilderRef B, LLVMValueRef V, const char *Name)
 
LLVMValueRef LLVMBuildFNeg (LLVMBuilderRef B, LLVMValueRef V, const char *Name)
 
LLVMValueRef LLVMBuildNot (LLVMBuilderRef B, LLVMValueRef V, const char *Name)
 
LLVMBool LLVMGetNUW (LLVMValueRef ArithInst)
 
void LLVMSetNUW (LLVMValueRef ArithInst, LLVMBool HasNUW)
 
LLVMBool LLVMGetNSW (LLVMValueRef ArithInst)
 
void LLVMSetNSW (LLVMValueRef ArithInst, LLVMBool HasNSW)
 
LLVMBool LLVMGetExact (LLVMValueRef DivOrShrInst)
 
void LLVMSetExact (LLVMValueRef DivOrShrInst, LLVMBool IsExact)
 
LLVMBool LLVMGetNNeg (LLVMValueRef NonNegInst)
 Gets if the instruction has the non-negative flag set.
 
void LLVMSetNNeg (LLVMValueRef NonNegInst, LLVMBool IsNonNeg)
 Sets the non-negative flag for the instruction.
 
LLVMFastMathFlags LLVMGetFastMathFlags (LLVMValueRef FPMathInst)
 Get the flags for which fast-math-style optimizations are allowed for this value.
 
void LLVMSetFastMathFlags (LLVMValueRef FPMathInst, LLVMFastMathFlags FMF)
 Sets the flags for which fast-math-style optimizations are allowed for this value.
 
LLVMBool LLVMCanValueUseFastMathFlags (LLVMValueRef V)
 Check if a given value can potentially have fast math flags.
 
LLVMBool LLVMGetIsDisjoint (LLVMValueRef Inst)
 Gets whether the instruction has the disjoint flag set.
 
void LLVMSetIsDisjoint (LLVMValueRef Inst, LLVMBool IsDisjoint)
 Sets the disjoint flag for the instruction.
 
LLVMValueRef LLVMBuildMalloc (LLVMBuilderRef B, LLVMTypeRef Ty, const char *Name)
 
LLVMValueRef LLVMBuildArrayMalloc (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)
 
LLVMValueRef LLVMBuildMemSet (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Val, LLVMValueRef Len, unsigned Align)
 Creates and inserts a memset to the specified pointer and the specified value.
 
LLVMValueRef LLVMBuildMemCpy (LLVMBuilderRef B, LLVMValueRef Dst, unsigned DstAlign, LLVMValueRef Src, unsigned SrcAlign, LLVMValueRef Size)
 Creates and inserts a memcpy between the specified pointers.
 
LLVMValueRef LLVMBuildMemMove (LLVMBuilderRef B, LLVMValueRef Dst, unsigned DstAlign, LLVMValueRef Src, unsigned SrcAlign, LLVMValueRef Size)
 Creates and inserts a memmove between the specified pointers.
 
LLVMValueRef LLVMBuildAlloca (LLVMBuilderRef B, LLVMTypeRef Ty, const char *Name)
 
LLVMValueRef LLVMBuildArrayAlloca (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)
 
LLVMValueRef LLVMBuildFree (LLVMBuilderRef B, LLVMValueRef PointerVal)
 
LLVMValueRef LLVMBuildLoad2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PointerVal, const char *Name)
 
LLVMValueRef LLVMBuildStore (LLVMBuilderRef B, LLVMValueRef Val, LLVMValueRef PointerVal)
 
static AtomicOrdering mapFromLLVMOrdering (LLVMAtomicOrdering Ordering)
 
static LLVMAtomicOrdering mapToLLVMOrdering (AtomicOrdering Ordering)
 
static AtomicRMWInst::BinOp mapFromLLVMRMWBinOp (LLVMAtomicRMWBinOp BinOp)
 
static LLVMAtomicRMWBinOp mapToLLVMRMWBinOp (AtomicRMWInst::BinOp BinOp)
 
LLVMValueRef LLVMBuildFence (LLVMBuilderRef B, LLVMAtomicOrdering Ordering, LLVMBool isSingleThread, const char *Name)
 
LLVMValueRef LLVMBuildFenceSyncScope (LLVMBuilderRef B, LLVMAtomicOrdering Ordering, unsigned SSID, const char *Name)
 
LLVMValueRef LLVMBuildGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)
 
LLVMValueRef LLVMBuildInBoundsGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)
 
LLVMValueRef LLVMBuildGEPWithNoWrapFlags (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name, LLVMGEPNoWrapFlags NoWrapFlags)
 Creates a GetElementPtr instruction.
 
LLVMValueRef LLVMBuildStructGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, unsigned Idx, const char *Name)
 
LLVMValueRef LLVMBuildGlobalString (LLVMBuilderRef B, const char *Str, const char *Name)
 
LLVMValueRef LLVMBuildGlobalStringPtr (LLVMBuilderRef B, const char *Str, const char *Name)
 
LLVMBool LLVMGetVolatile (LLVMValueRef MemAccessInst)
 
void LLVMSetVolatile (LLVMValueRef MemAccessInst, LLVMBool isVolatile)
 
LLVMBool LLVMGetWeak (LLVMValueRef CmpXchgInst)
 
void LLVMSetWeak (LLVMValueRef CmpXchgInst, LLVMBool isWeak)
 
LLVMAtomicOrdering LLVMGetOrdering (LLVMValueRef MemAccessInst)
 
void LLVMSetOrdering (LLVMValueRef MemAccessInst, LLVMAtomicOrdering Ordering)
 
LLVMAtomicRMWBinOp LLVMGetAtomicRMWBinOp (LLVMValueRef Inst)
 
void LLVMSetAtomicRMWBinOp (LLVMValueRef Inst, LLVMAtomicRMWBinOp BinOp)
 
LLVMValueRef LLVMBuildTrunc (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildZExt (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildSExt (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildFPToUI (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildFPToSI (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildUIToFP (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildSIToFP (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildFPTrunc (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildFPExt (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildPtrToInt (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildIntToPtr (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildBitCast (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildAddrSpaceCast (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildZExtOrBitCast (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildSExtOrBitCast (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildTruncOrBitCast (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildCast (LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildPointerCast (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMValueRef LLVMBuildIntCast2 (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, LLVMBool IsSigned, const char *Name)
 
LLVMValueRef LLVMBuildIntCast (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 Deprecated: This cast is always signed.
 
LLVMValueRef LLVMBuildFPCast (LLVMBuilderRef B, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
 
LLVMOpcode LLVMGetCastOpcode (LLVMValueRef Src, LLVMBool SrcIsSigned, LLVMTypeRef DestTy, LLVMBool DestIsSigned)
 
LLVMValueRef LLVMBuildICmp (LLVMBuilderRef B, LLVMIntPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildFCmp (LLVMBuilderRef B, LLVMRealPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildPhi (LLVMBuilderRef B, LLVMTypeRef Ty, const char *Name)
 
LLVMValueRef LLVMBuildCall2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
 
LLVMValueRef LLVMBuildCallWithOperandBundles (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name)
 
LLVMValueRef LLVMBuildSelect (LLVMBuilderRef B, LLVMValueRef If, LLVMValueRef Then, LLVMValueRef Else, const char *Name)
 
LLVMValueRef LLVMBuildVAArg (LLVMBuilderRef B, LLVMValueRef List, LLVMTypeRef Ty, const char *Name)
 
LLVMValueRef LLVMBuildExtractElement (LLVMBuilderRef B, LLVMValueRef VecVal, LLVMValueRef Index, const char *Name)
 
LLVMValueRef LLVMBuildInsertElement (LLVMBuilderRef B, LLVMValueRef VecVal, LLVMValueRef EltVal, LLVMValueRef Index, const char *Name)
 
LLVMValueRef LLVMBuildShuffleVector (LLVMBuilderRef B, LLVMValueRef V1, LLVMValueRef V2, LLVMValueRef Mask, const char *Name)
 
LLVMValueRef LLVMBuildExtractValue (LLVMBuilderRef B, LLVMValueRef AggVal, unsigned Index, const char *Name)
 
LLVMValueRef LLVMBuildInsertValue (LLVMBuilderRef B, LLVMValueRef AggVal, LLVMValueRef EltVal, unsigned Index, const char *Name)
 
LLVMValueRef LLVMBuildFreeze (LLVMBuilderRef B, LLVMValueRef Val, const char *Name)
 
LLVMValueRef LLVMBuildIsNull (LLVMBuilderRef B, LLVMValueRef Val, const char *Name)
 
LLVMValueRef LLVMBuildIsNotNull (LLVMBuilderRef B, LLVMValueRef Val, const char *Name)
 
LLVMValueRef LLVMBuildPtrDiff2 (LLVMBuilderRef B, LLVMTypeRef ElemTy, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
 
LLVMValueRef LLVMBuildAtomicRMW (LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val, LLVMAtomicOrdering ordering, LLVMBool singleThread)
 
LLVMValueRef LLVMBuildAtomicRMWSyncScope (LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val, LLVMAtomicOrdering ordering, unsigned SSID)
 
LLVMValueRef LLVMBuildAtomicCmpXchg (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New, LLVMAtomicOrdering SuccessOrdering, LLVMAtomicOrdering FailureOrdering, LLVMBool singleThread)
 
LLVMValueRef LLVMBuildAtomicCmpXchgSyncScope (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New, LLVMAtomicOrdering SuccessOrdering, LLVMAtomicOrdering FailureOrdering, unsigned SSID)
 
unsigned LLVMGetNumMaskElements (LLVMValueRef SVInst)
 Get the number of elements in the mask of a ShuffleVector instruction.
 
int LLVMGetMaskValue (LLVMValueRef SVInst, unsigned Elt)
 Get the mask value at position Elt in the mask of a ShuffleVector instruction.
 
int LLVMGetUndefMaskElem (void)
 
LLVMBool LLVMIsAtomic (LLVMValueRef Inst)
 Returns whether an instruction is an atomic instruction, e.g., atomicrmw, cmpxchg, fence, or loads and stores with atomic ordering.
 
LLVMBool LLVMIsAtomicSingleThread (LLVMValueRef AtomicInst)
 
void LLVMSetAtomicSingleThread (LLVMValueRef AtomicInst, LLVMBool NewValue)
 
unsigned LLVMGetAtomicSyncScopeID (LLVMValueRef AtomicInst)
 Returns the synchronization scope ID of an atomic instruction.
 
void LLVMSetAtomicSyncScopeID (LLVMValueRef AtomicInst, unsigned SSID)
 Sets the synchronization scope ID of an atomic instruction.
 
LLVMAtomicOrdering LLVMGetCmpXchgSuccessOrdering (LLVMValueRef CmpXchgInst)
 
void LLVMSetCmpXchgSuccessOrdering (LLVMValueRef CmpXchgInst, LLVMAtomicOrdering Ordering)
 
LLVMAtomicOrdering LLVMGetCmpXchgFailureOrdering (LLVMValueRef CmpXchgInst)
 
void LLVMSetCmpXchgFailureOrdering (LLVMValueRef CmpXchgInst, LLVMAtomicOrdering Ordering)
 
LLVMModuleProviderRef LLVMCreateModuleProviderForExistingModule (LLVMModuleRef M)
 Changes the type of M so it can be passed to FunctionPassManagers and the JIT.
 
void LLVMDisposeModuleProvider (LLVMModuleProviderRef MP)
 Destroys the module M.
 
LLVMBool LLVMCreateMemoryBufferWithContentsOfFile (const char *Path, LLVMMemoryBufferRef *OutMemBuf, char **OutMessage)
 
LLVMBool LLVMCreateMemoryBufferWithSTDIN (LLVMMemoryBufferRef *OutMemBuf, char **OutMessage)
 
LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange (const char *InputData, size_t InputDataLength, const char *BufferName, LLVMBool RequiresNullTerminator)
 
LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy (const char *InputData, size_t InputDataLength, const char *BufferName)
 
const charLLVMGetBufferStart (LLVMMemoryBufferRef MemBuf)
 
size_t LLVMGetBufferSize (LLVMMemoryBufferRef MemBuf)
 
void LLVMDisposeMemoryBuffer (LLVMMemoryBufferRef MemBuf)
 
LLVMPassManagerRef LLVMCreatePassManager ()
 Constructs a new whole-module pass pipeline.
 
LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule (LLVMModuleRef M)
 Constructs a new function-by-function pass pipeline over the module provider.
 
LLVMPassManagerRef LLVMCreateFunctionPassManager (LLVMModuleProviderRef P)
 Deprecated: Use LLVMCreateFunctionPassManagerForModule instead.
 
LLVMBool LLVMRunPassManager (LLVMPassManagerRef PM, LLVMModuleRef M)
 Initializes, executes on the provided module, and finalizes all of the passes scheduled in the pass manager.
 
LLVMBool LLVMInitializeFunctionPassManager (LLVMPassManagerRef FPM)
 Initializes all of the function passes scheduled in the function pass manager.
 
LLVMBool LLVMRunFunctionPassManager (LLVMPassManagerRef FPM, LLVMValueRef F)
 Executes all of the function passes scheduled in the function pass manager on the provided function.
 
LLVMBool LLVMFinalizeFunctionPassManager (LLVMPassManagerRef FPM)
 Finalizes all of the function passes scheduled in the function pass manager.
 
void LLVMDisposePassManager (LLVMPassManagerRef PM)
 Frees the memory of a pass pipeline.
 
LLVMBool LLVMStartMultithreaded ()
 Deprecated: Multi-threading can only be enabled/disabled with the compile time define LLVM_ENABLE_THREADS.
 
void LLVMStopMultithreaded ()
 Deprecated: Multi-threading can only be enabled/disabled with the compile time define LLVM_ENABLE_THREADS.
 
LLVMBool LLVMIsMultithreaded ()
 Check whether LLVM is executing in thread-safe mode or not.
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "ir"

Definition at line 55 of file Core.cpp.

◆ HANDLE_INST [1/2]

#define HANDLE_INST (   num,
  opc,
  clas 
)    case num: return LLVM##opc;

◆ HANDLE_INST [2/2]

#define HANDLE_INST (   num,
  opc,
  clas 
)    case LLVM##opc: return num;

◆ HANDLE_VALUE

#define HANDLE_VALUE (   Name)
Value:
case Value::Name##Val: \
return LLVM##Name##ValueKind;
std::string Name

◆ LLVM_C_API

#define LLVM_C_API   1

◆ LLVM_DEFINE_VALUE_CAST

#define LLVM_DEFINE_VALUE_CAST (   name)
Value:
LLVMValueRef LLVMIsA##name(LLVMValueRef Val) { \
return wrap(static_cast<Value*>(dyn_cast_or_null<name>(unwrap(Val)))); \
}
BasicBlock ** unwrap(LLVMBasicBlockRef *BBs)
Definition: Core.cpp:51
static const char * name
Definition: SMEABIPass.cpp:50
LLVM Value Representation.
Definition: Value.h:74
struct LLVMOpaqueValue * LLVMValueRef
Represents an individual value in LLVM IR.
Definition: Types.h:75
LLVMAttributeRef wrap(Attribute Attr)
Definition: Attributes.h:315

Definition at line 1141 of file Core.cpp.

Typedef Documentation

◆ MetadataEntries

Definition at line 1111 of file Core.cpp.

Function Documentation

◆ extractMDNode()

static MDNode * extractMDNode ( MetadataAsValue MAV)
static

◆ getGlobalContext()

static LLVMContext & getGlobalContext ( )
static

Definition at line 93 of file Core.cpp.

Referenced by LLVMGetGlobalContext(), and LLVMModuleCreateWithName().

◆ getMDNodeOperandImpl()

static LLVMValueRef getMDNodeOperandImpl ( LLVMContext Context,
const MDNode N,
unsigned  Index 
)
static

Definition at line 1196 of file Core.cpp.

References llvm::CallingConv::C, llvm::MetadataAsValue::get(), N, and llvm::wrap().

Referenced by LLVMGetMDNodeOperands(), and LLVMGetOperand().

◆ llvm_getMetadata()

static LLVMValueMetadataEntry * llvm_getMetadata ( size_t *  NumEntries,
llvm::function_ref< void(MetadataEntries &)>  AccessMD 
)
static

◆ llvm_map_to_intrinsic_id()

static Intrinsic::ID llvm_map_to_intrinsic_id ( unsigned  ID)
static

◆ LLVMBuildNUWNeg()

LLVMValueRef LLVMBuildNUWNeg ( LLVMBuilderRef  B,
LLVMValueRef  V,
const char Name 
)

Definition at line 3729 of file Core.cpp.

References B, I, Name, unwrap(), and llvm::wrap().

◆ LLVMConstIntOfString()

LLVMValueRef LLVMConstIntOfString ( LLVMTypeRef  IntTy,
const char  Str[],
uint8_t  Radix 
)

Definition at line 1549 of file Core.cpp.

References llvm::wrap().

◆ LLVMConstIntOfStringAndSize()

LLVMValueRef LLVMConstIntOfStringAndSize ( LLVMTypeRef  IntTy,
const char  Str[],
unsigned  SLen,
uint8_t  Radix 
)

Definition at line 1555 of file Core.cpp.

References llvm::wrap().

◆ LLVMConstNUWNeg()

LLVMValueRef LLVMConstNUWNeg ( LLVMValueRef  ConstantVal)

Definition at line 1760 of file Core.cpp.

References llvm::ConstantExpr::getNeg(), and llvm::wrap().

◆ LLVMConstRealOfStringAndSize()

LLVMValueRef LLVMConstRealOfStringAndSize ( LLVMTypeRef  RealTy,
const char  Str[],
unsigned  SLen 
)

Definition at line 1569 of file Core.cpp.

References unwrap(), and llvm::wrap().

◆ LLVMGetElementAsConstant()

LLVMValueRef LLVMGetElementAsConstant ( LLVMValueRef  C,
unsigned  idx 
)

Definition at line 1629 of file Core.cpp.

References llvm::CallingConv::C, and llvm::wrap().

◆ LLVMPositionBuilderImpl()

static void LLVMPositionBuilderImpl ( IRBuilder<> *  Builder,
BasicBlock Block,
Instruction Instr,
bool  BeforeDbgRecords 
)
static

◆ map_from_llvmModFlagBehavior()

static LLVMModuleFlagBehavior map_from_llvmModFlagBehavior ( Module::ModFlagBehavior  Behavior)
static

◆ map_from_llvmopcode()

static int map_from_llvmopcode ( LLVMOpcode  code)
static

Definition at line 1702 of file Core.cpp.

References llvm_unreachable.

Referenced by LLVMBuildBinOp(), and LLVMBuildCast().

◆ map_to_llvmModFlagBehavior()

static Module::ModFlagBehavior map_to_llvmModFlagBehavior ( LLVMModuleFlagBehavior  Behavior)
static

◆ map_to_llvmopcode()

static LLVMOpcode map_to_llvmopcode ( int  opcode)
static

Definition at line 1692 of file Core.cpp.

References llvm_unreachable.

Referenced by LLVMGetCastOpcode(), LLVMGetConstOpcode(), and LLVMGetInstructionOpcode().

◆ mapFromLLVMFastMathFlags()

static FastMathFlags mapFromLLVMFastMathFlags ( LLVMFastMathFlags  FMF)
static

◆ mapFromLLVMGEPNoWrapFlags()

static GEPNoWrapFlags mapFromLLVMGEPNoWrapFlags ( LLVMGEPNoWrapFlags  GEPFlags)
static

◆ mapFromLLVMOrdering()

static AtomicOrdering mapFromLLVMOrdering ( LLVMAtomicOrdering  Ordering)
static

◆ mapFromLLVMRMWBinOp()

static AtomicRMWInst::BinOp mapFromLLVMRMWBinOp ( LLVMAtomicRMWBinOp  BinOp)
static

◆ mapToLLVMFastMathFlags()

static LLVMFastMathFlags mapToLLVMFastMathFlags ( FastMathFlags  FMF)
static

◆ mapToLLVMGEPNoWrapFlags()

static LLVMGEPNoWrapFlags mapToLLVMGEPNoWrapFlags ( GEPNoWrapFlags  GEPFlags)
static

◆ mapToLLVMOrdering()

static LLVMAtomicOrdering mapToLLVMOrdering ( AtomicOrdering  Ordering)
static

◆ mapToLLVMRMWBinOp()

static LLVMAtomicRMWBinOp mapToLLVMRMWBinOp ( AtomicRMWInst::BinOp  BinOp)
static

◆ unwrap()

BasicBlock ** unwrap ( LLVMBasicBlockRef BBs)
inline

Definition at line 51 of file Core.cpp.

Referenced by LLVMAddAlias2(), LLVMAddAttributeAtIndex(), LLVMAddCallSiteAttribute(), LLVMAddCase(), LLVMAddDestination(), LLVMAddFunction(), LLVMAddGlobal(), LLVMAddGlobalIFunc(), LLVMAddGlobalInAddressSpace(), LLVMAddHandler(), LLVMAddIncoming(), LLVMAddMetadataToInst(), LLVMAddModuleFlag(), LLVMAddNamedMetadataOperand(), LLVMAlignOf(), LLVMAppendBasicBlockInContext(), LLVMAppendExistingBasicBlock(), LLVMAppendModuleInlineAsm(), LLVMArrayType(), LLVMArrayType2(), LLVMBasicBlockAsValue(), LLVMBFloatTypeInContext(), LLVMBlockAddress(), LLVMBuildAdd(), LLVMBuildAddrSpaceCast(), LLVMBuildAggregateRet(), LLVMBuildAlloca(), LLVMBuildAnd(), LLVMBuildArrayAlloca(), LLVMBuildArrayMalloc(), LLVMBuildAShr(), LLVMBuildAtomicCmpXchg(), LLVMBuildAtomicCmpXchgSyncScope(), LLVMBuildAtomicRMW(), LLVMBuildAtomicRMWSyncScope(), LLVMBuildBinOp(), LLVMBuildBitCast(), LLVMBuildBr(), LLVMBuildCall2(), LLVMBuildCallBr(), LLVMBuildCallWithOperandBundles(), LLVMBuildCast(), LLVMBuildCatchPad(), LLVMBuildCatchRet(), LLVMBuildCatchSwitch(), LLVMBuildCleanupPad(), LLVMBuildCleanupRet(), LLVMBuildCondBr(), LLVMBuilderGetDefaultFPMathTag(), LLVMBuilderSetDefaultFPMathTag(), LLVMBuildExactSDiv(), LLVMBuildExactUDiv(), LLVMBuildExtractElement(), LLVMBuildExtractValue(), LLVMBuildFAdd(), LLVMBuildFCmp(), LLVMBuildFDiv(), LLVMBuildFence(), LLVMBuildFenceSyncScope(), LLVMBuildFMul(), LLVMBuildFNeg(), LLVMBuildFPCast(), LLVMBuildFPExt(), LLVMBuildFPToSI(), LLVMBuildFPToUI(), LLVMBuildFPTrunc(), LLVMBuildFree(), LLVMBuildFreeze(), LLVMBuildFRem(), LLVMBuildFSub(), LLVMBuildGEP2(), LLVMBuildGEPWithNoWrapFlags(), LLVMBuildGlobalString(), LLVMBuildGlobalStringPtr(), LLVMBuildICmp(), LLVMBuildInBoundsGEP2(), LLVMBuildIndirectBr(), LLVMBuildInsertElement(), LLVMBuildInsertValue(), LLVMBuildIntCast(), LLVMBuildIntCast2(), LLVMBuildIntToPtr(), LLVMBuildInvoke2(), LLVMBuildInvokeWithOperandBundles(), LLVMBuildIsNotNull(), LLVMBuildIsNull(), LLVMBuildLandingPad(), LLVMBuildLoad2(), LLVMBuildLShr(), LLVMBuildMalloc(), LLVMBuildMemCpy(), LLVMBuildMemMove(), LLVMBuildMemSet(), LLVMBuildMul(), LLVMBuildNeg(), LLVMBuildNot(), LLVMBuildNSWAdd(), LLVMBuildNSWMul(), LLVMBuildNSWNeg(), LLVMBuildNSWSub(), LLVMBuildNUWAdd(), LLVMBuildNUWMul(), LLVMBuildNUWNeg(), LLVMBuildNUWSub(), LLVMBuildOr(), LLVMBuildPhi(), LLVMBuildPointerCast(), LLVMBuildPtrDiff2(), LLVMBuildPtrToInt(), LLVMBuildResume(), LLVMBuildRet(), LLVMBuildRetVoid(), LLVMBuildSDiv(), LLVMBuildSelect(), LLVMBuildSExt(), LLVMBuildSExtOrBitCast(), LLVMBuildShl(), LLVMBuildShuffleVector(), LLVMBuildSIToFP(), LLVMBuildSRem(), LLVMBuildStore(), LLVMBuildStructGEP2(), LLVMBuildSub(), LLVMBuildSwitch(), LLVMBuildTrunc(), LLVMBuildTruncOrBitCast(), LLVMBuildUDiv(), LLVMBuildUIToFP(), LLVMBuildUnreachable(), LLVMBuildURem(), LLVMBuildVAArg(), LLVMBuildXor(), LLVMBuildZExt(), LLVMBuildZExtOrBitCast(), LLVMClearInsertionPosition(), LLVMConstAddrSpaceCast(), LLVMConstAllOnes(), LLVMConstArray(), LLVMConstArray2(), LLVMConstBitCast(), LLVMConstGEP2(), LLVMConstGEPWithNoWrapFlags(), LLVMConstInBoundsGEP2(), LLVMConstInlineAsm(), LLVMConstIntToPtr(), LLVMConstNull(), LLVMConstPointerCast(), LLVMConstPtrToInt(), LLVMConstReal(), LLVMConstRealOfString(), LLVMConstRealOfStringAndSize(), LLVMConstStringInContext(), LLVMConstStringInContext2(), LLVMConstStructInContext(), LLVMConstTrunc(), LLVMConstTruncOrBitCast(), LLVMContextDispose(), LLVMContextGetDiagnosticContext(), LLVMContextGetDiagnosticHandler(), LLVMContextSetDiagnosticHandler(), LLVMContextSetDiscardValueNames(), LLVMContextSetYieldCallback(), LLVMContextShouldDiscardValueNames(), LLVMCopyModuleFlagsMetadata(), LLVMCreateBasicBlockInContext(), LLVMCreateBuilderInContext(), LLVMCreateConstantRangeAttribute(), LLVMCreateEnumAttribute(), LLVMCreateFunctionPassManagerForModule(), LLVMCreateOperandBundle(), LLVMCreateStringAttribute(), LLVMCreateTypeAttribute(), LLVMDeleteBasicBlock(), LLVMDisposeBuilder(), LLVMDisposeMemoryBuffer(), LLVMDisposeModule(), LLVMDisposeModuleProvider(), LLVMDisposeOperandBundle(), LLVMDisposePassManager(), LLVMDoubleTypeInContext(), LLVMDumpModule(), LLVMDumpType(), LLVMDumpValue(), LLVMFloatTypeInContext(), LLVMFP128TypeInContext(), LLVMFunctionType(), LLVMGetAlignment(), LLVMGetBasicBlockName(), LLVMGetBasicBlockParent(), LLVMGetBasicBlockTerminator(), LLVMGetBufferSize(), LLVMGetBufferStart(), LLVMGetBuilderContext(), LLVMGetCastOpcode(), LLVMGetCmpXchgFailureOrdering(), LLVMGetCmpXchgSuccessOrdering(), LLVMGetCurrentDebugLocation(), LLVMGetCurrentDebugLocation2(), LLVMGetDataLayoutStr(), LLVMGetDebugLocColumn(), LLVMGetDebugLocDirectory(), LLVMGetDebugLocFilename(), LLVMGetDebugLocLine(), LLVMGetDiagInfoDescription(), LLVMGetDiagInfoSeverity(), LLVMGetElementType(), LLVMGetEnumAttributeKind(), LLVMGetEnumAttributeValue(), LLVMGetFCmpPredicate(), LLVMGetFirstFunction(), LLVMGetFirstGlobal(), LLVMGetFirstGlobalAlias(), LLVMGetFirstGlobalIFunc(), LLVMGetFirstInstruction(), LLVMGetFirstNamedMetadata(), LLVMGetFirstUse(), LLVMGetICmpPredicate(), LLVMGetIndices(), LLVMGetInsertBlock(), LLVMGetInstructionOpcode(), LLVMGetIntrinsicDeclaration(), LLVMGetIntrinsicID(), LLVMGetLastFunction(), LLVMGetLastGlobal(), LLVMGetLastGlobalAlias(), LLVMGetLastGlobalIFunc(), LLVMGetLastInstruction(), LLVMGetLastNamedMetadata(), LLVMGetMaskValue(), LLVMGetMDKindIDInContext(), LLVMGetMDNodeOperands(), LLVMGetMDString(), LLVMGetModuleContext(), LLVMGetModuleFlag(), LLVMGetModuleIdentifier(), LLVMGetModuleInlineAsm(), LLVMGetNamedFunction(), LLVMGetNamedFunctionWithLength(), LLVMGetNamedGlobal(), LLVMGetNamedGlobalAlias(), LLVMGetNamedGlobalIFunc(), LLVMGetNamedGlobalWithLength(), LLVMGetNamedMetadata(), LLVMGetNamedMetadataName(), LLVMGetNamedMetadataNumOperands(), LLVMGetNamedMetadataOperands(), LLVMGetNextBasicBlock(), LLVMGetNextNamedMetadata(), LLVMGetNextUse(), LLVMGetNumArgOperands(), LLVMGetNumContainedTypes(), LLVMGetNumIndices(), LLVMGetNumMaskElements(), LLVMGetNumOperandBundleArgs(), LLVMGetNumOperands(), LLVMGetOperand(), LLVMGetOperandBundleArgAtIndex(), LLVMGetOperandBundleTag(), LLVMGetOperandUse(), LLVMGetOrdering(), LLVMGetOrInsertNamedMetadata(), LLVMGetPoison(), LLVMGetPreviousBasicBlock(), LLVMGetPreviousNamedMetadata(), LLVMGetSourceFileName(), LLVMGetStringAttributeKind(), LLVMGetStringAttributeValue(), LLVMGetSubtypes(), LLVMGetSyncScopeID(), LLVMGetTarget(), LLVMGetTypeAttributeValue(), LLVMGetTypeByName(), LLVMGetTypeByName2(), LLVMGetTypeContext(), LLVMGetTypeKind(), LLVMGetUndef(), LLVMGetUnwindDest(), LLVMGetUsedValue(), LLVMGetUser(), LLVMGetValueContext(), LLVMGetValueKind(), LLVMGetValueName(), LLVMGetValueName2(), LLVMGetVolatile(), LLVMGlobalCopyAllMetadata(), LLVMHalfTypeInContext(), LLVMInsertBasicBlockInContext(), LLVMInsertExistingBasicBlockAfterInsertBlock(), LLVMInsertIntoBuilder(), LLVMInsertIntoBuilderWithName(), LLVMInstructionClone(), LLVMInt128TypeInContext(), LLVMInt16TypeInContext(), LLVMInt1TypeInContext(), LLVMInt32TypeInContext(), LLVMInt64TypeInContext(), LLVMInt8TypeInContext(), LLVMIntrinsicCopyOverloadedName(), LLVMIntrinsicCopyOverloadedName2(), LLVMIntrinsicGetType(), LLVMIntTypeInContext(), LLVMIsAMDNode(), LLVMIsAMDString(), LLVMIsATerminatorInst(), LLVMIsAValueAsMetadata(), LLVMIsConstant(), LLVMIsEnumAttribute(), LLVMIsNewDbgInfoFormat(), LLVMIsNull(), LLVMIsPoison(), LLVMIsStringAttribute(), LLVMIsTypeAttribute(), LLVMIsUndef(), LLVMLabelTypeInContext(), LLVMMDNodeInContext(), LLVMMDNodeInContext2(), LLVMMDStringInContext(), LLVMMDStringInContext2(), LLVMMetadataAsValue(), LLVMMetadataTypeInContext(), LLVMModuleCreateWithNameInContext(), LLVMMoveBasicBlockAfter(), LLVMMoveBasicBlockBefore(), LLVMPointerType(), LLVMPointerTypeInContext(), LLVMPositionBuilder(), LLVMPositionBuilderAtEnd(), LLVMPositionBuilderBefore(), LLVMPositionBuilderBeforeDbgRecords(), LLVMPositionBuilderBeforeInstrAndDbgRecords(), LLVMPPCFP128TypeInContext(), LLVMPrintDbgRecordToString(), LLVMPrintModuleToFile(), LLVMPrintModuleToString(), LLVMPrintTypeToString(), LLVMPrintValueToString(), LLVMRemoveBasicBlockFromParent(), LLVMReplaceAllUsesWith(), LLVMReplaceMDNodeOperandWith(), LLVMRunPassManager(), LLVMScalableVectorType(), LLVMSetAlignment(), LLVMSetArgOperand(), LLVMSetCmpXchgFailureOrdering(), LLVMSetCmpXchgSuccessOrdering(), LLVMSetCondition(), LLVMSetCurrentDebugLocation(), LLVMSetCurrentDebugLocation2(), LLVMSetDataLayout(), LLVMSetInstDebugLocation(), LLVMSetIsNewDbgInfoFormat(), LLVMSetModuleIdentifier(), LLVMSetModuleInlineAsm(), LLVMSetModuleInlineAsm2(), LLVMSetNormalDest(), LLVMSetOperand(), LLVMSetOrdering(), LLVMSetSourceFileName(), LLVMSetSuccessor(), LLVMSetTarget(), LLVMSetUnwindDest(), LLVMSetValueName(), LLVMSetValueName2(), LLVMSetVolatile(), LLVMSizeOf(), LLVMStructCreateNamed(), LLVMStructSetBody(), LLVMStructTypeInContext(), LLVMTargetExtTypeInContext(), LLVMTokenTypeInContext(), LLVMTypeIsSized(), LLVMTypeOf(), LLVMValueAsMetadata(), LLVMValueIsBasicBlock(), LLVMVectorType(), LLVMVoidTypeInContext(), LLVMX86AMXTypeInContext(), and LLVMX86FP80TypeInContext().