mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-10 16:24:04 +00:00
Add C bindings for extractvalue and insertvalue. Patch by Frits van Bommel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58650 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
49987360ad
commit
b593117b44
@ -371,6 +371,11 @@ LLVMValueRef LLVMConstInsertElement(LLVMValueRef VectorConstant,
|
|||||||
LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant,
|
LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant,
|
||||||
LLVMValueRef VectorBConstant,
|
LLVMValueRef VectorBConstant,
|
||||||
LLVMValueRef MaskConstant);
|
LLVMValueRef MaskConstant);
|
||||||
|
LLVMValueRef LLVMConstExtractValue(LLVMValueRef AggConstant, unsigned *IdxList,
|
||||||
|
unsigned NumIdx);
|
||||||
|
LLVMValueRef LLVMConstInsertValue(LLVMValueRef AggConstant,
|
||||||
|
LLVMValueRef ElementValueConstant,
|
||||||
|
unsigned *IdxList, unsigned NumIdx);
|
||||||
|
|
||||||
/* Operations on global variables, functions, and aliases (globals) */
|
/* Operations on global variables, functions, and aliases (globals) */
|
||||||
LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global);
|
LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global);
|
||||||
@ -605,6 +610,11 @@ LLVMValueRef LLVMBuildInsertElement(LLVMBuilderRef, LLVMValueRef VecVal,
|
|||||||
LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1,
|
LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1,
|
||||||
LLVMValueRef V2, LLVMValueRef Mask,
|
LLVMValueRef V2, LLVMValueRef Mask,
|
||||||
const char *Name);
|
const char *Name);
|
||||||
|
LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef, LLVMValueRef AggVal,
|
||||||
|
unsigned Index, const char *Name);
|
||||||
|
LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef, LLVMValueRef AggVal,
|
||||||
|
LLVMValueRef EltVal, unsigned Index,
|
||||||
|
const char *Name);
|
||||||
|
|
||||||
|
|
||||||
/*===-- Module providers --------------------------------------------------===*/
|
/*===-- Module providers --------------------------------------------------===*/
|
||||||
|
@ -541,6 +541,20 @@ LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant,
|
|||||||
unwrap<Constant>(MaskConstant)));
|
unwrap<Constant>(MaskConstant)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstExtractValue(LLVMValueRef AggConstant, unsigned *IdxList,
|
||||||
|
unsigned NumIdx) {
|
||||||
|
return wrap(ConstantExpr::getExtractValue(unwrap<Constant>(AggConstant),
|
||||||
|
IdxList, NumIdx));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstInsertValue(LLVMValueRef AggConstant,
|
||||||
|
LLVMValueRef ElementValueConstant,
|
||||||
|
unsigned *IdxList, unsigned NumIdx) {
|
||||||
|
return wrap(ConstantExpr::getInsertValue(unwrap<Constant>(AggConstant),
|
||||||
|
unwrap<Constant>(ElementValueConstant),
|
||||||
|
IdxList, NumIdx));
|
||||||
|
}
|
||||||
|
|
||||||
/*--.. Operations on global variables, functions, and aliases (globals) ....--*/
|
/*--.. Operations on global variables, functions, and aliases (globals) ....--*/
|
||||||
|
|
||||||
LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global) {
|
LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global) {
|
||||||
@ -1326,6 +1340,18 @@ LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef B, LLVMValueRef V1,
|
|||||||
unwrap(Mask), Name));
|
unwrap(Mask), Name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef B, LLVMValueRef AggVal,
|
||||||
|
unsigned Index, const char *Name) {
|
||||||
|
return wrap(unwrap(B)->CreateExtractValue(unwrap(AggVal), Index, Name));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef B, LLVMValueRef AggVal,
|
||||||
|
LLVMValueRef EltVal, unsigned Index,
|
||||||
|
const char *Name) {
|
||||||
|
return wrap(unwrap(B)->CreateInsertValue(unwrap(AggVal), unwrap(EltVal),
|
||||||
|
Index, Name));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*===-- Module providers --------------------------------------------------===*/
|
/*===-- Module providers --------------------------------------------------===*/
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user