llvm / llvm/circt

[SV] BindOp::verifySybmolUses could be expensive

Open
#7,094 0 comments 1 reaction 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.