diff --git a/llvm/lib/Analysis/IPA/Andersens.cpp b/llvm/lib/Analysis/IPA/Andersens.cpp index 12f0fc30065d8f39dce6ee03e01a003d03e32cf9..54dfd7458d1257ff7a7cfd6f3e3caeca06662bac 100644 --- a/llvm/lib/Analysis/IPA/Andersens.cpp +++ b/llvm/lib/Analysis/IPA/Andersens.cpp @@ -251,7 +251,8 @@ namespace { /// Node *getNode(Value *V) { if (Constant *C = dyn_cast(V)) - return getNodeForConstantPointer(C); + if (!isa(C)) + return getNodeForConstantPointer(C); std::map::iterator I = ValueNodes.find(V); if (I == ValueNodes.end()) {