Fixing patch mistake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_20@37303 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp
index 256b2fd..482e172 100644
--- a/lib/Transforms/Scalar/InstructionCombining.cpp
+++ b/lib/Transforms/Scalar/InstructionCombining.cpp
@@ -7767,11 +7767,6 @@
const FunctionType *FT = Callee->getFunctionType();
const Type *OldRetTy = Caller->getType();
- // Check to see if we are changing the return type...
- if (OldRetTy != FT->getReturnType()) {
- if (Callee->isDeclaration() && !Caller->use_empty() &&
- // Conversion is ok if changing from pointer to int of same size.
- !(isa<PointerType>(FT->getReturnType()) &&
const FunctionType *ActualFT =
cast<FunctionType>(cast<PointerType>(CE->getType())->getElementType());
@@ -7780,6 +7775,11 @@
if (FT->getParamAttrs() != ActualFT->getParamAttrs())
return false;
+ // Check to see if we are changing the return type...
+ if (OldRetTy != FT->getReturnType()) {
+ if (Callee->isDeclaration() && !Caller->use_empty() &&
+ // Conversion is ok if changing from pointer to int of same size.
+ !(isa<PointerType>(FT->getReturnType()) &&
TD->getIntPtrType() == OldRetTy))
return false; // Cannot transform this return value.