[SV] BindOp::verifySybmolUses could be expensive
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 524
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
BindOp refers an instance through an inner symbol and `BindOp::verifySymbolUses>findInstanceSymbolInBlock` looks up an instance by walking entire modules in the worst case. It hasn't cause any issue probably because bind ops are created in the later pipeline.
https://github.com/llvm/circt/blob/695e36e5d480780f830bf2ded05c3fb8c8eb6012/lib/Dialect/SV/SVOps.cpp#L1864
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in lib/Dialect/SV/SVOps.cpp around BindOp::verifySymbolUses and findInstanceSymbolInBlock. Trace how the instance lookup walks modules and inspect related verification tests or callers. Done should preserve symbol verification while addressing the reported worst-case lookup cost.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100