Proc-scoped channels should not silently force codegen version 1.5
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 283
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 135
Description
**Describe the bug**
From https://github.com/google/xls/pull/3679, when proc-scoped channels are enabled, codegen forces version 1.5.
This is still present at HEAD today: https://github.com/google/xls/blob/ca465afb98ce56cd5cf34a1fa2638c90e6a09c67/xls/tools/codegen_main.cc#L76-L78
This behavior is unintuitive, since the user may be attempting to pin `"codegen_version": "1.0"` on a target, but XLS defaults proc-scoped channels to `true`, which overrides the user's choice.
https://github.com/google/xls/blob/ca465afb98ce56cd5cf34a1fa2638c90e6a09c67/xls/dslx/ir_convert/convert_options.h#L69
**Expected behavior**
If proc-scoped channels are not compatible with codegen 1.0, it seems less surprising to error out.
Contributor guide
Research direction
Start in xls/tools/codegen_main.cc around lines 76-78 and inspect the proc-scoped-channel handling alongside xls/dslx/ir_convert/convert_options.h around line 69. Trace how a target's codegen_version is processed when proc-scoped channels are enabled. Done means an explicit codegen version 1.0 is not silently overridden; incompatible settings should produce an error.
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
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100