aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/VMCore/Verifier.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index 5b8aa7691b..8a1b86f763 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -1081,8 +1081,14 @@ void Verifier::visitAllocationInst(AllocationInst &AI) {
}
void Verifier::visitGetResultInst(GetResultInst &GRI) {
- Assert1(GRI.isValidOperands(GRI.getAggregateValue(), GRI.getIndex()),
+ Assert1(GetResultInst::isValidOperands(GRI.getAggregateValue(),
+ GRI.getIndex()),
"Invalid GetResultInst operands!", &GRI);
+ Assert1(isa<CallInst>(GRI.getAggregateValue()) ||
+ isa<InvokeInst>(GRI.getAggregateValue()) ||
+ isa<UndefValue>(GRI.getAggregateValue()),
+ "GetResultInst operand must be a call/invoke/undef!", &GRI);
+
visitInstruction(GRI);
}