Return true if PreviousCopy
did copy register Src
to register Def
.
This fact may have been obscured by sub register usage or may not be true at all even though Src and Def are subregisters of the registers used in PreviousCopy. e.g. isNopCopy("ecx = COPY eax", AX, CX) == true isNopCopy("ecx = COPY eax", AH, CL) == false
Definition at line 252 of file MachineCopyPropagation.cpp.
References assert(), llvm::SetVector< T, Vector, Set >::begin(), llvm::MachineBasicBlock::begin(), llvm::MachineInstr::clearRegisterKills(), llvm::MachineOperand::clobbersPhysReg(), llvm::TargetRegisterClass::contains(), llvm::dbgs(), llvm::MachineInstr::dump(), E, llvm::MachineBasicBlock::end(), llvm::MachineInstr::eraseFromParent(), llvm::MachineFunction::getFunction(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::MachineBasicBlock::getName(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineInstr::getRegClassConstraint(), llvm::MachineFunction::getRegInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MCRegisterInfo::getSubRegIndex(), llvm::MachineFunction::getSubtarget(), llvm::TargetRegisterClass::getSuperClasses(), I, llvm::MachineInstr::implicit_operands(), llvm::MachineRegisterInfo::isConstantPhysReg(), llvm::MachineInstr::isCopy(), llvm::MachineOperand::isDead(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isImplicit(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isRenamable(), llvm::MachineRegisterInfo::isReserved(), llvm::MCRegisterInfo::isSubRegister(), llvm::MachineOperand::isTied(), llvm::MachineOperand::isUndef(), llvm::TargetRegisterInfo::isVirtualRegister(), LLVM_DEBUG, llvm::make_range(), llvm::MachineInstr::operands(), llvm::printReg(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::TargetRegisterInfo::regsOverlap(), llvm::MachineOperand::setIsRenamable(), llvm::MachineOperand::setReg(), llvm::DebugCounter::shouldExecute(), llvm::MachineBasicBlock::succ_empty(), TRI, and llvm::MachineInstr::uses().