llvm / llvm/circt

[FIRRTL] Add folders for IntegerMulOp

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

Description

This is a primitive Property operation, defined by FIRRTL spec section 25.1.2. General folds for signed arbitrary precision integer arithmetic can be applied, but none were defined in the initial PR. This could include things like:

* [ ] integer_mul(a, 1) -> a
* [ ] integer_mul(constantA, constantB) -> constantA * constantB
* [ ] etc...

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the FIRRTL IntegerMulOp implementation and read FIRRTL specification section 25.1.2. Review existing constant-folding patterns for primitive Property operations, then implement the listed multiplication folds, including multiplication by one and two constants. Done means the supported folds are covered by tests and the examples produce the expected results.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.