LLVM API Documentation
#include <MachineOperand.h>

Public Types | |
| enum | MachineOperandType { MO_Register, MO_Immediate, MO_FPImmediate, MO_MachineBasicBlock, MO_FrameIndex, MO_ConstantPoolIndex, MO_JumpTableIndex, MO_ExternalSymbol, MO_GlobalAddress } |
Public Member Functions | |
| MachineOperand (const MachineOperand &M) | |
| ~MachineOperand () | |
| MachineOperandType | getType () const |
| MachineInstr * | getParent () |
| const MachineInstr * | getParent () const |
| void | print (std::ostream &os, const TargetMachine *TM=0) const |
| void | print (raw_ostream &os, const TargetMachine *TM=0) const |
| bool | isReg () const |
| isReg - Tests if this is a MO_Register operand. | |
| bool | isImm () const |
| isImm - Tests if this is a MO_Immediate operand. | |
| bool | isFPImm () const |
| isFPImm - Tests if this is a MO_FPImmediate operand. | |
| bool | isMBB () const |
| isMBB - Tests if this is a MO_MachineBasicBlock operand. | |
| bool | isFI () const |
| isFI - Tests if this is a MO_FrameIndex operand. | |
| bool | isCPI () const |
| isCPI - Tests if this is a MO_ConstantPoolIndex operand. | |
| bool | isJTI () const |
| isJTI - Tests if this is a MO_JumpTableIndex operand. | |
| bool | isGlobal () const |
| isGlobal - Tests if this is a MO_GlobalAddress operand. | |
| bool | isSymbol () const |
| isSymbol - Tests if this is a MO_ExternalSymbol operand. | |
| unsigned | getReg () const |
| getReg - Returns the register number. | |
| unsigned | getSubReg () const |
| bool | isUse () const |
| bool | isDef () const |
| bool | isImplicit () const |
| bool | isDead () const |
| bool | isKill () const |
| bool | isEarlyClobber () const |
| MachineOperand * | getNextOperandForReg () const |
| void | setReg (unsigned Reg) |
| void | setSubReg (unsigned subReg) |
| void | setIsUse (bool Val=true) |
| void | setIsDef (bool Val=true) |
| void | setImplicit (bool Val=true) |
| void | setIsKill (bool Val=true) |
| void | setIsDead (bool Val=true) |
| void | setIsEarlyClobber (bool Val=true) |
| int64_t | getImm () const |
| const ConstantFP * | getFPImm () const |
| MachineBasicBlock * | getMBB () const |
| int | getIndex () const |
| GlobalValue * | getGlobal () const |
| int64_t | getOffset () const |
| const char * | getSymbolName () const |
| void | setImm (int64_t immVal) |
| void | setOffset (int64_t Offset) |
| void | setIndex (int Idx) |
| void | setMBB (MachineBasicBlock *MBB) |
| bool | isIdenticalTo (const MachineOperand &Other) const |
| void | ChangeToImmediate (int64_t ImmVal) |
| void | ChangeToRegister (unsigned Reg, bool isDef, bool isImp=false, bool isKill=false, bool isDead=false) |
| const MachineOperand & | operator= (const MachineOperand &MO) |
Static Public Member Functions | |
| static MachineOperand | CreateImm (int64_t Val) |
| static MachineOperand | CreateFPImm (const ConstantFP *CFP) |
| static MachineOperand | CreateReg (unsigned Reg, bool isDef, bool isImp=false, bool isKill=false, bool isDead=false, unsigned SubReg=0, bool isEarlyClobber=false) |
| static MachineOperand | CreateMBB (MachineBasicBlock *MBB) |
| static MachineOperand | CreateFI (unsigned Idx) |
| static MachineOperand | CreateCPI (unsigned Idx, int Offset) |
| static MachineOperand | CreateJTI (unsigned Idx) |
| static MachineOperand | CreateGA (GlobalValue *GV, int64_t Offset) |
| static MachineOperand | CreateES (const char *SymName, int64_t Offset=0) |
Friends | |
| class | MachineInstr |
| class | MachineRegisterInfo |
Definition at line 33 of file MachineOperand.h.
| MO_Register | Register operand. |
| MO_Immediate | Immediate operand. |
| MO_FPImmediate | Floating-point immediate operand. |
| MO_MachineBasicBlock | MachineBasicBlock reference. |
| MO_FrameIndex | Abstract Stack Frame Index. |
| MO_ConstantPoolIndex | Address of indexed Constant in Constant Pool. |
| MO_JumpTableIndex | Address of indexed Jump Table for switch. |
| MO_ExternalSymbol | Name of external global symbol. |
| MO_GlobalAddress | Address of a global value. |
Definition at line 35 of file MachineOperand.h.
| llvm::MachineOperand::MachineOperand | ( | const MachineOperand & | M | ) | [inline] |
Definition at line 110 of file MachineOperand.h.
| llvm::MachineOperand::~MachineOperand | ( | ) | [inline] |
Definition at line 114 of file MachineOperand.h.
| MachineOperandType llvm::MachineOperand::getType | ( | ) | const [inline] |
getType - Returns the MachineOperandType for this operand.
Definition at line 118 of file MachineOperand.h.
Referenced by HashMachineInstr(), isIdenticalTo(), print(), llvm::X86IntelAsmPrinter::printOp(), and llvm::X86ATTAsmPrinter::printOperand().
| MachineInstr* llvm::MachineOperand::getParent | ( | ) | [inline] |
getParent - Return the instruction that this operand belongs to.
Definition at line 122 of file MachineOperand.h.
Referenced by llvm::ScheduleDAGInstrs::BuildSchedGraph(), ChangeToImmediate(), ChangeToRegister(), llvm::LiveIntervals::getNumConflictsWithPhysReg(), print(), setReg(), and llvm::LiveIntervals::spillPhysRegAroundRegDefsUses().
| const MachineInstr* llvm::MachineOperand::getParent | ( | ) | const [inline] |
Definition at line 123 of file MachineOperand.h.
| void MachineOperand::print | ( | std::ostream & | OS, | |
| const TargetMachine * | TM = 0 | |||
| ) | const |
print - Print the specified machine operand.
Definition at line 166 of file MachineInstr.cpp.
Referenced by llvm::operator<<(), and llvm::MachineInstr::print().
| void MachineOperand::print | ( | raw_ostream & | os, | |
| const TargetMachine * | TM = 0 | |||
| ) | const |
Definition at line 171 of file MachineInstr.cpp.
References llvm::APFloat::convertToDouble(), llvm::APFloat::convertToFloat(), llvm::Type::FloatTy, llvm::TargetRegisterInfo::get(), llvm::MachineBasicBlock::getBasicBlock(), getFPImm(), getGlobal(), getImm(), getIndex(), getMBB(), llvm::Intrinsic::getName(), getOffset(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), getParent(), getReg(), llvm::TargetMachine::getRegisterInfo(), getSubReg(), getSymbolName(), llvm::MachineFunction::getTarget(), getType(), llvm::ConstantFP::getValueAPF(), isDead(), isDef(), isEarlyClobber(), isImplicit(), isKill(), llvm::TargetRegisterInfo::isVirtualRegister(), MBB, MF, MI, MO_ConstantPoolIndex, MO_ExternalSymbol, MO_FPImmediate, MO_FrameIndex, MO_GlobalAddress, MO_Immediate, MO_JumpTableIndex, MO_MachineBasicBlock, MO_Register, and llvm::TargetRegisterDesc::Name.
| bool llvm::MachineOperand::isReg | ( | ) | const [inline] |
isReg - Tests if this is a MO_Register operand.
Definition at line 133 of file MachineOperand.h.
References MO_Register.
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::LiveIntervals::addIntervalsForSpillsFast(), llvm::MachineInstr::addOperand(), llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterKilled(), ARMInstrAddOperand(), llvm::RegScavenger::backward(), llvm::ScheduleDAGInstrs::BuildSchedGraph(), ChangeToImmediate(), ChangeToRegister(), llvm::TargetInstrInfoImpl::CommuteChangesDestination(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::LiveIntervals::conflictsWithPhysRegDef(), llvm::LiveIntervals::conflictsWithPhysRegRef(), llvm::ARMInstrInfo::convertToThreeAddress(), llvm::MachineInstr::copyKillDeadInfo(), llvm::ARMInstrInfo::DefinesPredicate(), llvm::X86InstrInfo::determineREX(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::MachineInstr::findRegisterDefOperandIdx(), llvm::MachineInstr::findRegisterUseOperandIdx(), llvm::SparcInstrInfo::foldMemoryOperandImpl(), llvm::MipsInstrInfo::foldMemoryOperandImpl(), llvm::RegScavenger::forward(), FuseInst(), getFPReg(), getNextOperandForReg(), llvm::MachineInstr::getNumExplicitOperands(), getReg(), getSubReg(), hasLiveCondCodeDef(), InvalidateKills(), InvalidateRegDef(), isDead(), isDef(), isEarlyClobber(), isImplicit(), isKill(), llvm::X86InstrInfo::isLoadFromStackSlot(), llvm::PIC16InstrInfo::isLoadFromStackSlot(), llvm::ARMInstrInfo::isLoadFromStackSlot(), llvm::isMem(), isMemoryOp(), llvm::X86InstrInfo::isMoveInstr(), llvm::SPUInstrInfo::isMoveInstr(), llvm::SparcInstrInfo::isMoveInstr(), llvm::PPCInstrInfo::isMoveInstr(), llvm::MipsInstrInfo::isMoveInstr(), llvm::IA64InstrInfo::isMoveInstr(), llvm::ARMInstrInfo::isMoveInstr(), llvm::AlphaInstrInfo::isMoveInstr(), isReadModWriteImplicitDef(), isReadModWriteImplicitKill(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), llvm::MachineInstr::isRegReDefinedByTwoAddr(), isSafeToClobberEFLAGS(), llvm::MachineInstr::isSafeToReMat(), llvm::X86InstrInfo::isStoreToStackSlot(), llvm::PIC16InstrInfo::isStoreToStackSlot(), llvm::ARMInstrInfo::isStoreToStackSlot(), isTwoAddrUse(), isUse(), llvm::X86InstrInfo::isX86_64ExtendedReg(), llvm::SPUInstrInfo::loadRegFromAddr(), llvm::SparcInstrInfo::loadRegFromAddr(), llvm::PPCInstrInfo::loadRegFromAddr(), llvm::MipsInstrInfo::loadRegFromAddr(), llvm::IA64InstrInfo::loadRegFromAddr(), llvm::AlphaInstrInfo::loadRegFromAddr(), llvm::TargetInstrInfoImpl::PredicateInstruction(), llvm::X86ATTAsmPrinter::PrintAsmOperand(), llvm::AsmPrinter::printInlineAsm(), llvm::X86IntelAsmPrinter::printOperand(), RedefinesSuperRegPart(), llvm::X86InstrInfo::reMaterialize(), ReMaterialize(), llvm::LiveVariables::removeVirtualRegisterDead(), llvm::LiveVariables::removeVirtualRegisterKilled(), llvm::LiveVariables::removeVirtualRegistersKilled(), llvm::SimpleRegisterCoalescing::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::RegScavenger::scavengeRegister(), setImplicit(), setIsDead(), setIsDef(), setIsEarlyClobber(), setIsKill(), setIsUse(), setSubReg(), llvm::SPUInstrInfo::storeRegToAddr(), llvm::SparcInstrInfo::storeRegToAddr(), llvm::PPCInstrInfo::storeRegToAddr(), llvm::MipsInstrInfo::storeRegToAddr(), llvm::IA64InstrInfo::storeRegToAddr(), llvm::AlphaInstrInfo::storeRegToAddr(), llvm::X86InstrInfo::unfoldMemoryOperand(), UpdateKills(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isImm | ( | ) | const [inline] |
isImm - Tests if this is a MO_Immediate operand.
Definition at line 135 of file MachineOperand.h.
References MO_Immediate.
Referenced by ARMInstrAddOperand(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), getImm(), GetInstSizeWithDesc(), llvm::XCoreInstrInfo::isLoadFromStackSlot(), llvm::X86InstrInfo::isLoadFromStackSlot(), llvm::SPUInstrInfo::isLoadFromStackSlot(), llvm::SparcInstrInfo::isLoadFromStackSlot(), llvm::PPCInstrInfo::isLoadFromStackSlot(), llvm::MipsInstrInfo::isLoadFromStackSlot(), llvm::ARMInstrInfo::isLoadFromStackSlot(), llvm::isMem(), llvm::SPUInstrInfo::isMoveInstr(), llvm::PPCInstrInfo::isMoveInstr(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), llvm::isScale(), llvm::XCoreInstrInfo::isStoreToStackSlot(), llvm::X86InstrInfo::isStoreToStackSlot(), llvm::SPUInstrInfo::isStoreToStackSlot(), llvm::SparcInstrInfo::isStoreToStackSlot(), llvm::PPCInstrInfo::isStoreToStackSlot(), llvm::MipsInstrInfo::isStoreToStackSlot(), llvm::ARMInstrInfo::isStoreToStackSlot(), isZeroImm(), llvm::SPUInstrInfo::loadRegFromAddr(), llvm::SparcInstrInfo::loadRegFromAddr(), llvm::PPCInstrInfo::loadRegFromAddr(), llvm::MipsInstrInfo::loadRegFromAddr(), llvm::IA64InstrInfo::loadRegFromAddr(), llvm::TargetInstrInfoImpl::PredicateInstruction(), setImm(), llvm::SPUInstrInfo::storeRegToAddr(), llvm::SparcInstrInfo::storeRegToAddr(), llvm::PPCInstrInfo::storeRegToAddr(), llvm::MipsInstrInfo::storeRegToAddr(), llvm::IA64InstrInfo::storeRegToAddr(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isFPImm | ( | ) | const [inline] |
isFPImm - Tests if this is a MO_FPImmediate operand.
Definition at line 137 of file MachineOperand.h.
References MO_FPImmediate.
Referenced by getFPImm().
| bool llvm::MachineOperand::isMBB | ( | ) | const [inline] |
isMBB - Tests if this is a MO_MachineBasicBlock operand.
Definition at line 139 of file MachineOperand.h.
References MO_MachineBasicBlock.
Referenced by GetInstSizeWithDesc(), getMBB(), llvm::TargetInstrInfoImpl::PredicateInstruction(), setMBB(), and llvm::SplitCriticalMachineEdge().
| bool llvm::MachineOperand::isFI | ( | ) | const [inline] |
isFI - Tests if this is a MO_FrameIndex operand.
Definition at line 141 of file MachineOperand.h.
References MO_FrameIndex.
Referenced by ARMInstrAddOperand(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SPURegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::ARMRegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), getIndex(), isCSRestore(), llvm::X86InstrInfo::isInvariantLoad(), llvm::XCoreInstrInfo::isLoadFromStackSlot(), llvm::X86InstrInfo::isLoadFromStackSlot(), llvm::SPUInstrInfo::isLoadFromStackSlot(), llvm::SparcInstrInfo::isLoadFromStackSlot(), llvm::PPCInstrInfo::isLoadFromStackSlot(), llvm::MipsInstrInfo::isLoadFromStackSlot(), llvm::ARMInstrInfo::isLoadFromStackSlot(), llvm::AlphaInstrInfo::isLoadFromStackSlot(), llvm::isMem(), llvm::XCoreInstrInfo::isStoreToStackSlot(), llvm::X86InstrInfo::isStoreToStackSlot(), llvm::SPUInstrInfo::isStoreToStackSlot(), llvm::SparcInstrInfo::isStoreToStackSlot(), llvm::PPCInstrInfo::isStoreToStackSlot(), llvm::MipsInstrInfo::isStoreToStackSlot(), llvm::ARMInstrInfo::isStoreToStackSlot(), llvm::AlphaInstrInfo::isStoreToStackSlot(), llvm::SparcInstrInfo::loadRegFromAddr(), llvm::VirtRegMap::RemoveMachineInstrFromMaps(), setIndex(), llvm::SparcInstrInfo::storeRegToAddr(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isCPI | ( | ) | const [inline] |
isCPI - Tests if this is a MO_ConstantPoolIndex operand.
Definition at line 143 of file MachineOperand.h.
References MO_ConstantPoolIndex.
Referenced by getDisplacementFieldSize(), getIndex(), GetInstSizeWithDesc(), getMemModRMByteSize(), getOffset(), llvm::XCoreInstrInfo::isInvariantLoad(), llvm::X86InstrInfo::isInvariantLoad(), llvm::isMem(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), llvm::X86IntelAsmPrinter::printMemReference(), llvm::X86ATTAsmPrinter::printMemReference(), setIndex(), setOffset(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isJTI | ( | ) | const [inline] |
isJTI - Tests if this is a MO_JumpTableIndex operand.
Definition at line 145 of file MachineOperand.h.
References MO_JumpTableIndex.
Referenced by getDisplacementFieldSize(), getIndex(), GetInstSizeWithDesc(), getMemModRMByteSize(), llvm::isMem(), llvm::X86IntelAsmPrinter::printMemReference(), llvm::X86ATTAsmPrinter::printMemReference(), setIndex(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isGlobal | ( | ) | const [inline] |
isGlobal - Tests if this is a MO_GlobalAddress operand.
Definition at line 147 of file MachineOperand.h.
References MO_GlobalAddress.
Referenced by llvm::X86TargetLowering::EmitInstrWithCustomInserter(), getDisplacementFieldSize(), getGlobal(), GetInstSizeWithDesc(), getMemModRMByteSize(), getOffset(), llvm::X86InstrInfo::isInvariantLoad(), llvm::isMem(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), llvm::X86IntelAsmPrinter::printMemReference(), llvm::X86ATTAsmPrinter::printMemReference(), setOffset(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isSymbol | ( | ) | const [inline] |
isSymbol - Tests if this is a MO_ExternalSymbol operand.
Definition at line 149 of file MachineOperand.h.
References MO_ExternalSymbol.
Referenced by GetInstSizeWithDesc(), getOffset(), getSymbolName(), llvm::PIC16InstrInfo::isLoadFromStackSlot(), llvm::PIC16InstrInfo::isStoreToStackSlot(), llvm::AsmPrinter::printInlineAsm(), setOffset(), and X86InstrAddOperand().
| unsigned llvm::MachineOperand::getReg | ( | ) | const [inline] |
getReg - Returns the register number.
Definition at line 156 of file MachineOperand.h.
References isReg().
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::LiveIntervals::addIntervalsForSpillsFast(), llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterKilled(), ARMInstrAddOperand(), llvm::RegScavenger::backward(), llvm::ScheduleDAGInstrs::BuildSchedGraph(), llvm::SPUInstrInfo::canFoldMemoryOperand(), llvm::PPCInstrInfo::canFoldMemoryOperand(), llvm::ARMInstrInfo::canFoldMemoryOperand(), llvm::TargetInstrInfoImpl::CommuteChangesDestination(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::LiveIntervals::conflictsWithPhysRegDef(), llvm::LiveIntervals::conflictsWithPhysRegRef(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMInstrInfo::convertToThreeAddress(), llvm::ARMInstrInfo::DefinesPredicate(), llvm::X86InstrInfo::determineREX(), llvm::ARMRegisterInfo::eliminateCallFramePseudoInstr(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::ARMRegisterInfo::eliminateFrameIndex(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::SparcTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::AlphaTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), encodeVFPRd(), encodeVFPRm(), encodeVFPRn(), llvm::MachineInstr::findRegisterDefOperandIdx(), llvm::MachineInstr::findRegisterUseOperandIdx(), llvm::SPUInstrInfo::foldMemoryOperandImpl(), llvm::SparcInstrInfo::foldMemoryOperandImpl(), llvm::PPCInstrInfo::foldMemoryOperandImpl(), llvm::MipsInstrInfo::foldMemoryOperandImpl(), llvm::ARMInstrInfo::foldMemoryOperandImpl(), llvm::AlphaInstrInfo::foldMemoryOperandImpl(), llvm::RegScavenger::forward(), getFPReg(), getInstrPredicate(), getMemModRMByteSize(), llvm::LiveIntervals::getVNInfoSourceReg(), HandleVRSaveUpdate(), HashMachineInstr(), hasLiveCondCodeDef(), InvalidateKills(), InvalidateRegDef(), isCSRestore(), isIdenticalTo(), llvm::XCoreInstrInfo::isLoadFromStackSlot(), llvm::X86InstrInfo::isLoadFromStackSlot(), llvm::SPUInstrInfo::isLoadFromStackSlot(), llvm::SparcInstrInfo::isLoadFromStackSlot(), llvm::PPCInstrInfo::isLoadFromStackSlot(), llvm::PIC16InstrInfo::isLoadFromStackSlot(), llvm::MipsInstrInfo::isLoadFromStackSlot(), llvm::ARMInstrInfo::isLoadFromStackSlot(), llvm::AlphaInstrInfo::isLoadFromStackSlot(), isMatchingDecrement(), isMatchingIncrement(), isMemoryOp(), llvm::XCoreInstrInfo::isMoveInstr(), llvm::X86InstrInfo::isMoveInstr(), llvm::SPUInstrInfo::isMoveInstr(), llvm::SparcInstrInfo::isMoveInstr(), llvm::PPCInstrInfo::isMoveInstr(), llvm::PIC16InstrInfo::isMoveInstr(), llvm::MipsInstrInfo::isMoveInstr(), llvm::IA64InstrInfo::isMoveInstr(), llvm::ARMInstrInfo::isMoveInstr(), llvm::AlphaInstrInfo::isMoveInstr(), isReadModWriteImplicitDef(), isReadModWriteImplicitKill(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), isSafeToClobberEFLAGS(), llvm::MachineInstr::isSafeToReMat(), isSourceDefinedByImplicitDef(), llvm::XCoreInstrInfo::isStoreToStackSlot(), llvm::X86InstrInfo::isStoreToStackSlot(), llvm::SPUInstrInfo::isStoreToStackSlot(), llvm::SparcInstrInfo::isStoreToStackSlot(), llvm::PPCInstrInfo::isStoreToStackSlot(), llvm::PIC16InstrInfo::isStoreToStackSlot(), llvm::MipsInstrInfo::isStoreToStackSlot(), llvm::ARMInstrInfo::isStoreToStackSlot(), llvm::AlphaInstrInfo::isStoreToStackSlot(), isTwoAddrUse(), llvm::X86InstrInfo::isX86_64ExtendedReg(), llvm::SPUInstrInfo::loadRegFromAddr(), llvm::SparcInstrInfo::loadRegFromAddr(), llvm::PPCInstrInfo::loadRegFromAddr(), llvm::MipsInstrInfo::loadRegFromAddr(), llvm::IA64InstrInfo::loadRegFromAddr(), llvm::AlphaInstrInfo::loadRegFromAddr(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), mergeBaseUpdateLoadStore(), mergeBaseUpdateLSMultiple(), print(), llvm::X86IntelAsmPrinter::printAsmMRegister(), llvm::X86ATTAsmPrinter::printAsmMRegister(), llvm::AsmPrinter::printImplicitDef(), llvm::X86IntelAsmPrinter::printMemReference(), llvm::X86ATTAsmPrinter::printMemReference(), llvm::X86IntelAsmPrinter::printOp(), llvm::X86IntelAsmPrinter::printOperand(), llvm::X86ATTAsmPrinter::printOperand(), RedefinesSuperRegPart(), ReMaterialize(), llvm::ARMInstrInfo::reMaterialize(), llvm::LiveVariables::removeVirtualRegisterDead(), llvm::LiveVariables::removeVirtualRegisterKilled(), llvm::LiveVariables::removeVirtualRegistersKilled(), llvm::SimpleRegisterCoalescing::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::RegScavenger::scavengeRegister(), setReg(), llvm::SPUInstrInfo::storeRegToAddr(), llvm::SparcInstrInfo::storeRegToAddr(), llvm::PPCInstrInfo::storeRegToAddr(), llvm::MipsInstrInfo::storeRegToAddr(), llvm::IA64InstrInfo::storeRegToAddr(), llvm::AlphaInstrInfo::storeRegToAddr(), llvm::X86InstrInfo::unfoldMemoryOperand(), UpdateKills(), and X86InstrAddOperand().
| unsigned llvm::MachineOperand::getSubReg | ( | ) | const [inline] |
Definition at line 161 of file MachineOperand.h.
References isReg().
Referenced by FilterFoldedOps(), isIdenticalTo(), print(), llvm::X86InstrInfo::reMaterialize(), ReMaterialize(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isUse | ( | ) | const [inline] |
Definition at line 166 of file MachineOperand.h.
References isReg().
Referenced by llvm::LiveIntervals::addIntervalsForSpillsFast(), llvm::MachineInstr::addRegisterKilled(), llvm::RegScavenger::backward(), llvm::ScheduleDAGInstrs::BuildSchedGraph(), llvm::LiveIntervals::conflictsWithPhysRegRef(), llvm::ARMInstrInfo::convertToThreeAddress(), llvm::MachineInstr::findRegisterUseOperandIdx(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::RegScavenger::forward(), InvalidateKills(), InvalidateRegDef(), llvm::MachineInstr::isRegReDefinedByTwoAddr(), isSafeToClobberEFLAGS(), llvm::MachineInstr::isSafeToReMat(), RedefinesSuperRegPart(), ReMaterialize(), llvm::SimpleRegisterCoalescing::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), and UpdateKills().
| bool llvm::MachineOperand::isDef | ( | ) | const [inline] |
Definition at line 171 of file MachineOperand.h.
References isReg().
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::LiveIntervals::addIntervalsForSpillsFast(), llvm::MachineInstr::addRegisterDead(), ARMInstrAddOperand(), llvm::ScheduleDAGInstrs::BuildSchedGraph(), llvm::ARMInstrInfo::convertToThreeAddress(), FilterFoldedOps(), llvm::MachineInstr::findRegisterDefOperandIdx(), llvm::TargetInstrInfo::foldMemoryOperand(), hasLiveCondCodeDef(), InvalidateRegDef(), isIdenticalTo(), isReadModWriteImplicitDef(), isReadModWriteImplicitKill(), isTwoAddrUse(), llvm::AlphaInstrInfo::loadRegFromAddr(), print(), llvm::AsmPrinter::printInlineAsm(), RedefinesSuperRegPart(), llvm::LiveVariables::removeVirtualRegisterDead(), llvm::SimpleRegisterCoalescing::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::AlphaInstrInfo::storeRegToAddr(), llvm::X86InstrInfo::unfoldMemoryOperand(), UpdateKills(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isImplicit | ( | ) | const [inline] |
Definition at line 176 of file MachineOperand.h.
References isReg().
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::MachineInstr::addOperand(), ARMInstrAddOperand(), FilterFoldedOps(), llvm::MachineInstr::getNumExplicitOperands(), isReadModWriteImplicitDef(), isReadModWriteImplicitKill(), llvm::AlphaInstrInfo::loadRegFromAddr(), print(), RedefinesSuperRegPart(), llvm::AlphaInstrInfo::storeRegToAddr(), llvm::X86InstrInfo::unfoldMemoryOperand(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isDead | ( | ) | const [inline] |
Definition at line 181 of file MachineOperand.h.
References isReg().
Referenced by llvm::MachineInstr::addRegisterDead(), llvm::ScheduleDAGInstrs::BuildSchedGraph(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMInstrInfo::convertToThreeAddress(), llvm::MachineInstr::copyKillDeadInfo(), CreateReg(), llvm::MachineInstr::findRegisterDefOperandIdx(), llvm::SPUInstrInfo::foldMemoryOperandImpl(), llvm::SparcInstrInfo::foldMemoryOperandImpl(), llvm::PPCInstrInfo::foldMemoryOperandImpl(), llvm::MipsInstrInfo::foldMemoryOperandImpl(), llvm::ARMInstrInfo::foldMemoryOperandImpl(), llvm::AlphaInstrInfo::foldMemoryOperandImpl(), llvm::RegScavenger::forward(), hasLiveCondCodeDef(), InvalidateRegDef(), isReadModWriteImplicitKill(), llvm::MachineInstr::isSafeToReMat(), print(), llvm::SimpleRegisterCoalescing::runOnMachineFunction(), llvm::X86InstrInfo::unfoldMemoryOperand(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isKill | ( | ) | const [inline] |
Definition at line 186 of file MachineOperand.h.
References isReg().
Referenced by llvm::MachineInstr::addRegisterKilled(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMInstrInfo::convertToThreeAddress(), llvm::MachineInstr::copyKillDeadInfo(), CreateReg(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::MachineInstr::findRegisterUseOperandIdx(), llvm::SPUInstrInfo::foldMemoryOperandImpl(), llvm::SparcInstrInfo::foldMemoryOperandImpl(), llvm::PPCInstrInfo::foldMemoryOperandImpl(), llvm::MipsInstrInfo::foldMemoryOperandImpl(), llvm::ARMInstrInfo::foldMemoryOperandImpl(), llvm::AlphaInstrInfo::foldMemoryOperandImpl(), llvm::RegScavenger::forward(), InvalidateKills(), isReadModWriteImplicitDef(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), mergeBaseUpdateLoadStore(), print(), llvm::LiveVariables::removeVirtualRegisterKilled(), llvm::LiveVariables::removeVirtualRegistersKilled(), llvm::X86InstrInfo::unfoldMemoryOperand(), UpdateKills(), and X86InstrAddOperand().
| bool llvm::MachineOperand::isEarlyClobber | ( | ) | const [inline] |
Definition at line 191 of file MachineOperand.h.
References isReg().
Referenced by llvm::RegScavenger::backward(), ChangeToRegister(), CreateReg(), llvm::RegScavenger::forward(), and print().
| MachineOperand* llvm::MachineOperand::getNextOperandForReg | ( | ) | const [inline] |
getNextOperandForReg - Return the next MachineOperand in the function that uses or defines this register.
Definition at line 198 of file MachineOperand.h.
References isReg().
| void MachineOperand::setReg | ( | unsigned | Reg | ) |
Change the register this operand corresponds to.
Definition at line 70 of file MachineInstr.cpp.
References llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), getParent(), getReg(), llvm::MachineFunction::getRegInfo(), MBB, MF, and MI.
Referenced by llvm::LiveIntervals::addIntervalsForSpillsFast(), ChangeToRegister(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::TargetInstrInfoImpl::PredicateInstruction(), llvm::ARMInstrInfo::PredicateInstruction(), llvm::X86InstrInfo::reMaterialize(), ReMaterialize(), llvm::TargetInstrInfoImpl::reMaterialize(), llvm::ARMInstrInfo::reMaterialize(), and llvm::MachineRegisterInfo::replaceRegWith().
| void llvm::MachineOperand::setSubReg | ( | unsigned | subReg | ) | [inline] |
Definition at line 211 of file MachineOperand.h.
References isReg().
Referenced by llvm::X86InstrInfo::reMaterialize().
| void llvm::MachineOperand::setIsUse | ( | bool | Val = true |
) | [inline] |
| void llvm::MachineOperand::setIsDef | ( | bool | Val = true |
) | [inline] |
| void llvm::MachineOperand::setImplicit | ( | bool | Val = true |
) | [inline] |
| void llvm::MachineOperand::setIsKill | ( | bool | Val = true |
) | [inline] |
Definition at line 231 of file MachineOperand.h.
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::LiveIntervals::addIntervalsForSpillsFast(), llvm::MachineInstr::addRegisterKilled(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::MachineInstr::copyKillDeadInfo(), llvm::LiveVariables::removeVirtualRegisterKilled(), llvm::LiveVariables::removeVirtualRegistersKilled(), llvm::X86InstrInfo::unfoldMemoryOperand(), and UpdateKills().
| void llvm::MachineOperand::setIsDead | ( | bool | Val = true |
) | [inline] |
Definition at line 236 of file MachineOperand.h.
Referenced by llvm::MachineInstr::addRegisterDead(), llvm::ARMInstrInfo::convertToThreeAddress(), llvm::MachineInstr::copyKillDeadInfo(), llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::X86RegisterInfo::emitPrologue(), emitSPUpdate(), InvalidateRegDef(), PropagateDeadness(), and llvm::LiveVariables::removeVirtualRegisterDead().
| void llvm::MachineOperand::setIsEarlyClobber | ( | bool | Val = true |
) | [inline] |
| int64_t llvm::MachineOperand::getImm | ( | ) | const [inline] |
Definition at line 250 of file MachineOperand.h.
References isImm().
Referenced by ARMInstrAddOperand(), llvm::X86InstrInfo::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMInstrInfo::convertToThreeAddress(), llvm::XCoreRegisterInfo::eliminateCallFramePseudoInstr(), llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateCallFramePseudoInstr(), llvm::IA64RegisterInfo::eliminateCallFramePseudoInstr(), llvm::ARMRegisterInfo::eliminateCallFramePseudoInstr(), llvm::AlphaRegisterInfo::eliminateCallFramePseudoInstr(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SPURegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::ARMRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::SparcTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMInstrInfo::foldMemoryOperandImpl(), getInstrPredicate(), llvm::ARMInstrInfo::GetInstSizeInBytes(), getLSMultipleTransferSize(), llvm::ARMInstrInfo::getPredicate(), llvm::LiveIntervals::getVNInfoSourceReg(), HashMachineInstr(), isIdenticalTo(), llvm::X86InstrInfo::isLoadFromStackSlot(), llvm::SparcInstrInfo::isLoadFromStackSlot(), llvm::PPCInstrInfo::isLoadFromStackSlot(), llvm::ARMInstrInfo::isLoadFromStackSlot(), isMatchingDecrement(), isMatchingIncrement(), llvm::SPUInstrInfo::isMoveInstr(), llvm::PPCInstrInfo::isMoveInstr(), llvm::ARMInstrInfo::isPredicated(), llvm::isScale(), llvm::X86InstrInfo::isStoreToStackSlot(), llvm::SparcInstrInfo::isStoreToStackSlot(), llvm::PPCInstrInfo::isStoreToStackSlot(), llvm::ARMInstrInfo::isStoreToStackSlot(), isZeroImm(), llvm::SPUInstrInfo::loadRegFromAddr(), llvm::SparcInstrInfo::loadRegFromAddr(), llvm::PPCInstrInfo::loadRegFromAddr(), llvm::MipsInstrInfo::loadRegFromAddr(), llvm::IA64InstrInfo::loadRegFromAddr(), llvm::AlphaInstrInfo::loadRegFromAddr(), llvm::PPCRegisterInfo::lowerCRSpilling(), mergeBaseUpdateLoadStore(), mergeBaseUpdateLSMultiple(), print(), llvm::AsmPrinter::printInlineAsm(), llvm::AsmPrinter::printLabel(), llvm::X86IntelAsmPrinter::printMemReference(), llvm::X86ATTAsmPrinter::printMemReference(), llvm::X86IntelAsmPrinter::printOp(), llvm::X86ATTAsmPrinter::printOperand(), llvm::X86IntelAsmPrinter::printSSECC(), llvm::X86ATTAsmPrinter::printSSECC(), llvm::ARMInstrInfo::reMaterialize(), llvm::SPUInstrInfo::storeRegToAddr(), llvm::SparcInstrInfo::storeRegToAddr(), llvm::PPCInstrInfo::storeRegToAddr(), llvm::MipsInstrInfo::storeRegToAddr(), llvm::IA64InstrInfo::storeRegToAddr(), llvm::AlphaInstrInfo::storeRegToAddr(), llvm::X86InstrInfo::unfoldMemoryOperand(), and X86InstrAddOperand().
| const ConstantFP* llvm::MachineOperand::getFPImm | ( | ) | const [inline] |
Definition at line 255 of file MachineOperand.h.
References isFPImm().
Referenced by isIdenticalTo(), and print().
| MachineBasicBlock* llvm::MachineOperand::getMBB | ( | ) | const [inline] |
Definition at line 260 of file MachineOperand.h.
References isMBB().
Referenced by llvm::XCoreInstrInfo::AnalyzeBranch(), llvm::SPUInstrInfo::AnalyzeBranch(), llvm::PPCInstrInfo::AnalyzeBranch(), llvm::MipsInstrInfo::AnalyzeBranch(), llvm: