aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/Expressions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Analysis/Expressions.cpp')
-rw-r--r--lib/Analysis/Expressions.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/Analysis/Expressions.cpp b/lib/Analysis/Expressions.cpp
index 14ba9c8e9d..bfab20c42c 100644
--- a/lib/Analysis/Expressions.cpp
+++ b/lib/Analysis/Expressions.cpp
@@ -244,11 +244,9 @@ ExprType ClassifyExpression(Value *Expr) {
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;
}