make immediates be int64_t like machineoperand. Add some apis
authorChris Lattner <sabre@nondot.org>
Sat, 20 Jun 2009 00:47:37 +0000 (00:47 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 20 Jun 2009 00:47:37 +0000 (00:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73809 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCInst.h

index 4f7e6cf0b493f95b28e7d6e30e558a797a640407..8eaec7b372073b4dc59ff9daf63de9a771121d86 100644 (file)
@@ -35,7 +35,7 @@ class MCOperand {
   
   union {
     unsigned RegVal;
-    uint64_t ImmVal;
+    int64_t ImmVal;
   };
 public:
   
@@ -57,11 +57,11 @@ public:
     RegVal = Reg;
   }
   
-  uint64_t getImm() const {
+  int64_t getImm() const {
     assert(isImm() && "This is not an immediate");
     return ImmVal;
   }
-  void setImm(uint64_t Val) {
+  void setImm(int64_t Val) {
     assert(isImm() && "This is not an immediate");
     ImmVal = Val;
   }
@@ -70,7 +70,7 @@ public:
     Kind = kRegister;
     RegVal = Reg;
   }
-  void MakeImm(uint64_t Val) {
+  void MakeImm(int64_t Val) {
     Kind = kImmediate;
     ImmVal = Val;
   }
@@ -85,11 +85,17 @@ class MCInst {
 public:
   MCInst() : Opcode(~0U) {}
   
+  void setOpcode(unsigned Op) { Opcode = Op; }
+  
   unsigned getOpcode() const { return Opcode; }
   DebugLoc getDebugLoc() const { return DebugLoc(); }
   
   const MCOperand &getOperand(unsigned i) const { return Operands[i]; }
   
+  void addOperand(const MCOperand &Op) {
+    Operands.push_back(Op);
+  }
+  
 };