aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Analysis/DataStructure/DSNode.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/llvm/Analysis/DataStructure/DSNode.h b/include/llvm/Analysis/DataStructure/DSNode.h
index 6d3a068ac6..e3442056cc 100644
--- a/include/llvm/Analysis/DataStructure/DSNode.h
+++ b/include/llvm/Analysis/DataStructure/DSNode.h
@@ -424,6 +424,9 @@ inline DSNode *DSNodeHandle::getNode() const {
// Disabling this assertion because it is failing on a "magic" struct
// in named (from bind). The fourth field is an array of length 0,
// presumably used to create struct instances of different sizes.
+ // In a variable length struct, Offset could exceed Size when getNode()
+ // is called before such a node is folded. In this case, the DS Analysis now
+ // correctly folds this node after calling getNode.
/* assert((!N ||
N->isNodeCompletelyFolded() ||
(N->Size == 0 && Offset == 0) ||