mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-03 16:03:21 +00:00
Add LLVMConstNamedStruct to the C api to let its users create constants
of named struct types. llvm-svn: 135178
This commit is contained in:
parent
9c61809c23
commit
784ad24bad
@ -565,6 +565,9 @@ LLVMValueRef LLVMConstArray(LLVMTypeRef ElementTy,
|
||||
LLVMValueRef *ConstantVals, unsigned Length);
|
||||
LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count,
|
||||
LLVMBool Packed);
|
||||
LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy,
|
||||
LLVMValueRef *ConstantVals,
|
||||
unsigned Count);
|
||||
LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size);
|
||||
|
||||
/* Constant expressions */
|
||||
|
@ -595,6 +595,16 @@ LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count,
|
||||
return LLVMConstStructInContext(LLVMGetGlobalContext(), ConstantVals, Count,
|
||||
Packed);
|
||||
}
|
||||
|
||||
LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy,
|
||||
LLVMValueRef *ConstantVals,
|
||||
unsigned Count) {
|
||||
Constant **Elements = unwrap<Constant>(ConstantVals, Count);
|
||||
const StructType *Ty = cast<StructType>(unwrap(StructTy));
|
||||
|
||||
return wrap(ConstantStruct::get(Ty, ArrayRef<Constant*>(Elements, Count)));
|
||||
}
|
||||
|
||||
LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size) {
|
||||
return wrap(ConstantVector::get(ArrayRef<Constant*>(
|
||||
unwrap<Constant>(ScalarConstantVals, Size), Size)));
|
||||
|
Loading…
x
Reference in New Issue
Block a user