mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -740,20 +740,6 @@ unsigned MachineInstr::getNumExplicitOperands() const {
|
||||
}
|
||||
|
||||
|
||||
/// isLabel - Returns true if the MachineInstr represents a label.
|
||||
///
|
||||
bool MachineInstr::isLabel() const {
|
||||
return getOpcode() == TargetInstrInfo::DBG_LABEL ||
|
||||
getOpcode() == TargetInstrInfo::EH_LABEL ||
|
||||
getOpcode() == TargetInstrInfo::GC_LABEL;
|
||||
}
|
||||
|
||||
/// isDebugLabel - Returns true if the MachineInstr represents a debug label.
|
||||
///
|
||||
bool MachineInstr::isDebugLabel() const {
|
||||
return getOpcode() == TargetInstrInfo::DBG_LABEL;
|
||||
}
|
||||
|
||||
/// findRegisterUseOperandIdx() - Returns the MachineOperand that is a use of
|
||||
/// the specific register or -1 if it is not found. It further tightens
|
||||
/// the search criteria to a use that kills the register if isKill is true.
|
||||
@ -819,7 +805,7 @@ int MachineInstr::findFirstPredOperandIdx() const {
|
||||
/// first tied use operand index by reference is UseOpIdx is not null.
|
||||
bool MachineInstr::
|
||||
isRegTiedToUseOperand(unsigned DefOpIdx, unsigned *UseOpIdx) const {
|
||||
if (getOpcode() == TargetInstrInfo::INLINEASM) {
|
||||
if (isInlineAsm()) {
|
||||
assert(DefOpIdx >= 2);
|
||||
const MachineOperand &MO = getOperand(DefOpIdx);
|
||||
if (!MO.isReg() || !MO.isDef() || MO.getReg() == 0)
|
||||
@ -878,7 +864,7 @@ isRegTiedToUseOperand(unsigned DefOpIdx, unsigned *UseOpIdx) const {
|
||||
/// operand index by reference.
|
||||
bool MachineInstr::
|
||||
isRegTiedToDefOperand(unsigned UseOpIdx, unsigned *DefOpIdx) const {
|
||||
if (getOpcode() == TargetInstrInfo::INLINEASM) {
|
||||
if (isInlineAsm()) {
|
||||
const MachineOperand &MO = getOperand(UseOpIdx);
|
||||
if (!MO.isReg() || !MO.isUse() || MO.getReg() == 0)
|
||||
return false;
|
||||
@ -1088,7 +1074,7 @@ bool MachineInstr::isInvariantLoad(AliasAnalysis *AA) const {
|
||||
/// merges together the same virtual register, return the register, otherwise
|
||||
/// return 0.
|
||||
unsigned MachineInstr::isConstantValuePHI() const {
|
||||
if (getOpcode() != TargetInstrInfo::PHI)
|
||||
if (!isPHI())
|
||||
return 0;
|
||||
assert(getNumOperands() >= 3 &&
|
||||
"It's illegal to have a PHI without source operands");
|
||||
|
Reference in New Issue
Block a user