Use cast instead of dyn_cast.
Update test to use multiple return value directly, instead of relying on -sretpromotion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47907 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Utils/InlineFunction.cpp b/lib/Transforms/Utils/InlineFunction.cpp
index 6dda6d3..79b3700 100644
--- a/lib/Transforms/Utils/InlineFunction.cpp
+++ b/lib/Transforms/Utils/InlineFunction.cpp
@@ -448,8 +448,7 @@
// Multiple return values.
for (Value::use_iterator RUI = TheCall->use_begin(),
RUE = TheCall->use_end(); RUI != RUE; ) {
- GetResultInst *GR = dyn_cast<GetResultInst>(RUI++);
- assert (GR && "Invalid Call instruction use!");
+ GetResultInst *GR = cast<GetResultInst>(RUI++);
Value *RV = R->getOperand(GR->getIndex());
GR->replaceAllUsesWith(RV);
GR->eraseFromParent();