LLVM API Documentation

llvm::MachineInstrBuilder Class Reference

#include <MachineInstrBuilder.h>

Collaboration diagram for llvm::MachineInstrBuilder:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MachineInstrBuilder (MachineInstr *mi)
 operator MachineInstr * () const
 operator MachineBasicBlock::iterator () const
const MachineInstrBuilderaddReg (int RegNo, MachineOperand::UseType Ty=MachineOperand::Use) const
const MachineInstrBuilderaddReg (Value *V, MachineOperand::UseType Ty=MachineOperand::Use) const
const MachineInstrBuilderaddCCReg (Value *V, MachineOperand::UseType Ty=MachineOperand::Use) const
const MachineInstrBuilderaddRegDef (Value *V) const
const MachineInstrBuilderaddPCDisp (Value *V) const
const MachineInstrBuilderaddMReg (int Reg, MachineOperand::UseType Ty=MachineOperand::Use) const
const MachineInstrBuilderaddImm (int Val) const
const MachineInstrBuilderaddSImm (int val) const
const MachineInstrBuilderaddZImm (unsigned Val) const
const MachineInstrBuilderaddImm64 (uint64_t Val) const
const MachineInstrBuilderaddMBB (MachineBasicBlock *MBB) const
const MachineInstrBuilderaddFrameIndex (unsigned Idx) const
const MachineInstrBuilderaddConstantPoolIndex (unsigned Idx, int Offset=0) const
const MachineInstrBuilderaddGlobalAddress (GlobalValue *GV, bool isPCRelative=false, int Offset=0) const
const MachineInstrBuilderaddExternalSymbol (const char *FnName, bool isPCRelative=false) const

Detailed Description

Definition at line 30 of file MachineInstrBuilder.h.


Constructor & Destructor Documentation

llvm::MachineInstrBuilder::MachineInstrBuilder ( MachineInstr mi  )  [inline]

Definition at line 33 of file MachineInstrBuilder.h.


Member Function Documentation

const MachineInstrBuilder& llvm::MachineInstrBuilder::addCCReg ( Value V,
MachineOperand::UseType  Ty = MachineOperand::Use 
) const [inline]

addReg - Add an LLVM value that is to be used as a register...

Definition at line 60 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addCCRegOperand(), MI, Ty, and V.

const MachineInstrBuilder& llvm::MachineInstrBuilder::addConstantPoolIndex ( unsigned  Idx,
int  Offset = 0 
) const [inline]

Definition at line 128 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addConstantPoolIndexOperand(), MI, and Offset.

Referenced by llvm::addConstantPoolReference().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addExternalSymbol ( const char *  FnName,
bool  isPCRelative = false 
) const [inline]

Definition at line 141 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addExternalSymbolOperand(), and MI.

const MachineInstrBuilder& llvm::MachineInstrBuilder::addFrameIndex ( unsigned  Idx  )  const [inline]

Definition at line 123 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addFrameIndexOperand(), and MI.

Referenced by llvm::addFrameReference(), llvm::addFullAddress(), llvm::SparcRegisterInfo::foldMemoryOperand(), llvm::AlphaRegisterInfo::foldMemoryOperand(), llvm::SparcRegisterInfo::loadRegFromStackSlot(), llvm::IA64RegisterInfo::loadRegFromStackSlot(), llvm::AlphaRegisterInfo::loadRegFromStackSlot(), llvm::IA64TargetLowering::LowerArguments(), llvm::SparcRegisterInfo::storeRegToStackSlot(), llvm::IA64RegisterInfo::storeRegToStackSlot(), and llvm::AlphaRegisterInfo::storeRegToStackSlot().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addGlobalAddress ( GlobalValue GV,
bool  isPCRelative = false,
int  Offset = 0 
) const [inline]

Definition at line 134 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addGlobalAddressOperand(), GV, MI, and Offset.

Referenced by llvm::addFullAddress(), llvm::AlphaRegisterInfo::emitPrologue(), and MakeMIInst().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addImm ( int  Val  )  const [inline]

addImm - Add a new immediate operand.

Definition at line 92 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addZeroExtImmOperand(), and MI.

Referenced by llvm::X86InstrInfo::commuteInstruction(), llvm::AlphaRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::emitEpilogue(), llvm::AlphaRegisterInfo::emitEpilogue(), llvm::X86RegisterInfo::emitPrologue(), llvm::SparcRegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), llvm::IA64RegisterInfo::emitPrologue(), llvm::AlphaRegisterInfo::emitPrologue(), EmitSpecialCodeForMain(), llvm::SparcRegisterInfo::foldMemoryOperand(), HandleVRSaveUpdate(), llvm::X86TargetLowering::InsertAtEndOfBasicBlock(), llvm::SparcRegisterInfo::loadRegFromStackSlot(), llvm::SparcRegisterInfo::storeRegToStackSlot(), and llvm::IA64RegisterInfo::storeRegToStackSlot().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addImm64 ( uint64_t  Val  )  const [inline]

addImm64 - Add a new 64-bit immediate operand...

Definition at line 113 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addZeroExtImm64Operand(), and MI.

const MachineInstrBuilder& llvm::MachineInstrBuilder::addMBB ( MachineBasicBlock MBB  )  const [inline]

Definition at line 118 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addMachineBasicBlockOperand(), MBB, and MI.

Referenced by llvm::X86TargetLowering::InsertAtEndOfBasicBlock().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addMReg ( int  Reg,
MachineOperand::UseType  Ty = MachineOperand::Use 
) const [inline]

