mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 21:32:39 +00:00
Clean up some DOxygen comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170629 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
39758cd55d
commit
46367768f7
@ -146,7 +146,7 @@ public:
|
|||||||
const uint16_t *ImplicitDefs; // Registers implicitly defined by this instr
|
const uint16_t *ImplicitDefs; // Registers implicitly defined by this instr
|
||||||
const MCOperandInfo *OpInfo; // 'NumOperands' entries about operands
|
const MCOperandInfo *OpInfo; // 'NumOperands' entries about operands
|
||||||
|
|
||||||
/// getOperandConstraint - Returns the value of the specific constraint if
|
/// \brief Returns the value of the specific constraint if
|
||||||
/// it is set. Returns -1 if it is not set.
|
/// it is set. Returns -1 if it is not set.
|
||||||
int getOperandConstraint(unsigned OpNum,
|
int getOperandConstraint(unsigned OpNum,
|
||||||
MCOI::OperandConstraint Constraint) const {
|
MCOI::OperandConstraint Constraint) const {
|
||||||
@ -158,12 +158,12 @@ public:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getOpcode - Return the opcode number for this descriptor.
|
/// \brief Return the opcode number for this descriptor.
|
||||||
unsigned getOpcode() const {
|
unsigned getOpcode() const {
|
||||||
return Opcode;
|
return Opcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getNumOperands - Return the number of declared MachineOperands for this
|
/// \brief Return the number of declared MachineOperands for this
|
||||||
/// MachineInstruction. Note that variadic (isVariadic() returns true)
|
/// MachineInstruction. Note that variadic (isVariadic() returns true)
|
||||||
/// instructions may have additional operands at the end of the list, and note
|
/// instructions may have additional operands at the end of the list, and note
|
||||||
/// that the machine instruction may include implicit register def/uses as
|
/// that the machine instruction may include implicit register def/uses as
|
||||||
@ -172,7 +172,7 @@ public:
|
|||||||
return NumOperands;
|
return NumOperands;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getNumDefs - Return the number of MachineOperands that are register
|
/// \brief Return the number of MachineOperands that are register
|
||||||
/// definitions. Register definitions always occur at the start of the
|
/// definitions. Register definitions always occur at the start of the
|
||||||
/// machine operand list. This is the number of "outs" in the .td file,
|
/// machine operand list. This is the number of "outs" in the .td file,
|
||||||
/// and does not include implicit defs.
|
/// and does not include implicit defs.
|
||||||
@ -180,11 +180,10 @@ public:
|
|||||||
return NumDefs;
|
return NumDefs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getFlags - Return flags of this instruction.
|
/// \brief Return flags of this instruction.
|
||||||
///
|
|
||||||
unsigned getFlags() const { return Flags; }
|
unsigned getFlags() const { return Flags; }
|
||||||
|
|
||||||
/// isVariadic - Return true if this instruction can have a variable number of
|
/// \brief Return true if this instruction can have a variable number of
|
||||||
/// operands. In this case, the variable operands will be after the normal
|
/// operands. In this case, the variable operands will be after the normal
|
||||||
/// operands but before the implicit definitions and uses (if any are
|
/// operands but before the implicit definitions and uses (if any are
|
||||||
/// present).
|
/// present).
|
||||||
@ -192,35 +191,37 @@ public:
|
|||||||
return Flags & (1 << MCID::Variadic);
|
return Flags & (1 << MCID::Variadic);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// hasOptionalDef - Set if this instruction has an optional definition, e.g.
|
/// \brief Set if this instruction has an optional definition, e.g.
|
||||||
/// ARM instructions which can set condition code if 's' bit is set.
|
/// ARM instructions which can set condition code if 's' bit is set.
|
||||||
bool hasOptionalDef() const {
|
bool hasOptionalDef() const {
|
||||||
return Flags & (1 << MCID::HasOptionalDef);
|
return Flags & (1 << MCID::HasOptionalDef);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isPseudo - Return true if this is a pseudo instruction that doesn't
|
/// \brief Return true if this is a pseudo instruction that doesn't
|
||||||
/// correspond to a real machine instruction.
|
/// correspond to a real machine instruction.
|
||||||
///
|
///
|
||||||
bool isPseudo() const {
|
bool isPseudo() const {
|
||||||
return Flags & (1 << MCID::Pseudo);
|
return Flags & (1 << MCID::Pseudo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \brief Return true if the instruction is a return.
|
||||||
bool isReturn() const {
|
bool isReturn() const {
|
||||||
return Flags & (1 << MCID::Return);
|
return Flags & (1 << MCID::Return);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \brief Return true if the instruction is a call.
|
||||||
bool isCall() const {
|
bool isCall() const {
|
||||||
return Flags & (1 << MCID::Call);
|
return Flags & (1 << MCID::Call);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isBarrier - Returns true if the specified instruction stops control flow
|
/// \brief Returns true if the specified instruction stops control flow
|
||||||
/// from executing the instruction immediately following it. Examples include
|
/// from executing the instruction immediately following it. Examples include
|
||||||
/// unconditional branches and return instructions.
|
/// unconditional branches and return instructions.
|
||||||
bool isBarrier() const {
|
bool isBarrier() const {
|
||||||
return Flags & (1 << MCID::Barrier);
|
return Flags & (1 << MCID::Barrier);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isTerminator - Returns true if this instruction part of the terminator for
|
/// \brief Returns true if this instruction part of the terminator for
|
||||||
/// a basic block. Typically this is things like return and branch
|
/// a basic block. Typically this is things like return and branch
|
||||||
/// instructions.
|
/// instructions.
|
||||||
///
|
///
|
||||||
@ -230,7 +231,7 @@ public:
|
|||||||
return Flags & (1 << MCID::Terminator);
|
return Flags & (1 << MCID::Terminator);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isBranch - Returns true if this is a conditional, unconditional, or
|
/// \brief Returns true if this is a conditional, unconditional, or
|
||||||
/// indirect branch. Predicates below can be used to discriminate between
|
/// indirect branch. Predicates below can be used to discriminate between
|
||||||
/// these cases, and the TargetInstrInfo::AnalyzeBranch method can be used to
|
/// these cases, and the TargetInstrInfo::AnalyzeBranch method can be used to
|
||||||
/// get more information.
|
/// get more information.
|
||||||
@ -238,13 +239,13 @@ public:
|
|||||||
return Flags & (1 << MCID::Branch);
|
return Flags & (1 << MCID::Branch);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isIndirectBranch - Return true if this is an indirect branch, such as a
|
/// \brief Return true if this is an indirect branch, such as a
|
||||||
/// branch through a register.
|
/// branch through a register.
|
||||||
bool isIndirectBranch() const {
|
bool isIndirectBranch() const {
|
||||||
return Flags & (1 << MCID::IndirectBranch);
|
return Flags & (1 << MCID::IndirectBranch);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isConditionalBranch - Return true if this is a branch which may fall
|
/// \brief Return true if this is a branch which may fall
|
||||||
/// through to the next instruction or may transfer control flow to some other
|
/// through to the next instruction or may transfer control flow to some other
|
||||||
/// block. The TargetInstrInfo::AnalyzeBranch method can be used to get more
|
/// block. The TargetInstrInfo::AnalyzeBranch method can be used to get more
|
||||||
/// information about this branch.
|
/// information about this branch.
|
||||||
@ -252,7 +253,7 @@ public:
|
|||||||
return isBranch() & !isBarrier() & !isIndirectBranch();
|
return isBranch() & !isBarrier() & !isIndirectBranch();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isUnconditionalBranch - Return true if this is a branch which always
|
/// \brief Return true if this is a branch which always
|
||||||
/// transfers control flow to some other block. The
|
/// transfers control flow to some other block. The
|
||||||
/// TargetInstrInfo::AnalyzeBranch method can be used to get more information
|
/// TargetInstrInfo::AnalyzeBranch method can be used to get more information
|
||||||
/// about this branch.
|
/// about this branch.
|
||||||
@ -260,7 +261,7 @@ public:
|
|||||||
return isBranch() & isBarrier() & !isIndirectBranch();
|
return isBranch() & isBarrier() & !isIndirectBranch();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Return true if this is a branch or an instruction which directly
|
/// \brief Return true if this is a branch or an instruction which directly
|
||||||
/// writes to the program counter. Considered 'may' affect rather than
|
/// writes to the program counter. Considered 'may' affect rather than
|
||||||
/// 'does' affect as things like predication are not taken into account.
|
/// 'does' affect as things like predication are not taken into account.
|
||||||
bool mayAffectControlFlow(const MCInst &MI, const MCRegisterInfo &RI) const {
|
bool mayAffectControlFlow(const MCInst &MI, const MCRegisterInfo &RI) const {
|
||||||
@ -271,7 +272,7 @@ public:
|
|||||||
return hasDefOfPhysReg(MI, PC, RI);
|
return hasDefOfPhysReg(MI, PC, RI);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isPredicable - Return true if this instruction has a predicate operand
|
/// \brief Return true if this instruction has a predicate operand
|
||||||
/// that controls execution. It may be set to 'always', or may be set to other
|
/// that controls execution. It may be set to 'always', or may be set to other
|
||||||
/// values. There are various methods in TargetInstrInfo that can be used to
|
/// values. There are various methods in TargetInstrInfo that can be used to
|
||||||
/// control and modify the predicate in this instruction.
|
/// control and modify the predicate in this instruction.
|
||||||
@ -279,30 +280,28 @@ public:
|
|||||||
return Flags & (1 << MCID::Predicable);
|
return Flags & (1 << MCID::Predicable);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isCompare - Return true if this instruction is a comparison.
|
/// \brief Return true if this instruction is a comparison.
|
||||||
bool isCompare() const {
|
bool isCompare() const {
|
||||||
return Flags & (1 << MCID::Compare);
|
return Flags & (1 << MCID::Compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isMoveImmediate - Return true if this instruction is a move immediate
|
/// \brief Return true if this instruction is a move immediate
|
||||||
/// (including conditional moves) instruction.
|
/// (including conditional moves) instruction.
|
||||||
bool isMoveImmediate() const {
|
bool isMoveImmediate() const {
|
||||||
return Flags & (1 << MCID::MoveImm);
|
return Flags & (1 << MCID::MoveImm);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isBitcast - Return true if this instruction is a bitcast instruction.
|
/// \brief Return true if this instruction is a bitcast instruction.
|
||||||
///
|
|
||||||
bool isBitcast() const {
|
bool isBitcast() const {
|
||||||
return Flags & (1 << MCID::Bitcast);
|
return Flags & (1 << MCID::Bitcast);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isSelect - Return true if this is a select instruction.
|
/// \brief Return true if this is a select instruction.
|
||||||
///
|
|
||||||
bool isSelect() const {
|
bool isSelect() const {
|
||||||
return Flags & (1 << MCID::Select);
|
return Flags & (1 << MCID::Select);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isNotDuplicable - Return true if this instruction cannot be safely
|
/// \brief Return true if this instruction cannot be safely
|
||||||
/// duplicated. For example, if the instruction has a unique labels attached
|
/// duplicated. For example, if the instruction has a unique labels attached
|
||||||
/// to it, duplicating it would cause multiple definition errors.
|
/// to it, duplicating it would cause multiple definition errors.
|
||||||
bool isNotDuplicable() const {
|
bool isNotDuplicable() const {
|
||||||
@ -331,7 +330,7 @@ public:
|
|||||||
// Side Effect Analysis
|
// Side Effect Analysis
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
|
|
||||||
/// mayLoad - Return true if this instruction could possibly read memory.
|
/// \brief Return true if this instruction could possibly read memory.
|
||||||
/// Instructions with this flag set are not necessarily simple load
|
/// Instructions with this flag set are not necessarily simple load
|
||||||
/// instructions, they may load a value and modify it, for example.
|
/// instructions, they may load a value and modify it, for example.
|
||||||
bool mayLoad() const {
|
bool mayLoad() const {
|
||||||
@ -339,7 +338,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// mayStore - Return true if this instruction could possibly modify memory.
|
/// \brief Return true if this instruction could possibly modify memory.
|
||||||
/// Instructions with this flag set are not necessarily simple store
|
/// Instructions with this flag set are not necessarily simple store
|
||||||
/// instructions, they may store a modified value based on their operands, or
|
/// instructions, they may store a modified value based on their operands, or
|
||||||
/// may not actually modify anything, for example.
|
/// may not actually modify anything, for example.
|
||||||
@ -472,8 +471,7 @@ public:
|
|||||||
return ImplicitUses;
|
return ImplicitUses;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getNumImplicitUses - Return the number of implicit uses this instruction
|
/// \brief Return the number of implicit uses this instruction
|
||||||
/// has.
|
|
||||||
unsigned getNumImplicitUses() const {
|
unsigned getNumImplicitUses() const {
|
||||||
if (ImplicitUses == 0) return 0;
|
if (ImplicitUses == 0) return 0;
|
||||||
unsigned i = 0;
|
unsigned i = 0;
|
||||||
@ -495,8 +493,7 @@ public:
|
|||||||
return ImplicitDefs;
|
return ImplicitDefs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getNumImplicitDefs - Return the number of implicit defs this instruction
|
/// \brief Return the number of implicit defs this instruct has.
|
||||||
/// has.
|
|
||||||
unsigned getNumImplicitDefs() const {
|
unsigned getNumImplicitDefs() const {
|
||||||
if (ImplicitDefs == 0) return 0;
|
if (ImplicitDefs == 0) return 0;
|
||||||
unsigned i = 0;
|
unsigned i = 0;
|
||||||
@ -504,7 +501,7 @@ public:
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// hasImplicitUseOfPhysReg - Return true if this instruction implicitly
|
/// \brief Return true if this instruction implicitly
|
||||||
/// uses the specified physical register.
|
/// uses the specified physical register.
|
||||||
bool hasImplicitUseOfPhysReg(unsigned Reg) const {
|
bool hasImplicitUseOfPhysReg(unsigned Reg) const {
|
||||||
if (const uint16_t *ImpUses = ImplicitUses)
|
if (const uint16_t *ImpUses = ImplicitUses)
|
||||||
@ -513,7 +510,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// hasImplicitDefOfPhysReg - Return true if this instruction implicitly
|
/// \brief Return true if this instruction implicitly
|
||||||
/// defines the specified physical register.
|
/// defines the specified physical register.
|
||||||
bool hasImplicitDefOfPhysReg(unsigned Reg,
|
bool hasImplicitDefOfPhysReg(unsigned Reg,
|
||||||
const MCRegisterInfo *MRI = 0) const {
|
const MCRegisterInfo *MRI = 0) const {
|
||||||
@ -524,7 +521,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Return true if this instruction defines the specified physical
|
/// \brief Return true if this instruction defines the specified physical
|
||||||
/// register, either explicitly or implicitly.
|
/// register, either explicitly or implicitly.
|
||||||
bool hasDefOfPhysReg(const MCInst &MI, unsigned Reg,
|
bool hasDefOfPhysReg(const MCInst &MI, unsigned Reg,
|
||||||
const MCRegisterInfo &RI) const {
|
const MCRegisterInfo &RI) const {
|
||||||
@ -535,22 +532,21 @@ public:
|
|||||||
return hasImplicitDefOfPhysReg(Reg, &RI);
|
return hasImplicitDefOfPhysReg(Reg, &RI);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getSchedClass - Return the scheduling class for this instruction. The
|
/// \brief Return the scheduling class for this instruction. The
|
||||||
/// scheduling class is an index into the InstrItineraryData table. This
|
/// scheduling class is an index into the InstrItineraryData table. This
|
||||||
/// returns zero if there is no known scheduling information for the
|
/// returns zero if there is no known scheduling information for the
|
||||||
/// instruction.
|
/// instruction.
|
||||||
///
|
|
||||||
unsigned getSchedClass() const {
|
unsigned getSchedClass() const {
|
||||||
return SchedClass;
|
return SchedClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getSize - Return the number of bytes in the encoding of this instruction,
|
/// \brief Return the number of bytes in the encoding of this instruction,
|
||||||
/// or zero if the encoding size cannot be known from the opcode.
|
/// or zero if the encoding size cannot be known from the opcode.
|
||||||
unsigned getSize() const {
|
unsigned getSize() const {
|
||||||
return Size;
|
return Size;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// findFirstPredOperandIdx() - Find the index of the first operand in the
|
/// \brief Find the index of the first operand in the
|
||||||
/// operand list that is used to represent the predicate. It returns -1 if
|
/// operand list that is used to represent the predicate. It returns -1 if
|
||||||
/// none is found.
|
/// none is found.
|
||||||
int findFirstPredOperandIdx() const {
|
int findFirstPredOperandIdx() const {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user