3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-04 02:10:24 +00:00

Remove log_str() functions and convert their log_signal() users to return std::string

This is a small but easy step towards removing the `log_id_cache`.
See issue #5210.
This commit is contained in:
Robert O'Callahan 2025-07-03 23:47:25 +00:00
parent 7b0c1fe491
commit ec3f384dca
6 changed files with 28 additions and 39 deletions

View file

@ -865,41 +865,41 @@ DriveSpec DriverMap::operator()(DriveSpec spec)
return result;
}
const char *log_signal(DriveChunkWire const &chunk)
std::string log_signal(DriveChunkWire const &chunk)
{
const char *id = log_id(chunk.wire->name);
if (chunk.is_whole())
return id;
if (chunk.width == 1)
return log_str(stringf("%s [%d]", id, chunk.offset));
return log_str(stringf("%s [%d:%d]", id, chunk.offset + chunk.width - 1, chunk.offset));
return stringf("%s [%d]", id, chunk.offset);
return stringf("%s [%d:%d]", id, chunk.offset + chunk.width - 1, chunk.offset);
}
const char *log_signal(DriveChunkPort const &chunk)
std::string log_signal(DriveChunkPort const &chunk)
{
const char *cell_id = log_id(chunk.cell->name);
const char *port_id = log_id(chunk.port);
if (chunk.is_whole())
return log_str(stringf("%s <%s>", cell_id, port_id));
return stringf("%s <%s>", cell_id, port_id);
if (chunk.width == 1)
return log_str(stringf("%s <%s> [%d]", cell_id, port_id, chunk.offset));
return log_str(stringf("%s <%s> [%d:%d]", cell_id, port_id, chunk.offset + chunk.width - 1, chunk.offset));
return stringf("%s <%s> [%d]", cell_id, port_id, chunk.offset);
return stringf("%s <%s> [%d:%d]", cell_id, port_id, chunk.offset + chunk.width - 1, chunk.offset);
}
const char *log_signal(DriveChunkMarker const &chunk)
std::string log_signal(DriveChunkMarker const &chunk)
{
if (chunk.width == 1)
return log_str(stringf("<marker %d> [%d]", chunk.marker, chunk.offset));
return log_str(stringf("<marker %d> [%d:%d]", chunk.marker, chunk.offset + chunk.width - 1, chunk.offset));
return stringf("<marker %d> [%d]", chunk.marker, chunk.offset);
return stringf("<marker %d> [%d:%d]", chunk.marker, chunk.offset + chunk.width - 1, chunk.offset);
}
const char *log_signal(DriveChunk const &chunk)
std::string log_signal(DriveChunk const &chunk)
{
switch (chunk.type())
{
case DriveType::NONE:
return log_str(stringf("<none x%d>", chunk.size()));
return stringf("<none x%d>", chunk.size());
case DriveType::CONSTANT:
return log_const(chunk.constant());
case DriveType::WIRE:
@ -917,14 +917,14 @@ const char *log_signal(DriveChunk const &chunk)
str += log_signal(single);
}
str += ">";
return log_str(str);
return str;
}
default:
log_abort();
}
}
const char *log_signal(DriveSpec const &spec)
std::string log_signal(DriveSpec const &spec)
{
auto &chunks = spec.chunks();
if (chunks.empty())
@ -943,7 +943,7 @@ const char *log_signal(DriveSpec const &spec)
}
str += " }";
return log_str(str);
return str;
}
YOSYS_NAMESPACE_END