diff --git a/lib/Analysis/AliasAnalysisEvaluator.cpp b/lib/Analysis/AliasAnalysisEvaluator.cpp index 593dbedea80..c4ec8db3e1c 100644 --- a/lib/Analysis/AliasAnalysisEvaluator.cpp +++ b/lib/Analysis/AliasAnalysisEvaluator.cpp @@ -17,10 +17,11 @@ // //===----------------------------------------------------------------------===// +#include "llvm/Constants.h" +#include "llvm/DerivedTypes.h" #include "llvm/Function.h" #include "llvm/Instructions.h" #include "llvm/Pass.h" -#include "llvm/DerivedTypes.h" #include "llvm/Analysis/Passes.h" #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/Assembly/Writer.h" @@ -115,7 +116,7 @@ bool AAEval::runOnFunction(Function &F) { isa(Inst.getOperand(0))) ++OI; // Skip actual functions for direct function calls. for (; OI != Inst.op_end(); ++OI) - if (isa((*OI)->getType())) + if (isa((*OI)->getType()) && !isa(*OI)) Pointers.insert(*OI); CallSite CS = CallSite::get(&*I);