summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-01-14 06:14:36 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-01-14 06:14:36 +0000
commit7efc6139d983b191bd29fc61bb615e9432cd7f7b (patch)
tree4a0e966c9d221a80dd856c9935b638576cc83c64
parentd8976b8ed3f9ffcabceb1092a1b24999b5d307ef (diff)
downloadbcm5719-llvm-7efc6139d983b191bd29fc61bb615e9432cd7f7b.tar.gz
bcm5719-llvm-7efc6139d983b191bd29fc61bb615e9432cd7f7b.zip
Use the operand vector instead so inline assembly can be validated too
The buildbots got upset after r225941, this should hopefully fix things. llvm-svn: 225954
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 02d48470615..d743aa6ef33 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -2277,11 +2277,11 @@ bool X86AsmParser::validateInstruction(MCInst &Inst, const OperandVector &Ops) {
switch (Inst.getOpcode()) {
default: return true;
case X86::INT:
- if (Inst.getNumOperands() == 0)
- return true;
- assert(Inst.getOperand(0).isImm() && "expected immediate");
- if (Inst.getOperand(0).getImm() > 255) {
- Error(Ops[1]->getStartLoc(), "interrupt vector must be in range [0-255]");
+ X86Operand &Op = static_cast<X86Operand &>(*Ops[1]);
+ assert(Op.isImm() && "expected immediate");
+ int64_t Res;
+ if (!Op.getImm()->EvaluateAsAbsolute(Res) || Res > 255) {
+ Error(Op.getStartLoc(), "interrupt vector must be in range [0-255]");
return false;
}
return true;
OpenPOWER on IntegriCloud