diff --git a/lib/Analysis/DataStructure/Local.cpp b/lib/Analysis/DataStructure/Local.cpp index 005580155d6..369b76d6119 100644 --- a/lib/Analysis/DataStructure/Local.cpp +++ b/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; }