LLVM: Composite Constants (original) (raw)

Functions in this group operate on composite constants. More...

Functions
LLVM_C_ABI LLVMValueRef LLVMConstStringInContext (LLVMContextRef C, const char *Str, unsigned Length, LLVMBool DontNullTerminate)
Create a ConstantDataSequential and initialize it with a string.
LLVM_C_ABI LLVMValueRef LLVMConstStringInContext2 (LLVMContextRef C, const char *Str, size_t Length, LLVMBool DontNullTerminate)
Create a ConstantDataSequential and initialize it with a string.
LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED (LLVMValueRef LLVMConstString(const char *Str, unsigned Length, LLVMBool DontNullTerminate), "Use of the global context is deprecated, use LLVMConstStringInContext2 " "instead")
Create a ConstantDataSequential with string content in the global context.
LLVM_C_ABI LLVMBool LLVMIsConstantString (LLVMValueRef c)
Returns true if the specified constant is an array of i8.
LLVM_C_ABI const char * LLVMGetAsString (LLVMValueRef c, size_t *Length)
Get the given constant data sequential as a string.
LLVM_C_ABI const char * LLVMGetRawDataValues (LLVMValueRef c, size_t *SizeInBytes)
Get the raw, underlying bytes of the given constant data sequential.
LLVM_C_ABI LLVMValueRef LLVMConstStructInContext (LLVMContextRef C, LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)
Create an anonymous ConstantStruct with the specified values.
LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED (LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed), "Use of the global context is deprecated, use LLVMConstStructInContext " "instead")
Create a ConstantStruct in the global Context.
LLVM_C_ABI LLVMValueRef LLVMConstArray (LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals, unsigned Length)
Create a ConstantArray from values.
LLVM_C_ABI LLVMValueRef LLVMConstArray2 (LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals, uint64_t Length)
Create a ConstantArray from values.
LLVM_C_ABI LLVMValueRef LLVMConstDataArray (LLVMTypeRef ElementTy, const char *Data, size_t SizeInBytes)
Create a ConstantDataArray from raw values.
LLVM_C_ABI LLVMValueRef LLVMConstNamedStruct (LLVMTypeRef StructTy, LLVMValueRef *ConstantVals, unsigned Count)
Create a non-anonymous ConstantStruct from values.
LLVM_C_ABI LLVMValueRef LLVMGetAggregateElement (LLVMValueRef C, unsigned Idx)
Get element of a constant aggregate (struct, array or vector) at the specified index.
LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED (LLVMValueRef LLVMGetElementAsConstant(LLVMValueRef C, unsigned idx), "Use LLVMGetAggregateElement instead")
Get an element at specified index as a constant.
LLVM_C_ABI LLVMValueRef LLVMConstVector (LLVMValueRef *ScalarConstantVals, unsigned Size)
Create a ConstantVector from values.
LLVM_C_ABI LLVMValueRef LLVMConstantPtrAuth (LLVMValueRef Ptr, LLVMValueRef Key, LLVMValueRef Disc, LLVMValueRef AddrDisc)
Create a ConstantPtrAuth constant with the given values.

Functions in this group operate on composite constants.

LLVM_ATTRIBUTE_C_DEPRECATED() [1/3]

LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED ( LLVMValueRef _LLVMConstString_const char *Str, unsigned Length, LLVMBool DontNullTerminate,
"Use of the global context is deprecated,
use LLVMConstStringInContext2 " "instead" )

LLVM_ATTRIBUTE_C_DEPRECATED() [2/3]

LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED ( LLVMValueRef _LLVMConstStruct_LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed,
"Use of the global context is deprecated,
use LLVMConstStructInContext " "instead" )

Create a ConstantStruct in the global Context.

This is the same as LLVMConstStructInContext except it operates on the global Context.

See also

LLVMConstStructInContext()

References C(), and LLVM_C_ABI.

LLVM_ATTRIBUTE_C_DEPRECATED() [3/3]

LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED ( LLVMValueRef _LLVMGetElementAsConstant_LLVMValueRef C, unsigned idx,
"Use LLVMGetAggregateElement instead" )

Get an element at specified index as a constant.

See also

ConstantDataSequential::getElementAsConstant()

References C(), LLVM_C_ABI, and Size.

LLVMConstantPtrAuth()

LLVMConstArray()

LLVMConstArray2()

LLVMConstDataArray()

Create a ConstantDataArray from raw values.

ElementTy must be one of i8, i16, i32, i64, half, bfloat, float, or double. Data points to a contiguous buffer of raw values in the host endianness. The element count is inferred from the element type and the data size in bytes.

See also

llvm::ConstantDataArray::getRaw()

Definition at line 1675 of file Core.cpp.

References llvm::Data, llvm::ConstantDataArray::getRaw(), llvm::unwrap(), and llvm::wrap().

LLVMConstNamedStruct()

LLVMConstStringInContext()

LLVMConstStringInContext2()

LLVMConstStructInContext()

LLVMConstVector()

LLVMGetAggregateElement()

LLVMGetAsString()

LLVMGetRawDataValues()

Get the raw, underlying bytes of the given constant data sequential.

This is the same as LLVMGetAsString except it works for all constant data sequentials, not just i8 arrays.

See also

ConstantDataSequential::getRawDataValues()

Definition at line 1657 of file Core.cpp.

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

LLVMIsConstantString()