Skip to content

Avoids unnecessary fanin scheduling and skip writes when the level is… - #560

Merged
alanminko merged 1 commit into
berkeley-abc:masterfrom
calewis:fast_reverse_level
Sep 10, 2026
Merged

Avoids unnecessary fanin scheduling and skip writes when the level is…#560
alanminko merged 1 commit into
berkeley-abc:masterfrom
calewis:fast_reverse_level

Conversation

@calewis

@calewis calewis commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

… unchanged.

  • Skip writes when LevelNew == Lev, avoiding redundant traversals.
  • Prune fanin updates when LevFanin > LevelReq:
    • LevelNew > Lev: fanin cannot increase unless LevelNew >= LevFanin.
    • LevelNew < Lev: fanin cannot decrease unless LevFanin <= Lev + 1.

Benchmark results (compress2rs, mean of 5 trials):

  • i10.aig: 0.411s -> 0.410s (-0.2%)
  • internal.aig (60k gates): 4.238s -> 3.913s (-7.7%)

… unchanged.

- Skip writes when LevelNew == Lev, avoiding redundant traversals.
- Prune fanin updates when LevFanin > LevelReq:
  * LevelNew > Lev: fanin cannot increase unless LevelNew >= LevFanin.
  * LevelNew < Lev: fanin cannot decrease unless LevFanin <= Lev + 1.

Benchmark results (compress2rs, mean of 5 trials):
- i10.aig: 0.411s -> 0.410s (-0.2%)
- internal.aig (60k gates): 4.238s -> 3.913s (-7.7%)
@alanminko
alanminko merged commit ec17c5f into berkeley-abc:master Sep 10, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants