summaryrefslogtreecommitdiff
path: root/include/llvm/MC/MCInst.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-06-20 00:47:37 +0000
committerChris Lattner <sabre@nondot.org>2009-06-20 00:47:37 +0000
commitbb5d44d7c496f9576e7b1fcfa3f51f544512d158 (patch)
treea9df94c11e6d0408826fbebe0a4bd16a34e25c84 /include/llvm/MC/MCInst.h
parent97b52b2a88dc86bd0e79a9417a9a11b6971df789 (diff)
downloadllvm-bb5d44d7c496f9576e7b1fcfa3f51f544512d158.tar.gz
llvm-bb5d44d7c496f9576e7b1fcfa3f51f544512d158.tar.bz2
llvm-bb5d44d7c496f9576e7b1fcfa3f51f544512d158.tar.xz
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.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/include/llvm/MC/MCInst.h b/include/llvm/MC/MCInst.h
index 4f7e6cf0b4..8eaec7b372 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);
+ }
+
};