Elide $sdf_anotate when specify is turned off.
Not only does this have a trivial performance benefit, it also will prevent annotation warnings when the user turns of specify support.
This commit is contained in:
parent
03c31808e1
commit
d4d7c14b36
18
elaborate.cc
18
elaborate.cc
|
|
@ -2404,6 +2404,12 @@ NetProc* PCallTask::elaborate_sys(Design*des, NetScope*scope) const
|
||||||
{
|
{
|
||||||
assert(scope);
|
assert(scope);
|
||||||
|
|
||||||
|
if (path_.size() > 1) {
|
||||||
|
cerr << get_fileline() << ": error: Hierarchical system task names"
|
||||||
|
<< " make no sense: " << path_ << endl;
|
||||||
|
des->errors += 1;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned parm_count = nparms();
|
unsigned parm_count = nparms();
|
||||||
|
|
||||||
/* Catch the special case that the system task has no
|
/* Catch the special case that the system task has no
|
||||||
|
|
@ -2442,6 +2448,18 @@ NetProc* PCallTask::elaborate_sys(Design*des, NetScope*scope) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Special case: Specify blocks are turned off, and this is an
|
||||||
|
// $sdf_annotate system task. There will be nothing for $sdf
|
||||||
|
// to annotate, and the user is intending to turn the behavior
|
||||||
|
// off anyhow, so replace the system task invocation with a no-op.
|
||||||
|
if (gn_specify_blocks_flag == false
|
||||||
|
& peek_tail_name(path_) == "$sdf_annotate") {
|
||||||
|
|
||||||
|
NetBlock*noop = new NetBlock(NetBlock::SEQU, scope);
|
||||||
|
noop->set_line(*this);
|
||||||
|
return noop;
|
||||||
|
}
|
||||||
|
|
||||||
NetSTask*cur = new NetSTask(peek_tail_name(path_), eparms);
|
NetSTask*cur = new NetSTask(peek_tail_name(path_), eparms);
|
||||||
cur->set_line(*this);
|
cur->set_line(*this);
|
||||||
return cur;
|
return cur;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue