Added header file declarations and .exports entries

for the new APIs offered by the enhanced disassembler
for inspecting operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95606 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sean Callanan 2010-02-08 23:34:25 +00:00
parent 3c280fccf9
commit 01cd79fe1b
3 changed files with 52 additions and 2 deletions

View File

@ -368,10 +368,55 @@ int EDNumOperands(EDInstRef inst);
int EDGetOperand(EDOperandRef *operand,
EDInstRef inst,
int index);
/*!
@function EDOperandIsRegister
@param operand The operand to be queried.
@result 1 if the operand names a register; 0 if not; -1 on error.
*/
int EDOperandIsRegister(EDOperandRef operand);
/*!
@function EDOperandIsImmediate
@param operand The operand to be queried.
@result 1 if the operand specifies an immediate value; 0 if not; -1 on error.
*/
int EDOperandIsImmediate(EDOperandRef operand);
/*!
@function EDOperandIsMemory
@param operand The operand to be queried.
@result 1 if the operand specifies a location in memory; 0 if not; -1 on error.
*/
int EDOperandIsMemory(EDOperandRef operand);
/*!
@function EDRegisterOperandValue
@param value A pointer whose target will be filled in with the LLVM register ID
of the register named by the operand.
@param operand The operand to be queried.
@result 0 on success; -1 otherwise.
*/
int EDRegisterOperandValue(unsigned *value,
EDOperandRef operand);
/*!
@function EDImmediateOperandValue
@param value A pointer whose target will be filled in with the value of the
immediate.
@param operand The operand to be queried.
@result 0 on success; -1 otherwise.
*/
int EDImmediateOperandValue(uint64_t *value,
EDOperandRef operand);
/*!
@function EDEvaluateOperand
Evaluates an operand using a client-supplied register state accessor.
Evaluates an operand using a client-supplied register state accessor. Register
operands are evaluated by reading the value of the register; immediate operands
are evaluated by reporting the immediate value; memory operands are evaluated
by computing the target address (with only those relocations applied that were
already applied to the original bytes).
@param result A pointer whose target is to be filled with the result of
evaluating the operand.
@param operand The operand to be evaluated.

View File

@ -221,7 +221,7 @@ int EDRegisterOperandValue(unsigned *value,
return 0;
}
int EDImmedateOperandValue(uint64_t *value,
int EDImmediateOperandValue(uint64_t *value,
EDOperandRef operand) {
if(!operand->isImmediate())
return -1;

View File

@ -25,6 +25,11 @@ _EDLiteralTokenAbsoluteValue
_EDRegisterTokenValue
_EDNumOperands
_EDGetOperand
_EDOperandIsRegister
_EDOperandIsImmediate
_EDOperandIsMemory
_EDRegisterOperandValue
_EDImmediateOperandValue
_EDEvaluateOperand
_EDBlockCreateInsts
_EDBlockEvaluateOperand