[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrInfo.def X86InstrInfo.h

Chris Lattner lattner at cs.uiuc.edu
Tue Oct 29 19:10:01 PST 2002


Changes in directory llvm/lib/Target/X86:

X86InstrInfo.def updated: 1.4 -> 1.5
X86InstrInfo.h updated: 1.5 -> 1.6

---
Log message:

Add flag to specify when no value is produced by an instruction


---
Diffs of the changes:

Index: llvm/lib/Target/X86/X86InstrInfo.def
diff -u llvm/lib/Target/X86/X86InstrInfo.def:1.4 llvm/lib/Target/X86/X86InstrInfo.def:1.5
--- llvm/lib/Target/X86/X86InstrInfo.def:1.4	Tue Oct 29 14:48:56 2002
+++ llvm/lib/Target/X86/X86InstrInfo.def	Tue Oct 29 19:09:34 2002
@@ -19,28 +19,29 @@
 //  #3: Instruction Flags - This should be a field or'd together that contains
 //      constants from the MachineInstrInfo.h file.
 //  #4: Target Specific Flags - Another bitfield containing X86 specific flags
-//      that we are interested in for each instruction
+//      that we are interested in for each instruction.  These should be flags
+//      defined in X86InstrInfo.h in the X86II namespace.
 //
 
-// The first instruction must always be the PHI instruction:
+// The first instruction must always be the PHI instruction: (FIXME, not yet)
 I(PHI         , "phi",                0, 0)
 
-// The second instruction must always be the noop instruction
-I(NOOP        , "nop",                0, 0)      // nop          90
+// The second instruction must always be the noop instruction: (FIXME, not yet)
+I(NOOP        , "nop",                0, X86II::Void) // nop          90
 
 // Miscellaneous instructions
-I(RET         , "ret",       M_RET_FLAG, 0)      // ret          CB
+I(RET         , "ret",       M_RET_FLAG, X86II::Void) // ret          CB
 
 // Move instructions
-I(MOVir8      , "movb",               0, 0)      // R = imm8     B0+ rb
-I(MOVir16     , "movw",               0, 0)      // R = imm16    B8+ rw
-I(MOVir32     , "movl",               0, 0)      // R = imm32    B8+ rd
+I(MOVir8      , "movb",               0, 0)           // R = imm8     B0+ rb
+I(MOVir16     , "movw",               0, 0)           // R = imm16    B8+ rw
+I(MOVir32     , "movl",               0, 0)           // R = imm32    B8+ rd
 
 // Arithmetic instructions
-I(ADDrr8      , "addb",               0, 0)      // R8  += R8    00/r
-I(ADDrr16     , "addw",               0, 0)      // R16 += R16   01/r
-I(ADDrr32     , "addl",               0, 0)      // R32 += R32   02/r
+I(ADDrr8      , "addb",               0, 0)           // R8  += R8    00/r
+I(ADDrr16     , "addw",               0, 0)           // R16 += R16   01/r
+I(ADDrr32     , "addl",               0, 0)           // R32 += R32   02/r
 
 
-// At this point, I is dead to undefine the macro
+// At this point, I is dead, so undefine the macro
 #undef I


Index: llvm/lib/Target/X86/X86InstrInfo.h
diff -u llvm/lib/Target/X86/X86InstrInfo.h:1.5 llvm/lib/Target/X86/X86InstrInfo.h:1.6
--- llvm/lib/Target/X86/X86InstrInfo.h:1.5	Tue Oct 29 15:01:27 2002
+++ llvm/lib/Target/X86/X86InstrInfo.h	Tue Oct 29 19:09:34 2002
@@ -10,6 +10,15 @@
 #include "llvm/Target/MachineInstrInfo.h"
 #include "X86RegisterInfo.h"
 
+/// X86II - This namespace holds all of the target specific flags that
+/// instruction info tracks.
+///
+namespace X86II {
+  enum {
+    Void        = 1 << 0,  // Set if this instruction produces no value
+  };
+}
+
 class X86InstrInfo : public MachineInstrInfo {
   const X86RegisterInfo RI;
 public:





More information about the llvm-commits mailing list