Make PointerSize & Shift be enums
Fix problem with recursive merging
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4570 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp
index 77407ad..740ece8 100644
--- a/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/lib/Analysis/DataStructure/DataStructure.cpp
@@ -20,11 +20,6 @@
Statistic<> NumFolds("dsnode", "Number of nodes completely folded");
};
-namespace DS {
- const unsigned PointerShift = 3; // 64bit ptrs = 3, 32 bit ptrs = 2
- const unsigned PointerSize = 1 << PointerShift;
-};
-
namespace DataStructureAnalysis { // TODO: FIXME
// isPointerType - Return true if this first class type is big enough to hold
// a pointer.
@@ -392,7 +387,7 @@
}
N = NH.getNode();
- if (this == N) return;
+ if (this == N || N == 0) return;
// If both nodes are not at offset 0, make sure that we are merging the node
// at an later offset into the node with the zero offset.