diff options
author | Chris Lattner <sabre@nondot.org> | 2004-06-26 19:31:26 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-06-26 19:31:26 +0000 |
commit | af754dbf65cffbd5d618a3a72087fe2e7908d01f (patch) | |
tree | 410ec930235799730e40652c0ad81f2fe702367e /lib/Analysis/Expressions.cpp | |
parent | 98ebce1a6fe0972bd90f941e64a7ee4267a791c7 (diff) |
Simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14424 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/Expressions.cpp')
-rw-r--r-- | lib/Analysis/Expressions.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/lib/Analysis/Expressions.cpp b/lib/Analysis/Expressions.cpp index f6bec7d160..3be3d3b2a1 100644 --- a/lib/Analysis/Expressions.cpp +++ b/lib/Analysis/Expressions.cpp @@ -243,25 +243,18 @@ static inline ExprType negate(const ExprType &E, Value *V) { // ExprType llvm::ClassifyExpr(Value *Expr) { assert(Expr != 0 && "Can't classify a null expression!"); - if (Expr->getType() == Type::FloatTy || Expr->getType() == Type::DoubleTy) + if (Expr->getType()->isFloatingPoint()) return Expr; // FIXME: Can't handle FP expressions - switch (Expr->getValueType()) { - case Value::InstructionVal: break; // Instruction... hmmm... investigate. - case Value::TypeVal: case Value::BasicBlockVal: - case Value::FunctionVal: default: - //assert(0 && "Unexpected expression type to classify!"); - std::cerr << "Bizarre thing to expr classify: " << Expr << "\n"; - return Expr; - case Value::GlobalVariableVal: // Global Variable & Function argument: - case Value::ArgumentVal: // nothing known, return variable itself - return Expr; - case Value::ConstantVal: // Constant value, just return constant + if (Constant *C = dyn_cast<Constant>(Expr)) { if (ConstantInt *CPI = dyn_cast<ConstantInt>(cast<Constant>(Expr))) // It's an integral constant! return ExprType(CPI->isNullValue() ? 0 : CPI); return Expr; + } else if (!isa<Instruction>(Expr)) { + return Expr; } + Instruction *I = cast<Instruction>(Expr); const Type *Ty = I->getType(); |