liberty valgrind issues

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2025-06-23 08:19:27 -07:00
parent f8e287caf4
commit c5b62b5cc8
3 changed files with 8 additions and 6 deletions

View File

@ -254,8 +254,12 @@ FuncExpr::bitSubExpr(int bit_offset)
return makePort(port);
}
else {
LibertyPort *port = port_->findLibertyMember(bit_offset);
return makePort(port);
if (bit_offset < port_->size()) {
LibertyPort *port = port_->findLibertyMember(bit_offset);
return makePort(port);
}
else
return nullptr;
}
}
else

View File

@ -130,15 +130,13 @@ LibertyLibrary::~LibertyLibrary()
wireloads_.deleteContents();
wire_load_selections_.deleteContents();
delete units_;
// Also deletes default_ocv_derate_
ocv_derate_map_.deleteContents();
delete buffers_;
delete inverters_;
driver_waveform_map_.deleteContents();
delete driver_waveform_default_;
delete default_ocv_derate_;
default_ocv_derate_ = nullptr;
}
LibertyCell *

View File

@ -4909,7 +4909,7 @@ LibertyReader::visitWhen(LibertyAttr *attr)
false, "when", attr);
}
}
if (timing_) {
if (timing_ && !in_ccsn_) {
const char *func = getAttrString(attr);
if (func) {
TimingArcAttrs *attrs = timing_->attrs().get();