diff --git a/llvm/lib/Analysis/DataStructure/Local.cpp b/llvm/lib/Analysis/DataStructure/Local.cpp index 005580155d63..369b76d61192 100644 --- a/llvm/lib/Analysis/DataStructure/Local.cpp +++ b/llvm/lib/Analysis/DataStructure/Local.cpp @@ -110,8 +110,11 @@ namespace { /// DSNode *createNode(DSNode::NodeTy NodeType, const Type *Ty = 0) { DSNode *N = new DSNode(NodeType, Ty, &G); // Create the node - if (DisableFieldSensitivity) + if (DisableFieldSensitivity) { N->foldNodeCompletely(); + if (DSNode *FN = N->getForwardNode()) + N = FN; + } return N; }