summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorPeter Zotov <whitequark@whitequark.org>2014-08-12 02:55:40 +0000
committerPeter Zotov <whitequark@whitequark.org>2014-08-12 02:55:40 +0000
commitb19f78f01d4d3ea2355373bcc7aa54dcbac84d76 (patch)
tree4abe2b9261e282ea743c76343027bd78d8750b43 /llvm
parent9724b5c9a45326a51d730bc6449230f5545ef56a (diff)
downloadbcm5719-llvm-b19f78f01d4d3ea2355373bcc7aa54dcbac84d76.tar.gz
bcm5719-llvm-b19f78f01d4d3ea2355373bcc7aa54dcbac84d76.zip
[LLVM-C] Expose User::getOperandUse as LLVMGetOperandUse.
Patch by Gabriel Radanne <drupyog@zoho.com> llvm-svn: 215419
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm-c/Core.h7
-rw-r--r--llvm/lib/IR/Core.cpp5
2 files changed, 12 insertions, 0 deletions
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h
index 69ed08dff1f..e5d5f3f99bd 100644
--- a/llvm/include/llvm-c/Core.h
+++ b/llvm/include/llvm-c/Core.h
@@ -1378,6 +1378,13 @@ LLVMValueRef LLVMGetUsedValue(LLVMUseRef U);
LLVMValueRef LLVMGetOperand(LLVMValueRef Val, unsigned Index);
/**
+ * Obtain the use of an operand at a specific index in a llvm::User value.
+ *
+ * @see llvm::User::getOperandUse()
+ */
+LLVMUseRef LLVMGetOperandUse(LLVMValueRef Val, unsigned Index);
+
+/**
* Set an operand at a specific index in a llvm::User value.
*
* @see llvm::User::setOperand()
diff --git a/llvm/lib/IR/Core.cpp b/llvm/lib/IR/Core.cpp
index 8bc0bb92e60..2b2ccb96cc2 100644
--- a/llvm/lib/IR/Core.cpp
+++ b/llvm/lib/IR/Core.cpp
@@ -603,6 +603,11 @@ LLVMValueRef LLVMGetOperand(LLVMValueRef Val, unsigned Index) {
return wrap(cast<User>(V)->getOperand(Index));
}
+LLVMUseRef LLVMGetOperandUse(LLVMValueRef Val, unsigned Index) {
+ Value *V = unwrap(Val);
+ return wrap(&cast<User>(V)->getOperandUse(Index));
+}
+
void LLVMSetOperand(LLVMValueRef Val, unsigned Index, LLVMValueRef Op) {
unwrap<User>(Val)->setOperand(Index, unwrap(Op));
}
OpenPOWER on IntegriCloud