Internals: V3Hashed cleanups; merge from dtype branch. No functional change.

This commit is contained in:
Wilson Snyder 2012-04-28 12:33:51 -04:00
parent 3ba36dc30c
commit 799afac05b
4 changed files with 20 additions and 9 deletions

View File

@ -189,3 +189,4 @@ V3Hashed::iterator V3Hashed::findDuplicate(AstNode* nodep) {
} }
return end(); return end();
} }

View File

@ -31,7 +31,23 @@
//============================================================================ //============================================================================
class V3Hashed { class VHashedBase {
public:
// CONSTRUCTORS
VHashedBase() {}
~VHashedBase() {}
// METHODS
static int debug() {
static int level = -1;
if (VL_UNLIKELY(level < 0)) level = v3Global.opt.debugSrcLevel(__FILE__);
return level;
}
};
//============================================================================
class V3Hashed : public VHashedBase {
// NODE STATE // NODE STATE
// AstNode::user4() -> V3Hash. Hash value of this node (hash of 0 is illegal) // AstNode::user4() -> V3Hash. Hash value of this node (hash of 0 is illegal)
AstUser4InUse m_inuser4; AstUser4InUse m_inuser4;
@ -55,11 +71,6 @@ public:
iterator end() { return m_hashMmap.end(); } iterator end() { return m_hashMmap.end(); }
// METHODS // METHODS
static int debug() {
static int level = -1;
if (VL_UNLIKELY(level < 0)) level = v3Global.opt.debugSrcLevel(__FILE__);
return level;
}
void clear() { m_hashMmap.clear(); AstNode::user4ClearTree(); } void clear() { m_hashMmap.clear(); AstNode::user4ClearTree(); }
void hashAndInsert(AstNode* nodep); // Hash the node, and insert into map void hashAndInsert(AstNode* nodep); // Hash the node, and insert into map
bool sameNodes(AstNode* node1p, AstNode* node2p); // After hashing, and tell if identical bool sameNodes(AstNode* node1p, AstNode* node2p); // After hashing, and tell if identical

View File

@ -53,7 +53,7 @@ sub printfll {
my $grep = `$cmd`; my $grep = `$cmd`;
my %names; my %names;
foreach my $line (split /\n/, $grep) { foreach my $line (split /\n/, $grep) {
next if $line !~ /%[^ ]*ll/; next if $line !~ /%[a-z0-9]*ll/;
if ($line =~ /^([^:]+)/) { if ($line =~ /^([^:]+)/) {
$names{$1} = 1; $names{$1} = 1;
print "$line\n"; print "$line\n";

View File

@ -12,8 +12,7 @@ compile (
fails=>1, fails=>1,
expect=> expect=>
'%Error: t/t_mem_packed_assign_bad.v:\d+: Unsupported: Assignment between packed arrays of different dimensions '%Error: t/t_mem_packed_assign_bad.v:\d+: Unsupported: Assignment between packed arrays of different dimensions
%Error: t/t_mem_packed_assign_bad.v:\d+: Unsupported: Assignment between packed arrays of different dimensions .*',
%Error: Exiting due to.*',
); );
ok(1); ok(1);