addMReg - Add a machine register operand...

Definition at line 84 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addMachineRegOperand(), MI, and Ty.

Referenced by llvm::SparcV9RegInfo::cpMem2RegMI(), llvm::SparcV9RegInfo::cpReg2MemMI(), llvm::SparcV9RegInfo::cpReg2RegMI(), and llvm::SparcV9RegInfo::cpValue2Value().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addPCDisp ( Value V  )  const [inline]

addPCDisp - Add an LLVM value to be treated as a PC relative displacement...

Definition at line 77 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addPCDispOperand(), MI, and V.

const MachineInstrBuilder& llvm::MachineInstrBuilder::addReg ( Value V,
MachineOperand::UseType  Ty = MachineOperand::Use 
) const [inline]

addReg - Add an LLVM value that is to be used as a register...

Definition at line 51 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addRegOperand(), MI, Ty, and V.

const MachineInstrBuilder& llvm::MachineInstrBuilder::addReg ( int  RegNo,
MachineOperand::UseType  Ty = MachineOperand::Use 
) const [inline]

addReg - Add a new virtual register operand...

Definition at line 42 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addRegOperand(), MI, and Ty.

Referenced by llvm::addDirectMem(), llvm::addFrameReference(), llvm::addFullAddress(), llvm::addRegOffset(), llvm::addRegReg(), llvm::BuildMI(), llvm::X86InstrInfo::commuteInstruction(), llvm::X86RegisterInfo::copyRegToReg(), llvm::SparcRegisterInfo::copyRegToReg(), llvm::PPCRegisterInfo::copyRegToReg(), llvm::IA64RegisterInfo::copyRegToReg(), llvm::AlphaRegisterInfo::copyRegToReg(), llvm::SparcV9RegInfo::cpValue2Value(), llvm::SparcRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateCallFramePseudoInstr(), llvm::IA64RegisterInfo::eliminateCallFramePseudoInstr(), llvm::AlphaRegisterInfo::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::emitEpilogue(), llvm::SparcRegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::IA64RegisterInfo::emitEpilogue(), llvm::AlphaRegisterInfo::emitEpilogue(), llvm::X86RegisterInfo::emitPrologue(), llvm::SparcRegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), llvm::IA64RegisterInfo::emitPrologue(), llvm::AlphaRegisterInfo::emitPrologue(), llvm::SparcRegisterInfo::foldMemoryOperand(), llvm::AlphaRegisterInfo::foldMemoryOperand(), HandleVRSaveUpdate(), llvm::X86TargetLowering::InsertAtEndOfBasicBlock(), llvm::PPCTargetLowering::InsertAtEndOfBasicBlock(), llvm::PPCRegisterInfo::loadRegFromStackSlot(), llvm::IA64RegisterInfo::loadRegFromStackSlot(), llvm::AlphaRegisterInfo::loadRegFromStackSlot(), llvm::IA64TargetLowering::LowerArguments(), MakeMRIInst(), MakeMRInst(), llvm::AlphaTargetLowering::restoreGP(), llvm::AlphaTargetLowering::restoreRA(), llvm::X86RegisterInfo::storeRegToStackSlot(), llvm::SparcRegisterInfo::storeRegToStackSlot(), llvm::PPCRegisterInfo::storeRegToStackSlot(), llvm::IA64RegisterInfo::storeRegToStackSlot(), and llvm::AlphaRegisterInfo::storeRegToStackSlot().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addRegDef ( Value V  )  const [inline]

addRegDef - Add an LLVM value that is to be defined as a register... this is the same as addReg(V, MachineOperand::Def).

Definition at line 70 of file MachineInstrBuilder.h.

References llvm::MachineOperand::Def, and V.

Referenced by llvm::SparcV9RegInfo::cpValue2Value().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addSImm ( int  val  )  const [inline]

addSImm - Add a new sign extended immediate operand...

Definition at line 99 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addSignExtImmOperand(), and MI.

Referenced by llvm::addConstantPoolReference(), llvm::addDirectMem(), llvm::addFrameReference(), llvm::addFullAddress(), llvm::addRegOffset(), llvm::addRegReg(), llvm::SparcV9RegInfo::cpMem2RegMI(), llvm::SparcV9RegInfo::cpReg2MemMI(), llvm::SparcRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateCallFramePseudoInstr(), llvm::IA64RegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitPrologue(), and llvm::IA64RegisterInfo::emitPrologue().

const MachineInstrBuilder& llvm::MachineInstrBuilder::addZImm ( unsigned  Val  )  const [inline]

addZImm - Add a new zero extended immediate operand...

Definition at line 106 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addZeroExtImmOperand(), and MI.

Referenced by llvm::addDirectMem(), llvm::addFrameReference(), llvm::addFullAddress(), llvm::addRegOffset(), llvm::addRegReg(), llvm::SparcV9RegInfo::cpMem2RegMI(), llvm::SparcV9RegInfo::cpReg2MemMI(), llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::X86RegisterInfo::emitEpilogue(), MakeM0Inst(), MakeMIInst(), and MakeRMIInst().

llvm::MachineInstrBuilder::operator MachineBasicBlock::iterator (  )  const [inline]

Definition at line 38 of file MachineInstrBuilder.h.

llvm::MachineInstrBuilder::operator MachineInstr * (  )  const [inline]

Allow automatic conversion to the machine instruction we are working on.

Definition at line 37 of file MachineInstrBuilder.h.


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