Conversation
Greptile SummaryThis PR merges upstream timing, property, and build changes. The main changes are:
Confidence Score: 4/5Incremental timing invalidation and scene-property lifecycle handling need fixes before merging.
dcalc/GraphDelayCalc.cc and include/sta/Property.hh Important Files Changed
Reviews (1): Last reviewed commit: "Merge from upstream" | Re-trigger Greptile |
| annotateLoadDelays(drvr_vertex, arc->toEdge()->asRiseFall(), | ||
| dcalc_result, | ||
| load_pin_index_map, delay_zero, true, | ||
| scene, min_max); |
There was a problem hiding this comment.
Load Slew Changes Skip Invalidation
When recalculation changes only a load slew, annotateLoadDelays() no longer contributes that change to delay_changed. The driver-level observer is therefore not notified, while the new local notification covers only wire-delay updates, so incremental timing can retain stale downstream arrivals.
| // User-defined property values. | ||
| std::map<PropertyKey, PropertyValue> prop_values_; |
There was a problem hiding this comment.
Deleted Scenes Retain Properties
Property values are stored under raw object addresses, but scene deletion has no matching cleanup for this map. If a later scene reuses a deleted scene's address, it inherits values that were never set on it, causing get_property and scene filters to return incorrect results.
No description provided.