summaryrefslogtreecommitdiff
path: root/lib/MC
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-09-19 17:56:00 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-09-19 17:56:00 +0000
commita182be9b6cab86b3d52371efea1681161820cf1c (patch)
tree26071fc27afb0623b998a0b31512d8232ddc432a /lib/MC
parent24f48ece526d81e7a3138f4cff57171b7de9e02f (diff)
downloadllvm-a182be9b6cab86b3d52371efea1681161820cf1c.tar.gz
llvm-a182be9b6cab86b3d52371efea1681161820cf1c.tar.bz2
llvm-a182be9b6cab86b3d52371efea1681161820cf1c.tar.xz
MCInstrAnalysis: Don't crash on instructions with no operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140027 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r--lib/MC/MCInstrAnalysis.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/MC/MCInstrAnalysis.cpp b/lib/MC/MCInstrAnalysis.cpp
index 03a35c597b..7736702f35 100644
--- a/lib/MC/MCInstrAnalysis.cpp
+++ b/lib/MC/MCInstrAnalysis.cpp
@@ -12,7 +12,8 @@ using namespace llvm;
uint64_t MCInstrAnalysis::evaluateBranch(const MCInst &Inst, uint64_t Addr,
uint64_t Size) const {
- if (Info->get(Inst.getOpcode()).OpInfo[0].OperandType != MCOI::OPERAND_PCREL)
+ if (Inst.getNumOperands() == 0 ||
+ Info->get(Inst.getOpcode()).OpInfo[0].OperandType != MCOI::OPERAND_PCREL)
return -1ULL;
int64_t Imm = Inst.getOperand(0).getImm();