mirror of
https://github.com/verilator/verilator.git
synced 2025-01-08 15:47:36 +00:00
Internals: V3Hashed cleanups; merge from dtype branch. No functional change.
This commit is contained in:
parent
3ba36dc30c
commit
799afac05b
@ -189,3 +189,4 @@ V3Hashed::iterator V3Hashed::findDuplicate(AstNode* nodep) {
|
|||||||
}
|
}
|
||||||
return end();
|
return end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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";
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user