Value.uses API
git-svn-id: http://llvm-py.googlecode.com/svn/trunk@70 8d1e9007-1d4e-0410-b67e-1979fd6579aa
This commit is contained in:
parent
8b6109d8eb
commit
d5328ef255
8 changed files with 152 additions and 17 deletions
|
|
@ -299,6 +299,47 @@ unsigned LLVMValueGetID(LLVMValueRef value)
|
|||
return valuep->getValueID();
|
||||
}
|
||||
|
||||
|
||||
unsigned LLVMValueGetNumUses(LLVMValueRef value)
|
||||
{
|
||||
llvm::Value *valuep = llvm::unwrap(value);
|
||||
assert(valuep);
|
||||
|
||||
return valuep->getNumUses();
|
||||
}
|
||||
|
||||
|
||||
unsigned LLVMValueGetUses(LLVMValueRef value, LLVMValueRef **refs)
|
||||
{
|
||||
llvm::Value *valuep = llvm::unwrap(value);
|
||||
assert(valuep);
|
||||
|
||||
unsigned n = valuep->getNumUses();
|
||||
if (n == 0)
|
||||
return 0;
|
||||
|
||||
assert(refs);
|
||||
LLVMValueRef *out = (LLVMValueRef *)malloc(sizeof(LLVMValueRef) * n);
|
||||
if (!out)
|
||||
return 0;
|
||||
*refs = out;
|
||||
|
||||
memset(out, 0, sizeof(LLVMValueRef) * n);
|
||||
llvm::Value::use_iterator it = valuep->use_begin();
|
||||
while (it != valuep->use_end()) {
|
||||
*out++ = llvm::wrap(*it);
|
||||
++it;
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
void LLVMDisposeValueRefArray(LLVMValueRef *refs)
|
||||
{
|
||||
assert(refs);
|
||||
free(refs);
|
||||
}
|
||||
|
||||
unsigned LLVMUserGetNumOperands(LLVMValueRef user)
|
||||
{
|
||||
llvm::User *userp = llvm::unwrap<llvm::User>(user);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue