mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
Add C bindings for extractvalue and insertvalue. Patch by Frits van Bommel!
llvm-svn: 58650
This commit is contained in:
parent
999398c004
commit
3258c45d0f
@ -371,6 +371,11 @@ LLVMValueRef LLVMConstInsertElement(LLVMValueRef VectorConstant,
|
||||
LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant,
|
||||
LLVMValueRef VectorBConstant,
|
||||
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) */
|
||||
LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global);
|
||||
@ -605,6 +610,11 @@ LLVMValueRef LLVMBuildInsertElement(LLVMBuilderRef, LLVMValueRef VecVal,
|
||||
LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1,
|
||||
LLVMValueRef V2, LLVMValueRef Mask,
|
||||
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 --------------------------------------------------===*/
|
||||
|
@ -541,6 +541,20 @@ LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant,
|
||||
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) ....--*/
|
||||
|
||||
LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global) {
|
||||
@ -1326,6 +1340,18 @@ LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef B, LLVMValueRef V1,
|
||||
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 --------------------------------------------------===*/
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user