From: Chris Lattner Date: Sat, 20 Jun 2009 00:47:37 +0000 (+0000) Subject: make immediates be int64_t like machineoperand. Add some apis X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=bb5d44d7c496f9576e7b1fcfa3f51f544512d158;p=oota-llvm.git make immediates be int64_t like machineoperand. Add some apis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73809 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/MC/MCInst.h b/include/llvm/MC/MCInst.h index 4f7e6cf0b49..8eaec7b3720 100644 --- a/include/llvm/MC/MCInst.h +++ b/include/llvm/MC/MCInst.h @@ -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); + } + };