Commit d8734f9
committed
Add per-node origin cap (nOriginsMax) to bound accumulation
Shared fanin cones can accumulate origins from all CO drivers,
causing O(n²) dedup cost in Gia_ObjAddOrigin. Add nOriginsMax
field to Gia_Man_t that short-circuits overflow-mode AddOrigin
when the node has reached the limit. Cap is set via &origins_id -M.
Pathological case (10K outputs, shared 50-deep cone):
No cap: 5.70s, 1.01M total origins, max 10000/node
-M 256: 0.79s, 45K total origins, max 256/node (7.2x faster)
Normal designs (i10.aig, max 165/node): identical results.
Co-developed-by: Claude Code v2.1.89 (claude-opus-4-6)1 parent 4496674 commit d8734f9
3 files changed
Lines changed: 32 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| 223 | + | |
223 | 224 | | |
224 | 225 | | |
225 | 226 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
216 | 219 | | |
217 | 220 | | |
218 | 221 | | |
| |||
331 | 334 | | |
332 | 335 | | |
333 | 336 | | |
| 337 | + | |
334 | 338 | | |
335 | 339 | | |
336 | 340 | | |
| |||
364 | 368 | | |
365 | 369 | | |
366 | 370 | | |
| 371 | + | |
367 | 372 | | |
368 | 373 | | |
369 | 374 | | |
| |||
399 | 404 | | |
400 | 405 | | |
401 | 406 | | |
| 407 | + | |
402 | 408 | | |
403 | 409 | | |
404 | 410 | | |
| |||
456 | 462 | | |
457 | 463 | | |
458 | 464 | | |
| 465 | + | |
459 | 466 | | |
460 | 467 | | |
461 | 468 | | |
| |||
1108 | 1115 | | |
1109 | 1116 | | |
1110 | 1117 | | |
| 1118 | + | |
1111 | 1119 | | |
1112 | 1120 | | |
1113 | 1121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35617 | 35617 | | |
35618 | 35618 | | |
35619 | 35619 | | |
35620 | | - | |
| 35620 | + | |
35621 | 35621 | | |
35622 | | - | |
| 35622 | + | |
35623 | 35623 | | |
35624 | 35624 | | |
35625 | 35625 | | |
| 35626 | + | |
| 35627 | + | |
| 35628 | + | |
| 35629 | + | |
| 35630 | + | |
| 35631 | + | |
| 35632 | + | |
| 35633 | + | |
| 35634 | + | |
| 35635 | + | |
| 35636 | + | |
| 35637 | + | |
| 35638 | + | |
| 35639 | + | |
35626 | 35640 | | |
35627 | 35641 | | |
35628 | 35642 | | |
| |||
35643 | 35657 | | |
35644 | 35658 | | |
35645 | 35659 | | |
| 35660 | + | |
35646 | 35661 | | |
35647 | 35662 | | |
35648 | 35663 | | |
35649 | | - | |
| 35664 | + | |
| 35665 | + | |
| 35666 | + | |
| 35667 | + | |
35650 | 35668 | | |
35651 | 35669 | | |
35652 | 35670 | | |
35653 | 35671 | | |
35654 | | - | |
| 35672 | + | |
35655 | 35673 | | |
35656 | 35674 | | |
| 35675 | + | |
35657 | 35676 | | |
35658 | 35677 | | |
35659 | 35678 | | |
| |||
0 commit comments