llvm / llvm/circt

[Calyx] Lack of Documentation for Calyx Lowering Passes and Recommended Order

Open
#5,544 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Calyx
Dominant language
C++
Stars
2.2k
Forks
524
Avg merge
3d 2h
Merged PRs (30d)
46

Description

I have encountered difficulties understanding and applying the appropriate flags for lowering the Calyx dialect in my project. Specifically, I am unsure about when to use the following flags:

--calyx-remove-comb-groups
--calyx-remove-groups
--calyx-remove-groups-fsm
--canonicalize

The lack of comprehensive documentation regarding the available Calyx passes and their recommended order makes it challenging to determine the appropriate usage.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Calyx lowering passes associated with --calyx-remove-comb-groups, --calyx-remove-groups, --calyx-remove-groups-fsm, and --canonicalize. Document what each pass does, when it applies, and the recommended ordering; done means a newcomer can choose the appropriate flags from the documentation.

Written by the indexing model from the issue text.

Assessment

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