LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::X86InstrInfo Class Reference

#include <X86InstrInfo.h>

Inheritance diagram for llvm::X86InstrInfo:

Inheritance graph
[legend]
Collaboration diagram for llvm::X86InstrInfo:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 X86InstrInfo ()
virtual const MRegisterInfogetRegisterInfo () const
virtual bool isMoveInstr (const MachineInstr &MI, unsigned &sourceReg, unsigned &destReg) const
virtual void insertGoto (MachineBasicBlock &MBB, MachineBasicBlock &TMBB) const
virtual MachineBasicBlock::iterator reverseBranchCondition (MachineBasicBlock::iterator MI) const
unsigned char getBaseOpcodeFor (unsigned Opcode) const

Detailed Description

Definition at line 163 of file X86InstrInfo.h.


Constructor & Destructor Documentation

X86InstrInfo::X86InstrInfo  ) 
 

Definition at line 20 of file X86InstrInfo.cpp.


Member Function Documentation

unsigned char llvm::X86InstrInfo::getBaseOpcodeFor unsigned  Opcode  )  const [inline]
 

Definition at line 195 of file X86InstrInfo.h.

References llvm::TargetInstrInfo::get(), llvm::X86II::OpcodeShift, and llvm::TargetInstrDescriptor::TSFlags.

virtual const MRegisterInfo& llvm::X86InstrInfo::getRegisterInfo  )  const [inline, virtual]
 

getRegisterInfo - TargetInstrInfo is a superset of MRegister info. As such, whenever a client has an instance of instruction info, it should always be able to get register info as well (through this method).

Definition at line 172 of file X86InstrInfo.h.

Referenced by llvm::X86TargetMachine::getRegisterInfo().

void X86InstrInfo::insertGoto MachineBasicBlock MBB,
MachineBasicBlock TMBB
const [virtual]
 

Insert a goto (unconditional branch) sequence to TMBB, at the end of MBB

Reimplemented from llvm::TargetInstrInfo.

Definition at line 42 of file X86InstrInfo.cpp.

References llvm::MachineInstrBuilder::addMBB(), llvm::BuildMI(), and llvm::MachineBasicBlock::end().

bool X86InstrInfo::isMoveInstr const MachineInstr MI,
unsigned &  sourceReg,
unsigned &  destReg
const [virtual]
 

Return true if the instruction is a register to register move and leave the source and dest operands in the passed parameters.

Reimplemented from llvm::TargetInstrInfo.

Definition at line 25 of file X86InstrInfo.cpp.

References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::MachineOperand::isRegister().

MachineBasicBlock::iterator X86InstrInfo::reverseBranchCondition MachineBasicBlock::iterator  MI  )  const [virtual]
 

Reverses the branch condition of the MachineInstr pointed by MI. The instruction is replaced and the new MI is returned.

Reimplemented from llvm::TargetInstrInfo.

Definition at line 48 of file X86InstrInfo.cpp.

References llvm::MachineInstrBuilder::addMBB(), llvm::BuildMI(), llvm::MachineBasicBlock::erase(), and llvm::TargetInstrInfo::isBranch().


The documentation for this class was generated from the following files: