|
| XorInst (const Src2Op &src2, const DstSrc1Op &dstsrc1, OperandSize op_size) |
|
| ALUInstruction (const char *name, const DstSrc1Op &dstsrc1, const Src2Op &src2, OperandSize op_size, u1 alu_id) |
|
| ALUInstruction (const char *name, const Src1Op &src1, const Src2Op &src2, OperandSize op_size, u1 alu_id) |
|
virtual void | emit (CodeMemory *CM) const |
| This must be implemented by subclasses. More...
|
|
virtual bool | accepts_immediate (std::size_t i, Immediate *imm) const |
|
| GPInstruction (const char *name, MachineOperand *result, OperandSize op_size, std::size_t num_operands) |
|
OperandSize | get_op_size () const |
|
| X86_64Instruction (const char *name, MachineOperand *result, std::size_t num_operands) |
|
| MachineInstruction (const char *name, MachineOperand *result, std::size_t num_operands, const char *comment=NULL) |
|
void | set_comment (const char *c) |
|
const char * | get_comment () const |
|
void | set_operand (std::size_t i, MachineOperand *op) |
|
void | finalize_operands () |
| has to be called after all operands with embedded operands have been added More...
|
|
virtual void | set_block (MachineBasicBlock *MBB) |
|
MachineBasicBlock * | get_block () const |
|
std::size_t | op_size () const |
|
MachineOperandDesc & | operator[] (std::size_t i) |
|
const MachineOperandDesc & | get (std::size_t i) const |
|
MachineOperandDesc & | get (std::size_t i) |
|
operand_iterator | begin () |
|
operand_iterator | end () |
|
operand_iterator | find (MachineOperand *op) |
|
MachineOperandDesc & | front () |
|
MachineOperandDesc & | back () |
|
const_operand_iterator | begin () const |
|
const_operand_iterator | end () const |
|
std::size_t | dummy_op_size () const |
|
const MachineOperandDesc & | get_dummy (std::size_t i) const |
|
MachineOperandDesc & | get_dummy (std::size_t i) |
|
dummy_operand_iterator | dummy_begin () |
|
dummy_operand_iterator | dummy_end () |
|
dummy_operand_iterator | find_dummy (MachineOperand *op) |
|
MachineOperandDesc & | dummy_front () |
|
MachineOperandDesc & | dummy_back () |
|
const_dummy_operand_iterator | dummy_begin () const |
|
const_dummy_operand_iterator | dummy_end () const |
|
successor_iterator | successor_begin () |
|
successor_iterator | successor_end () |
|
const_successor_iterator | successor_begin () const |
|
MachineBasicBlock * | successor_front () const |
|
MachineBasicBlock * | successor_back () const |
|
const_successor_iterator | successor_end () const |
|
std::size_t | successor_size () const |
|
bool | successor_empty () const |
|
std::size_t | get_id () const |
|
const char * | get_name () const |
|
const MachineOperandDesc & | get_result () const |
|
MachineOperandDesc & | get_result () |
|
void | set_result (MachineOperand *MO) |
|
virtual bool | is_label () const |
|
virtual bool | is_phi () const |
|
virtual bool | is_move () const |
|
virtual bool | is_jump () const |
|
virtual bool | is_end () const |
|
virtual MachineMoveInst * | to_MachineMoveInst () |
|
virtual MachinePhiInst * | to_MachinePhiInst () |
|
OStream & | print (OStream &OS) const |
| print instruction More...
|
|
virtual OStream & | print_successor_label (OStream &OS, std::size_t index) const |
| print successor label More...
|
|
virtual OStream & | print_operands (OStream &OS) const |
| print operands More...
|
|
virtual OStream & | print_result (OStream &OS) const |
| print result More...
|
|
virtual void | link (CodeFragment &CF) const |
| link machine code More...
|
|
virtual | ~MachineInstruction () |
| destructor More...
|
|
|
enum | OperandSize {
OS_8 = 1,
OS_16 = 2,
OS_32 = 4,
OS_64 = 8,
NO_SIZE = 0
} |
|
enum | OperandType {
Reg8,
Reg16,
Reg32,
Reg64,
Mem8,
Mem16,
Mem32,
Mem64,
NO_RESULT
} |
|
enum | OpEncoding {
Reg8Imm8,
Reg16Imm16,
Reg32Imm32,
Reg64Imm64,
MemImm8,
MemImm16,
MemImm32,
MemImm64,
Reg16Imm8,
Reg32Imm8,
Reg64Imm8,
RegReg8,
RegReg16,
RegReg32,
RegReg64,
RegMem8,
RegMem16,
RegMem32,
RegMem64,
MemReg8,
MemReg16,
MemReg32,
MemReg64,
NO_ENCODING
} |
|
typedef alloc::vector
< MachineOperandDesc >::type | operand_list |
|
typedef operand_list::iterator | operand_iterator |
|
typedef
operand_list::const_iterator | const_operand_iterator |
|
typedef alloc::vector
< MachineOperandDesc >::type | dummy_operand_list |
|
typedef
dummy_operand_list::iterator | dummy_operand_iterator |
|
typedef
dummy_operand_list::const_iterator | const_dummy_operand_iterator |
|
typedef alloc::unordered_map
< EmbeddedMachineOperand
*, int >::type | RefMapTy |
|
typedef alloc::list
< MachineBasicBlock * >::type | successor_list |
|
typedef successor_list::iterator | successor_iterator |
|
typedef
successor_list::const_iterator | const_successor_iterator |
|
static void * | operator new (std::size_t size) throw (std::bad_alloc) |
| normal new More...
|
|
static void * | operator new (std::size_t size, void *ptr) throw () |
| placement new More...
|
|
static void * | operator new (std::size_t size, const std::nothrow_t &nt) throw () |
| nothrow new More...
|
|
static void | operator delete (void *pMemory) throw () |
| normal delete More...
|
|
static void | operator delete (void *pMemory, void *ptr) throw () |
| placement delete More...
|
|
static void | operator delete (void *pMemory, const std::nothrow_t &) throw () |
| nothrow delete More...
|
|
static void * | operator new[] (std::size_t size) throw (std::bad_alloc) |
| normal new[] More...
|
|
static void * | operator new[] (std::size_t size, void *ptr) throw () |
| placement new[] More...
|
|
static void * | operator new[] (std::size_t size, const std::nothrow_t &nt) throw () |
| nothrow new[] More...
|
|
static void | operator delete[] (void *pMemory) throw () |
| normal delete[] More...
|
|
static void | operator delete[] (void *pMemory, void *ptr) throw () |
| placement delete[] More...
|
|
static void | operator delete[] (void *pMemory, const std::nothrow_t &) throw () |
| nothrow delete[] More...
|
|
const std::size_t | id |
|
operand_list | operands |
|
dummy_operand_list | dummy_operands |
| dummy_operands is a list of operands embedded in the real operands of this instruction that need register allocation (for example indirect addressing on x86) More...
|
|
RefMapTy | ref_map |
|
successor_list | successors |
|
MachineOperandDesc | result |
|
const char * | name |
|
const char * | comment |
|
MachineBasicBlock * | block |
|
Definition at line 436 of file X86_64Instructions.hpp.