X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FAnalysis%2FExpressions.cpp;h=bfab20c42c8f49feee9ee64c444956ba50664cef;hb=c53544af06acf3fba1788613a364f1f40317869e;hp=cd68d04f8aee9abb1ef4bd1272356a5c4fdae4b5;hpb=9b625030c8427a3bc56f5993c0b5b214c393042f;p=oota-llvm.git diff --git a/lib/Analysis/Expressions.cpp b/lib/Analysis/Expressions.cpp index cd68d04f8ae..bfab20c42c8 100644 --- a/lib/Analysis/Expressions.cpp +++ b/lib/Analysis/Expressions.cpp @@ -10,10 +10,6 @@ #include "llvm/Analysis/Expressions.h" #include "llvm/ConstantHandling.h" #include "llvm/Function.h" -#include "llvm/BasicBlock.h" -#include - -using namespace analysis; ExprType::ExprType(Value *Val) { if (Val) @@ -34,7 +30,7 @@ ExprType::ExprType(const ConstantInt *scale, Value *var, const ConstantInt *offset) { Scale = var ? scale : 0; Var = var; Offset = offset; ExprTy = Scale ? ScaledLinear : (Var ? Linear : Constant); - if (Scale && Scale->equalsInt(0)) { // Simplify 0*Var + const + if (Scale && Scale->isNullValue()) { // Simplify 0*Var + const Scale = 0; Var = 0; ExprTy = Constant; } @@ -232,7 +228,7 @@ static inline ExprType negate(const ExprType &E, Value *V) { // Note that this analysis cannot get into infinite loops because it treats PHI // nodes as being an unknown linear expression. // -ExprType analysis::ClassifyExpression(Value *Expr) { +ExprType ClassifyExpression(Value *Expr) { assert(Expr != 0 && "Can't classify a null expression!"); if (Expr->getType() == Type::FloatTy || Expr->getType() == Type::DoubleTy) return Expr; // FIXME: Can't handle FP expressions @@ -248,11 +244,9 @@ ExprType analysis::ClassifyExpression(Value *Expr) { case Value::ArgumentVal: // nothing known, return variable itself return Expr; case Value::ConstantVal: // Constant value, just return constant - Constant *CPV = cast(Expr); - if (CPV->getType()->isIntegral()) { // It's an integral constant! - ConstantInt *CPI = cast(Expr); - return ExprType(CPI->equalsInt(0) ? 0 : CPI); - } + if (ConstantInt *CPI = dyn_cast(cast(Expr))) + // It's an integral constant! + return ExprType(CPI->isNullValue() ? 0 : CPI); return Expr; }