diff options
author | Roman Divacky <rdivacky@freebsd.org> | 2012-12-19 19:55:47 +0000 |
---|---|---|
committer | Roman Divacky <rdivacky@freebsd.org> | 2012-12-19 19:55:47 +0000 |
commit | 759e3fa641d0ad01012d16d913015c9f69c8d2ab (patch) | |
tree | 3f3feb02acd10e3521ffc36e766cb3f58157ad71 /lib/MC/MCDisassembler/EDOperand.h | |
parent | 6da2e22dffe9dd0255e10a8934f2879eb7e87868 (diff) |
Remove edis - the enhanced disassembler. Fixes PR14654.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170578 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCDisassembler/EDOperand.h')
-rw-r--r-- | lib/MC/MCDisassembler/EDOperand.h | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/lib/MC/MCDisassembler/EDOperand.h b/lib/MC/MCDisassembler/EDOperand.h deleted file mode 100644 index 50260ec965..0000000000 --- a/lib/MC/MCDisassembler/EDOperand.h +++ /dev/null @@ -1,91 +0,0 @@ -//===-EDOperand.h - LLVM Enhanced Disassembler ------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines the interface for the Enhanced Disassembly library's -// operand class. The operand is responsible for allowing evaluation given a -// particular register context. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EDOPERAND_H -#define LLVM_EDOPERAND_H - -#include "llvm/Support/DataTypes.h" - -namespace llvm { - -struct EDDisassembler; -struct EDInst; - -typedef int (*EDRegisterReaderCallback)(uint64_t *value, unsigned regID, - void* arg); - - -/// EDOperand - Encapsulates a single operand, which can be evaluated by the -/// client -struct EDOperand { - /// The parent disassembler - const EDDisassembler &Disassembler; - /// The parent instruction - const EDInst &Inst; - - /// The index of the operand in the EDInst - unsigned int OpIndex; - /// The index of the first component of the operand in the MCInst - unsigned int MCOpIndex; - - /// Constructor - Initializes an EDOperand - /// - /// @arg disassembler - The disassembler responsible for the operand - /// @arg inst - The instruction containing this operand - /// @arg opIndex - The index of the operand in inst - /// @arg mcOpIndex - The index of the operand in the original MCInst - EDOperand(const EDDisassembler &disassembler, - const EDInst &inst, - unsigned int opIndex, - unsigned int &mcOpIndex); - ~EDOperand(); - - /// evaluate - Returns the numeric value of an operand to the extent possible, - /// returning 0 on success or -1 if there was some problem (such as a - /// register not being readable) - /// - /// @arg result - A reference whose target is filled in with the value of - /// the operand (the address if it is a memory operand) - /// @arg callback - A function to call to obtain register values - /// @arg arg - An opaque argument to pass to callback - int evaluate(uint64_t &result, - EDRegisterReaderCallback callback, - void *arg); - - /// isRegister - Returns 1 if the operand is a register or 0 otherwise - int isRegister(); - /// regVal - Returns the register value. - unsigned regVal(); - - /// isImmediate - Returns 1 if the operand is an immediate or 0 otherwise - int isImmediate(); - /// immediateVal - Returns the immediate value. - uint64_t immediateVal(); - - /// isMemory - Returns 1 if the operand is a memory location or 0 otherwise - int isMemory(); - -#ifdef __BLOCKS__ - typedef int (^EDRegisterBlock_t)(uint64_t *value, unsigned regID); - - /// evaluate - Like evaluate for a callback, but uses a block instead - int evaluate(uint64_t &result, - EDRegisterBlock_t regBlock); -#endif -}; - -} // end namespace llvm - -#endif |