llvm / llvm/circt

[FIRRTL] 1.60 newly warns about empty (top) module twice, should be zero or at most once

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

Description

This is new as of 1.60 and does not occur with 1.59.

Previously: #6065 .

Input:
```firrtl
circuit Empty:
module Empty:
```

Latest firtool new prints two instead of zero warnings:

```
empty.fir:2:3: warning: module `Empty` is empty but cannot be removed because the module is public
module Empty:
^
empty.fir:2:3: warning: module `Empty` is empty but cannot be removed because the module is public
module Empty:
^
```

This certainly shouldn't be twice and probably shouldn't be done for any public module.

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the warning with firtool 1.60 using the provided empty.fir input, then compare the output with version 1.59. Trace the handling of empty public modules and add or update coverage so the warning is emitted zero or at most once, then rerun the reproduction.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.