diff options
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/Expressions.cpp | 7 | ||||
-rw-r--r-- | lib/Analysis/InductionVariable.cpp | 11 |
2 files changed, 5 insertions, 13 deletions
diff --git a/lib/Analysis/Expressions.cpp b/lib/Analysis/Expressions.cpp index f4f76af4c9..7901b1421e 100644 --- a/lib/Analysis/Expressions.cpp +++ b/lib/Analysis/Expressions.cpp @@ -10,11 +10,6 @@ #include "llvm/Analysis/Expressions.h" #include "llvm/ConstantHandling.h" #include "llvm/Function.h" -#include "llvm/BasicBlock.h" -#include "llvm/Instruction.h" -#include <iostream> - -using namespace analysis; ExprType::ExprType(Value *Val) { if (Val) @@ -233,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 diff --git a/lib/Analysis/InductionVariable.cpp b/lib/Analysis/InductionVariable.cpp index 485586a018..5703d6de2c 100644 --- a/lib/Analysis/InductionVariable.cpp +++ b/lib/Analysis/InductionVariable.cpp @@ -25,9 +25,6 @@ #include "llvm/Constants.h" #include "llvm/Assembly/Writer.h" -using analysis::ExprType; - - static bool isLoopInvariant(const Value *V, const Loop *L) { if (isa<Constant>(V) || isa<Argument>(V) || isa<GlobalValue>(V)) return true; @@ -85,8 +82,8 @@ InductionVariable::InductionVariable(PHINode *P, LoopInfo *LoopInfo) { Value *V2 = Phi->getIncomingValue(1); if (L == 0) { // No loop information? Base everything on expression analysis - ExprType E1 = analysis::ClassifyExpression(V1); - ExprType E2 = analysis::ClassifyExpression(V2); + ExprType E1 = ClassifyExpression(V1); + ExprType E2 = ClassifyExpression(V2); if (E1.ExprTy > E2.ExprTy) // Make E1 be the simpler expression std::swap(E1, E2); @@ -128,7 +125,7 @@ InductionVariable::InductionVariable(PHINode *P, LoopInfo *LoopInfo) { } if (Step == 0) { // Unrecognized step value... - ExprType StepE = analysis::ClassifyExpression(V2); + ExprType StepE = ClassifyExpression(V2); if (StepE.ExprTy != ExprType::Linear || StepE.Var != Phi) return; @@ -136,7 +133,7 @@ InductionVariable::InductionVariable(PHINode *P, LoopInfo *LoopInfo) { if (isa<PointerType>(ETy)) ETy = Type::ULongTy; Step = (Value*)(StepE.Offset ? StepE.Offset : ConstantInt::get(ETy, 0)); } else { // We were able to get a step value, simplify with expr analysis - ExprType StepE = analysis::ClassifyExpression(Step); + ExprType StepE = ClassifyExpression(Step); if (StepE.ExprTy == ExprType::Linear && StepE.Offset == 0) { // No offset from variable? Grab the variable Step = StepE.Var; |