[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