llvm / llvm/circt

-mlir-timing isn't aware of intra-pass parallelization

Open
#1,308 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.2k
Forks
524
Avg merge
3d 2h
Merged PRs (30d)
46

Description

The `-mlir-timing` flag does some rejiggering when the pass manager runs passes in parallel, but it isn't aware of internally parallelized passes. For example, the user and wall time of IMConstProp are always the same even though it is internally threaded.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the implementation of the -mlir-timing flag and the IMConstProp pass, then trace how timing is collected for pass-manager parallelism versus pass-internal threading. Done means timing reports distinguish user and wall time for internally parallelized passes such as IMConstProp, with regression coverage in the relevant existing timing tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, performance
Issue type
Bug
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.