Fix bug: IndVarSimplify/2003-04-16-ExprAnalysis.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5795 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/Expressions.cpp b/lib/Analysis/Expressions.cpp
index 14ba9c8..bfab20c 100644
--- a/lib/Analysis/Expressions.cpp
+++ b/lib/Analysis/Expressions.cpp
@@ -244,11 +244,9 @@
   case Value::ArgumentVal:              // nothing known, return variable itself
     return Expr;
   case Value::ConstantVal:              // Constant value, just return constant
-    Constant *CPV = cast<Constant>(Expr);
-    if (CPV->getType()->isInteger()) { // It's an integral constant!
-      ConstantInt *CPI = cast<ConstantInt>(Expr);
+    if (ConstantInt *CPI = dyn_cast<ConstantInt>(cast<Constant>(Expr)))
+      // It's an integral constant!
       return ExprType(CPI->isNullValue() ? 0 : CPI);
-    }
     return Expr;
   }