summaryrefslogtreecommitdiffstats
path: root/llvm
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
commit1223416411595eefe9ad010cb0649b88938ec840 (patch)
tree852c2ba087046f7aa1361aa5dbb2aaa16e4c4dca /llvm
parent7251e41b161bbbb1490cf1157e37818989b07708 (diff)
downloadbcm5719-llvm-1223416411595eefe9ad010cb0649b88938ec840.tar.gz
bcm5719-llvm-1223416411595eefe9ad010cb0649b88938ec840.zip
MCInstrAnalysis: Don't crash on instructions with no operands.
llvm-svn: 140027
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/MC/MCInstrAnalysis.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCInstrAnalysis.cpp b/llvm/lib/MC/MCInstrAnalysis.cpp
index 03a35c597be..7736702f35a 100644
--- a/llvm/lib/MC/MCInstrAnalysis.cpp
+++ b/llvm/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();
OpenPOWER on IntegriCloud