LLVM: lib/CodeGen/MachineInstr.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static const MachineFunction * getMFIfAvailable (const MachineInstr &MI)
static void tryToGetTargetInfo (const MachineInstr &MI, const TargetRegisterInfo *&TRI, const MachineRegisterInfo *&MRI, const TargetIntrinsicInfo *&IntrinsicInfo, const TargetInstrInfo *&TII)
static void moveOperands (MachineOperand *Dst, MachineOperand *Src, unsigned NumOps, MachineRegisterInfo *MRI)
Move NumOps MachineOperands from Src to Dst, with support for overlapping ranges.
static bool hasIdenticalMMOs (ArrayRef< MachineMemOperand * > LHS, ArrayRef< MachineMemOperand * > RHS)
Check to see if the MMOs pointed to by the two MemRefs arrays are identical.
static bool MemOperandsHaveAlias (const MachineFrameInfo &MFI, AAResults *AA, bool UseTBAA, const MachineMemOperand *MMOa, const MachineMemOperand *MMOb)
static const DIExpression * computeExprForSpill (const MachineInstr &MI, const SmallVectorImpl< const MachineOperand * > &SpilledOperands)
Compute the new DIExpression to use with a DBG_VALUE for a spill slot.
static const DIExpression * computeExprForSpill (const MachineInstr &MI, Register SpillReg)
static LocationSize getSpillSlotSize (const MMOList &Accesses, const MachineFrameInfo &MFI)

MMOList

computeExprForSpill() [1/2]

computeExprForSpill() [2/2]

getMFIfAvailable()

Definition at line 65 of file MachineInstr.cpp.

References llvm::MachineBasicBlock::getParent(), MBB, and MI.

Referenced by llvm::MachineOperand::ChangeToRegister(), llvm::MachineOperand::getTargetIndexName(), llvm::hash_value(), llvm::MachineOperand::isIdenticalTo(), llvm::MachineInstr::print(), llvm::MachineOperand::print(), llvm::MachineOperand::printTargetFlags(), llvm::MachineOperand::setIsDef(), llvm::MachineOperand::setReg(), and tryToGetTargetInfo().

getSpillSlotSize()

hasIdenticalMMOs()

MemOperandsHaveAlias()

Definition at line 1353 of file MachineInstr.cpp.

References assert(), llvm::MachineMemOperand::getAAInfo(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(), llvm::MachineMemOperand::getOffset(), llvm::MachineMemOperand::getPseudoValue(), llvm::MachineMemOperand::getSize(), llvm::LocationSize::getValue(), llvm::MachineMemOperand::getValue(), llvm::LocationSize::hasValue(), llvm::AAResults::isNoAlias(), llvm::LocationSize::isScalable(), llvm::PseudoSourceValue::mayAlias(), llvm::LocationSize::precise(), llvm::MemoryLocation::UnknownSize, and UseTBAA.

Referenced by llvm::MachineInstr::mayAlias().

moveOperands()

tryToGetTargetInfo()

TiedMax