LLVM API Documentation
#include <MachineInstr.h>
Collaboration diagram for llvm::MachineInstr:
Public Types | |
typedef ValOpIterator< const MachineInstr *, const Value * > | const_val_op_iterator |
typedef ValOpIterator< MachineInstr *, Value * > | val_op_iterator |
Public Member Functions | |
MachineInstr (short Opcode, unsigned numOperands) | |
MachineInstr (short Opcode, unsigned numOperands, bool XX, bool YY) | |
MachineInstr (MachineBasicBlock *MBB, short Opcode, unsigned numOps) | |
~MachineInstr () | |
const MachineBasicBlock * | getParent () const |
MachineBasicBlock * | getParent () |
const int | getOpcode () const |
unsigned | getNumOperands () const |
const MachineOperand & | getOperand (unsigned i) const |
MachineOperand & | getOperand (unsigned i) |
const MachineOperand & | getExplOrImplOperand (unsigned i) const |
unsigned | getNumImplicitRefs () const |
MachineOperand & | getImplicitOp (unsigned i) |
const MachineOperand & | getImplicitOp (unsigned i) const |
Value * | getImplicitRef (unsigned i) |
const Value * | getImplicitRef (unsigned i) const |
void | addImplicitRef (Value *V, bool isDef=false, bool isDefAndUse=false) |
void | setImplicitRef (unsigned i, Value *V) |
MachineInstr * | clone () const |
void | print (std::ostream &OS, const TargetMachine *TM) const |
void | dump () const |
void | addRegOperand (Value *V, bool isDef, bool isDefAndUse=false) |
void | addRegOperand (Value *V, MachineOperand::UseType UTy=MachineOperand::Use, bool isPCRelative=false) |
void | addCCRegOperand (Value *V, MachineOperand::UseType UTy=MachineOperand::Use) |
void | addRegOperand (int reg, bool isDef) |
void | addRegOperand (int reg, MachineOperand::UseType UTy=MachineOperand::Use) |
void | addPCDispOperand (Value *V) |
void | addMachineRegOperand (int reg, bool isDef) |
void | addMachineRegOperand (int reg, MachineOperand::UseType UTy=MachineOperand::Use) |
void | addZeroExtImmOperand (int intValue) |
void | addZeroExtImm64Operand (uint64_t intValue) |
void | addSignExtImmOperand (int intValue) |
void | addMachineBasicBlockOperand (MachineBasicBlock *MBB) |
void | addFrameIndexOperand (unsigned Idx) |
void | addConstantPoolIndexOperand (unsigned I, int Offset=0) |
void | addGlobalAddressOperand (GlobalValue *GV, bool isPCRelative, int Offset) |
void | addExternalSymbolOperand (const char *SymName, bool isPCRelative) |
void | replace (short Opcode, unsigned numOperands) |
void | setOpcode (unsigned Op) |
void | RemoveOperand (unsigned i) |
void | SetMachineOperandVal (unsigned i, MachineOperand::MachineOperandType operandType, Value *V) |
void | SetMachineOperandConst (unsigned i, MachineOperand::MachineOperandType operandType, int intValue) |
void | SetMachineOperandReg (unsigned i, int regNum) |
unsigned | substituteValue (const Value *oldVal, Value *newVal, bool defsOnly, bool notDefsAndUses, bool &someArgsWereIgnored) |
void | SetRegForOperand (unsigned i, int regNum) |
void | SetRegForImplicitRef (unsigned i, int regNum) |
val_op_iterator | begin () |
val_op_iterator | end () |
const_val_op_iterator | begin () const |
const_val_op_iterator | end () const |
Friends | |
struct | ilist_traits< MachineInstr > |
std::ostream & | operator<< (std::ostream &os, const MachineInstr &minstr) |
Classes | |
class | ValOpIterator |
Definition at line 399 of file MachineInstr.h.
typedef ValOpIterator<const MachineInstr*,const Value*> llvm::MachineInstr::const_val_op_iterator |
Definition at line 515 of file MachineInstr.h.
Definition at line 517 of file MachineInstr.h.
MachineInstr::MachineInstr | ( | short | Opcode, | |
unsigned | numOperands | |||
) |
MachineInstr::MachineInstr | ( | short | Opcode, | |
unsigned | numOperands, | |||
bool | XX, | |||
bool | YY | |||
) |
MachineInstr ctor - This constructor only does a _reserve_ of the operands, not a resize for them. It is expected that if you use this that you call add* methods below to fill up the operands, instead of the Set methods. Eventually, the "resizing" ctors will be phased out.
Definition at line 54 of file MachineInstr.cpp.
References llvm::LeakDetector::addGarbageObject().
MachineInstr::MachineInstr | ( | MachineBasicBlock * | MBB, | |
short | Opcode, | |||
unsigned | numOps | |||
) |
MachineInstr ctor - Work exactly the same as the ctor above, except that the MachineInstr is created and added to the end of the specified basic block.
Definition at line 64 of file MachineInstr.cpp.
References llvm::LeakDetector::addGarbageObject(), MBB, and llvm::MachineBasicBlock::push_back().
MachineInstr::~MachineInstr | ( | ) |
Definition at line 92 of file MachineInstr.cpp.
References llvm::LeakDetector::removeGarbageObject().
void llvm::MachineInstr::addCCRegOperand | ( | Value * | V, | |
MachineOperand::UseType | UTy = MachineOperand::Use | |||
) | [inline] |
Definition at line 546 of file MachineInstr.h.
References llvm::MachineOperand::MO_CCRegister, and V.
Referenced by llvm::MachineInstrBuilder::addCCReg().
void llvm::MachineInstr::addConstantPoolIndexOperand | ( | unsigned | I, | |
int | Offset = 0 | |||
) | [inline] |
addConstantPoolndexOperand - Add a constant pool object index to the instruction.
Definition at line 651 of file MachineInstr.h.
References llvm::MachineOperand::MO_ConstantPoolIndex.
Referenced by llvm::MachineInstrBuilder::addConstantPoolIndex().
void llvm::MachineInstr::addExternalSymbolOperand | ( | const char * | SymName, | |
bool | isPCRelative | |||
) | [inline] |
addExternalSymbolOperand - Add an external symbol operand to this instr
Definition at line 667 of file MachineInstr.h.
Referenced by llvm::MachineInstrBuilder::addExternalSymbol(), and llvm::ScheduleDAG::EmitNode().
void llvm::MachineInstr::addFrameIndexOperand | ( | unsigned | Idx | ) | [inline] |
addFrameIndexOperand - Add an abstract frame index to the instruction
Definition at line 642 of file MachineInstr.h.
References llvm::MachineOperand::MO_FrameIndex.
Referenced by llvm::MachineInstrBuilder::addFrameIndex().
void llvm::MachineInstr::addGlobalAddressOperand | ( | GlobalValue * | GV, | |
bool | isPCRelative, | |||
int | Offset | |||
) | [inline] |
Definition at line 657 of file MachineInstr.h.
References GV, llvm::MachineOperand::MO_GlobalAddress, and llvm::MachineOperand::Use.
Referenced by llvm::MachineInstrBuilder::addGlobalAddress().
void llvm::MachineInstr::addImplicitRef | ( | Value * | V, | |
bool | isDef = false , |
|||
bool | isDefAndUse = false | |||
) | [inline] |
void llvm::MachineInstr::addMachineBasicBlockOperand | ( | MachineBasicBlock * | MBB | ) | [inline] |
Definition at line 634 of file MachineInstr.h.
References MBB.
Referenced by llvm::MachineInstrBuilder::addMBB().
void llvm::MachineInstr::addMachineRegOperand | ( | int | reg, | |
MachineOperand::UseType | UTy = MachineOperand::Use | |||
) | [inline] |
addMachineRegOperand - Add a virtual register operand to this MachineInstr
Definition at line 596 of file MachineInstr.h.
References llvm::MachineOperand::MO_MachineRegister.
void llvm::MachineInstr::addMachineRegOperand | ( | int | reg, | |
bool | isDef | |||
) | [inline] |
addMachineRegOperand - Add a virtual register operand to this MachineInstr
Definition at line 586 of file MachineInstr.h.
References llvm::MachineOperand::Def, llvm::MachineOperand::MO_MachineRegister, and llvm::MachineOperand::Use.
Referenced by llvm::MachineInstrBuilder::addMReg(), and llvm::ScheduleDAG::EmitNode().
void llvm::MachineInstr::addPCDispOperand | ( | Value * | V | ) | [inline] |
addPCDispOperand - Add a PC relative displacement operand to the MI
Definition at line 577 of file MachineInstr.h.
References llvm::MachineOperand::MO_PCRelativeDisp, llvm::MachineOperand::Use, and V.
Referenced by llvm::MachineInstrBuilder::addPCDisp().
void llvm::MachineInstr::addRegOperand | ( | int | reg, | |
MachineOperand::UseType | UTy = MachineOperand::Use | |||
) | [inline] |
addRegOperand - Add a symbolic virtual register reference...
Definition at line 567 of file MachineInstr.h.
References llvm::MachineOperand::MO_VirtualRegister.
void llvm::MachineInstr::addRegOperand | ( | int | reg, | |
bool | isDef | |||
) | [inline] |
addRegOperand - Add a symbolic virtual register reference...
Definition at line 557 of file MachineInstr.h.
References llvm::MachineOperand::Def, llvm::MachineOperand::MO_VirtualRegister, and llvm::MachineOperand::Use.
void llvm::MachineInstr::addRegOperand | ( | Value * | V, | |
MachineOperand::UseType | UTy = MachineOperand::Use , |
|||
bool | isPCRelative = false | |||
) | [inline] |
Definition at line 537 of file MachineInstr.h.
References llvm::MachineOperand::MO_VirtualRegister, and V.
void llvm::MachineInstr::addRegOperand | ( | Value * | V, | |
bool | isDef, | |||
bool | isDefAndUse = false | |||
) | [inline] |
addRegOperand - Add a MO_VirtualRegister operand to the end of the operands list...
Definition at line 527 of file MachineInstr.h.
References llvm::MachineOperand::Def, llvm::MachineOperand::MO_VirtualRegister, llvm::MachineOperand::Use, llvm::MachineOperand::UseAndDef, and V.
Referenced by addImplicitRef(), llvm::MachineInstrBuilder::addReg(), CreateVirtualRegisters(), and llvm::ScheduleDAG::EmitNode().
void llvm::MachineInstr::addSignExtImmOperand | ( | int | intValue | ) | [inline] |
addSignExtImmOperand - Add a zero extended constant argument to the machine instruction.
Definition at line 627 of file MachineInstr.h.
References llvm::MachineOperand::MO_SignExtendedImmed.
Referenced by llvm::MachineInstrBuilder::addSImm().
void llvm::MachineInstr::addZeroExtImm64Operand | ( | uint64_t | intValue | ) | [inline] |
addZeroExtImm64Operand - Add a zero extended 64-bit constant argument to the machine instruction.
Definition at line 617 of file MachineInstr.h.
References llvm::MachineOperand::MO_UnextendedImmed.
Referenced by llvm::MachineInstrBuilder::addImm64(), and llvm::ScheduleDAG::EmitNode().
void llvm::MachineInstr::addZeroExtImmOperand | ( | int | intValue | ) | [inline] |
addZeroExtImmOperand - Add a zero extended constant argument to the machine instruction.
Definition at line 607 of file MachineInstr.h.
References llvm::MachineOperand::MO_UnextendedImmed.
Referenced by llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addZImm().
const_val_op_iterator llvm::MachineInstr::begin | ( | ) | const [inline] |
Definition at line 773 of file MachineInstr.h.
References llvm::MachineInstr::ValOpIterator< MITy, VTy >::begin().
val_op_iterator llvm::MachineInstr::begin | ( | ) | [inline] |
Definition at line 771 of file MachineInstr.h.
References llvm::MachineInstr::ValOpIterator< MITy, VTy >::begin().
Referenced by llvm::applyTranferFuncForMInst(), llvm::LiveRangeInfo::coalesceLRs(), llvm::LiveVariables::runOnMachineFunction(), and substituteValue().
MachineInstr * MachineInstr::clone | ( | ) | const |
clone - Create a copy of 'this' instruction that is identical in all ways except the the instruction has no parent, prev, or next.
Definition at line 99 of file MachineInstr.cpp.
void MachineInstr::dump | ( | ) | const |
Definition at line 212 of file MachineInstr.cpp.
Referenced by llvm::LiveRangeInfo::coalesceLRs(), and llvm::AsmPrinter::printInlineAsm().
const_val_op_iterator llvm::MachineInstr::end | ( | ) | const [inline] |
Definition at line 776 of file MachineInstr.h.
References llvm::MachineInstr::ValOpIterator< MITy, VTy >::end().
val_op_iterator llvm::MachineInstr::end | ( | ) | [inline] |
Definition at line 772 of file MachineInstr.h.
References llvm::MachineInstr::ValOpIterator< MITy, VTy >::end().
Referenced by llvm::applyTranferFuncForMInst(), llvm::LiveRangeInfo::coalesceLRs(), and substituteValue().
const MachineOperand& llvm::MachineInstr::getExplOrImplOperand | ( | unsigned | i | ) | const [inline] |
Definition at line 462 of file MachineInstr.h.
References getImplicitOp(), getNumOperands(), and getOperand().
const MachineOperand& llvm::MachineInstr::getImplicitOp | ( | unsigned | i | ) | const [inline] |
Definition at line 477 of file MachineInstr.h.
MachineOperand& llvm::MachineInstr::getImplicitOp | ( | unsigned | i | ) | [inline] |
Definition at line 473 of file MachineInstr.h.
Referenced by llvm::applyTranferFuncForMInst(), getExplOrImplOperand(), getImplicitRef(), llvm::operator<<(), print(), SetRegForImplicitRef(), and substituteValue().
const Value* llvm::MachineInstr::getImplicitRef | ( | unsigned | i | ) | const [inline] |
Definition at line 485 of file MachineInstr.h.
References getImplicitOp(), and llvm::MachineOperand::getVRegValue().
Value* llvm::MachineInstr::getImplicitRef | ( | unsigned | i | ) | [inline] |
Definition at line 482 of file MachineInstr.h.
References getImplicitOp(), and llvm::MachineOperand::getVRegValue().
Referenced by llvm::applyTranferFuncForMInst(), llvm::CallArgsDescriptor::get(), llvm::operator<<(), print(), and substituteValue().
unsigned llvm::MachineInstr::getNumImplicitRefs | ( | ) | const [inline] |
Definition at line 471 of file MachineInstr.h.
Referenced by llvm::applyTranferFuncForMInst(), llvm::CallArgsDescriptor::get(), llvm::operator<<(), print(), replace(), setImplicitRef(), and substituteValue().
unsigned llvm::MachineInstr::getNumOperands | ( | ) | const [inline] |
Access to explicit operands of the instruction.
Definition at line 445 of file MachineInstr.h.
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), getExplOrImplOperand(), getNumBytesForInstruction(), getOperand(), llvm::LiveVariables::instructionChanged(), InstructionUsesRegister(), llvm::X86SharedAsmPrinter::isMem(), llvm::X86InstrInfo::isMoveInstr(), llvm::PPCInstrInfo::isMoveInstr(), llvm::IA64InstrInfo::isMoveInstr(), llvm::AlphaInstrInfo::isMoveInstr(), llvm::MSchedGraphSB::MSchedGraphSB(), llvm::operator<<(), print(), llvm::AsmPrinter::printInlineAsm(), llvm::SparcV9CodeEmitter::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), setImplicitRef(), SetMachineOperandConst(), SetMachineOperandReg(), and SetRegForOperand().
const int llvm::MachineInstr::getOpcode | ( | ) | const [inline] |
getOpcode - Returns the opcode of this MachineInstr.
Definition at line 441 of file MachineInstr.h.
Referenced by llvm::X86InstrInfo::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateCallFramePseudoInstr(), llvm::IA64RegisterInfo::eliminateCallFramePseudoInstr(), llvm::AlphaRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::foldMemoryOperand(), llvm::SparcRegisterInfo::foldMemoryOperand(), llvm::PPCRegisterInfo::foldMemoryOperand(), llvm::AlphaRegisterInfo::foldMemoryOperand(), llvm::SchedPriorities::getNextHighest(), getNumBytesForInstruction(), llvm::SchedGraphNode::getOpcode(), llvm::X86TargetLowering::InsertAtEndOfBasicBlock(), llvm::PPCTargetLowering::InsertAtEndOfBasicBlock(), llvm::X86InstrInfo::isLoadFromStackSlot(), llvm::SparcInstrInfo::isLoadFromStackSlot(), llvm::PPCInstrInfo::isLoadFromStackSlot(), llvm::AlphaInstrInfo::isLoadFromStackSlot(), llvm::X86InstrInfo::isMoveInstr(), llvm::SparcInstrInfo::isMoveInstr(), llvm::PPCInstrInfo::isMoveInstr(), llvm::IA64InstrInfo::isMoveInstr(), llvm::AlphaInstrInfo::isMoveInstr(), llvm::X86InstrInfo::isStoreToStackSlot(), llvm::SparcInstrInfo::isStoreToStackSlot(), llvm::PPCInstrInfo::isStoreToStackSlot(), llvm::AlphaInstrInfo::isStoreToStackSlot(), llvm::IsUselessCopy(), llvm::MSchedGraphSB::MSchedGraphSB(), llvm::operator<<(), print(), llvm::X86ATTAsmPrinter::printMachineInstruction(), llvm::ReplaceNopsWithUsefulInstr(), llvm::LiveVariables::runOnMachineFunction(), llvm::SparcV9RegInfo::suggestReg4RetValue(), and llvm::SparcV9RegInfo::suggestRegs4CallArgs().
MachineOperand& llvm::MachineInstr::getOperand | ( | unsigned | i | ) | [inline] |
const MachineOperand& llvm::MachineInstr::getOperand | ( | unsigned | i | ) | const [inline] |
Definition at line 447 of file MachineInstr.h.
References getNumOperands().
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::X86InstrInfo::commuteInstruction(), llvm::TargetInstrInfo::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::SparcV9RegInfo::cpMem2RegMI(), llvm::SparcV9RegInfo::cpReg2MemMI(), llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateCallFramePseudoInstr(), llvm::IA64RegisterInfo::eliminateCallFramePseudoInstr(), llvm::AlphaRegisterInfo::eliminateCallFramePseudoInstr(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::foldMemoryOperand(), llvm::PPCRegisterInfo::foldMemoryOperand(), llvm::AlphaRegisterInfo::foldMemoryOperand(), llvm::CallArgsDescriptor::get(), getExplOrImplOperand(), getNumBytesForInstruction(), HandleVRSaveUpdate(), llvm::X86TargetLowering::InsertAtEndOfBasicBlock(), llvm::PPCTargetLowering::InsertAtEndOfBasicBlock(), llvm::LiveVariables::instructionChanged(), InstructionUsesRegister(), llvm::X86InstrInfo::isLoadFromStackSlot(), llvm::SparcInstrInfo::isLoadFromStackSlot(), llvm::PPCInstrInfo::isLoadFromStackSlot(), llvm::AlphaInstrInfo::isLoadFromStackSlot(), llvm::X86SharedAsmPrinter::isMem(), llvm::X86InstrInfo::isMoveInstr(), llvm::SparcInstrInfo::isMoveInstr(), llvm::PPCInstrInfo::isMoveInstr(), llvm::IA64InstrInfo::isMoveInstr(), llvm::AlphaInstrInfo::isMoveInstr(), llvm::X86InstrInfo::isStoreToStackSlot(), llvm::SparcInstrInfo::isStoreToStackSlot(), llvm::PPCInstrInfo::isStoreToStackSlot(), llvm::AlphaInstrInfo::isStoreToStackSlot(), llvm::IsUselessCopy(), llvm::isVarArgsCall(), MakeMIInst(), MakeMRIInst(), MakeMRInst(), MakeRMIInst(), MakeRMInst(), llvm::MSchedGraphSB::MSchedGraphSB(), llvm::operator<<(), print(), llvm::AsmPrinter::printInlineAsm(), llvm::X86IntelAsmPrinter::printMemReference(), llvm::X86ATTAsmPrinter::printMemReference(), llvm::X86IntelAsmPrinter::printOperand(), llvm::X86ATTAsmPrinter::printOperand(), llvm::X86IntelAsmPrinter::printSSECC(), llvm::X86ATTAsmPrinter::printSSECC(), llvm::SparcV9CodeEmitter::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::SparcV9RegInfo::suggestReg4RetValue(), and llvm::VirtRegMap::virtFolded().
MachineBasicBlock* llvm::MachineInstr::getParent | ( | ) | [inline] |
Definition at line 437 of file MachineInstr.h.
const MachineBasicBlock* llvm::MachineInstr::getParent | ( | ) | const [inline] |
Definition at line 436 of file MachineInstr.h.
Referenced by llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::foldMemoryOperand(), llvm::LiveVariables::HandleVirtRegUse(), HandleVRSaveUpdate(), llvm::LiveVariables::MarkVirtRegAliveInBlock(), and llvm::operator<<().
void MachineInstr::print | ( | std::ostream & | OS, | |
const TargetMachine * | TM | |||
) | const |
Definition at line 322 of file MachineInstr.cpp.
References getImplicitOp(), getImplicitRef(), llvm::TargetMachine::getInstrInfo(), llvm::TargetInstrInfo::getName(), getNumImplicitRefs(), getNumOperands(), getOpcode(), getOperand(), OutputValue(), and TM.
Referenced by llvm::operator<<().
void llvm::MachineInstr::RemoveOperand | ( | unsigned | i | ) | [inline] |
RemoveOperand - Erase an operand from an instruction, leaving it with one fewer operand than it started with.
Definition at line 689 of file MachineInstr.h.
void MachineInstr::replace | ( | short | Opcode, | |
unsigned | numOperands | |||
) |
replace - Support to rewrite a machine instruction in place: for now, simply replace() and then set new operands with Set.*Operand methods below.
Definition at line 116 of file MachineInstr.cpp.
References getNumImplicitRefs().
void llvm::MachineInstr::setImplicitRef | ( | unsigned | i, | |
Value * | V | |||
) | [inline] |
Definition at line 493 of file MachineInstr.h.
References getNumImplicitRefs(), getNumOperands(), llvm::MachineOperand::MO_VirtualRegister, SetMachineOperandVal(), and V.
void MachineInstr::SetMachineOperandConst | ( | unsigned | i, | |
MachineOperand::MachineOperandType | operandType, | |||
int | intValue | |||
) |
Definition at line 134 of file MachineInstr.cpp.
References getNumOperands(), and llvm::TargetInstrDescriptors.
Referenced by llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), and llvm::SparcV9CodeEmitter::runOnMachineFunction().
void MachineInstr::SetMachineOperandReg | ( | unsigned | i, | |
int | regNum | |||
) |
Definition at line 148 of file MachineInstr.cpp.
References getNumOperands(), and llvm::MachineOperand::MO_MachineRegister.
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::TargetInstrInfo::commuteInstruction(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), and llvm::AlphaRegisterInfo::eliminateFrameIndex().
void MachineInstr::SetMachineOperandVal | ( | unsigned | i, | |
MachineOperand::MachineOperandType | operandType, | |||
Value * | V | |||
) |
void llvm::MachineInstr::setOpcode | ( | unsigned | Op | ) | [inline] |
setOpcode - Replace the opcode of the current instruction with a new one.
Definition at line 684 of file MachineInstr.h.
Referenced by llvm::PPCRegisterInfo::eliminateFrameIndex().
void MachineInstr::SetRegForImplicitRef | ( | unsigned | i, | |
int | regNum | |||
) |
Definition at line 163 of file MachineInstr.cpp.
References getImplicitOp(), and llvm::MachineOperand::setRegForValue().
void MachineInstr::SetRegForOperand | ( | unsigned | i, | |
int | regNum | |||
) |
unsigned MachineInstr::substituteValue | ( | const Value * | oldVal, | |
Value * | newVal, | |||
bool | defsOnly, | |||
bool | notDefsAndUses, | |||
bool & | someArgsWereIgnored | |||
) |
substituteValue - Substitute all occurrences of Value* oldVal with newVal in all operands and all implicit refs. If defsOnly == true, substitute defs only.
FIXME: Fold this into its single caller, at SparcInstrSelection.cpp:2865, or make it a static function in that file.
Definition at line 175 of file MachineInstr.cpp.
References begin(), E, end(), getImplicitOp(), getImplicitRef(), getNumImplicitRefs(), O, and Op.
friend struct ilist_traits< MachineInstr > [friend] |
Definition at line 416 of file MachineInstr.h.
std::ostream& operator<< | ( | std::ostream & | os, | |
const MachineInstr & | minstr | |||
) | [friend] |