IMPORTANT: Major internal changes for supporting complex data types.

Adds dtype() to every node, keep global table of dtypes and remove duplicates.
Final merge from dtype branch.
This commit is contained in:
Wilson Snyder
2012-04-29 10:14:13 -04:00
parent c0da16bfcd
commit 87e8736823
34 changed files with 1049 additions and 400 deletions
+2 -1
View File
@@ -74,7 +74,8 @@ private:
if (m_lowerHash.isIllegal()) {
nodep->v3fatalSrc("sameHash function undefined (returns 0) for node under CFunc.");
}
m_lowerHash = V3Hash(m_lowerHash, V3Hash(nodep->type()<<6 | nodep->width()));
// For identical nodes, the type should be the same thus dtypep should be the same too
m_lowerHash = V3Hash(m_lowerHash, V3Hash(nodep->type()<<6, V3Hash(nodep->dtypep())));
// Now update m_lowerHash for our children's (and next children) contributions
nodep->iterateChildren(*this);
// Store the hash value