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();