diff options
author | Chris Lattner <sabre@nondot.org> | 2009-06-20 00:47:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-06-20 00:47:37 +0000 |
commit | bb5d44d7c496f9576e7b1fcfa3f51f544512d158 (patch) | |
tree | a9df94c11e6d0408826fbebe0a4bd16a34e25c84 /include/llvm/MC/MCInst.h | |
parent | 97b52b2a88dc86bd0e79a9417a9a11b6971df789 (diff) | |
download | external_llvm-bb5d44d7c496f9576e7b1fcfa3f51f544512d158.zip external_llvm-bb5d44d7c496f9576e7b1fcfa3f51f544512d158.tar.gz external_llvm-bb5d44d7c496f9576e7b1fcfa3f51f544512d158.tar.bz2 |
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
Diffstat (limited to 'include/llvm/MC/MCInst.h')
-rw-r--r-- | include/llvm/MC/MCInst.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/include/llvm/MC/MCInst.h b/include/llvm/MC/MCInst.h index 4f7e6cf..8eaec7b 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); + } + }; |