[llvm-commits] CVS: llvm/include/llvm/Target/TargetInstrInfo.h
Chris Lattner
lattner at cs.uiuc.edu
Fri Aug 19 09:56:37 PDT 2005
Changes in directory llvm/include/llvm/Target:
TargetInstrInfo.h updated: 1.77 -> 1.78
---
Log message:
Add a new field to TargetInstrDescriptor for tracking information about
operands.
---
Diffs of the changes: (+15 -0)
TargetInstrInfo.h | 15 +++++++++++++++
1 files changed, 15 insertions(+)
Index: llvm/include/llvm/Target/TargetInstrInfo.h
diff -u llvm/include/llvm/Target/TargetInstrInfo.h:1.77 llvm/include/llvm/Target/TargetInstrInfo.h:1.78
--- llvm/include/llvm/Target/TargetInstrInfo.h:1.77 Thu Apr 21 22:46:24 2005
+++ llvm/include/llvm/Target/TargetInstrInfo.h Fri Aug 19 11:56:26 2005
@@ -29,6 +29,7 @@
class Constant;
class Function;
class MachineCodeForInstruction;
+class TargetRegisterClass;
//---------------------------------------------------------------------------
// Data types used to define information about a single machine instruction
@@ -72,6 +73,19 @@
// before control flow occurs.
const unsigned M_TERMINATOR_FLAG = 1 << 12;
+/// TargetOperandInfo - This holds information about one operand of a machine
+/// instruction, indicating the register class for register operands, etc.
+///
+class TargetOperandInfo {
+public:
+ /// RegClass - This specifies the register class of the operand if the
+ /// operand is a register. If not, this contains null.
+ const TargetRegisterClass *RegClass;
+
+ /// Currently no other information.
+};
+
+
class TargetInstrDescriptor {
public:
const char * Name; // Assembly language mnemonic for the opcode.
@@ -87,6 +101,7 @@
unsigned TSFlags; // Target Specific Flag values
const unsigned *ImplicitUses; // Registers implicitly read by this instr
const unsigned *ImplicitDefs; // Registers implicitly defined by this instr
+ const TargetOperandInfo *OpInfo; // 'numOperands' entries about operands.
};
More information about the llvm-commits
mailing list