# Src attribute preservation

**URL:** <https://yosyshq.discourse.group/t/src-attribute-preservation/126>\
**Category:** Developers\
**Created:** [February 26, 2026, 3:29pm UTC](https://yosyshq.discourse.group/t/src-attribute-preservation/126 "2026-02-26T15:29:40Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![robtaylor](https://avatars.discourse-cdn.com/v4/letter/r/46a35a/32.png) [@robtaylor](https://yosyshq.discourse.group/u/robtaylor)\
**Post date:** [February 26, 2026, 3:29pm UTC](https://yosyshq.discourse.group/t/src-attribute-preservation/126/1 "2026-02-26T15:29:40Z")

</div>

Following up on @Ravenslofty’s [Add node retention tracking through ABC transformations by robtaylor · Pull Request #41 · YosysHQ/abc · GitHub](https://github.com/YosysHQ/abc/pull/41#issuecomment-3967332895) - I’ve been looking into using the “y” XAIGER  
extension instead of adding new node retention infrastructure.

The goal is preserving \src attributes on cells through abc/abc9 synthesis passes.

Looking at the current code, vEquLitIds seems to capture a static snapshot rather than tracking identity through passes - Gia\_ManDup() and  
Gia\_ManDupWithAttributes() don’t propagate it, it’s only populated when reading XAIGER with -s or via Gia\_ManVerifyFindNameMapping() during  
equivalence checking, and the Yosys XAIGER frontend doesn’t read it back.

So I’m not sure how to use it as-is for this. Is the idea to compute the mapping after optimization (e.g. via miter) rather than track it through  
each pass? Or is there planned work to extend “y” propagation?

Happy to contribute patches in whatever direction makes sense - just want to build on the right foundation.

Warm regards

Rob

---

<div class="post-metadata">

**Author:** ![robtaylor](https://avatars.discourse-cdn.com/v4/letter/r/46a35a/32.png) [@robtaylor](https://yosyshq.discourse.group/u/robtaylor)\
**Post date:** [February 26, 2026, 3:38pm UTC](https://yosyshq.discourse.group/t/src-attribute-preservation/126/2 "2026-02-26T15:38:00Z")

</div>

@lofty was too quick for me and already responded in the PR.

i’ll be taking a look at this, and will update here as things progress
