Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/llvm/circt
Circuit IR Compilers and Tools
https://github.com/llvm/circt
`always_ff` blocks do not allow registers to be set in initial blocks.
This PR adds an option t...
The lower matches pass transform match statements into when statements.
This allows them to be ...
This adds an `IsTagOp` which tests the active variant of an enumeration
for a specific tag and ...
This commit adds a match statement operation to the FIRRTL dialect.
Match is used as an elimina...
d681dadd6f7a6c00e5c08c13e6ad2dc50a943266 authored over 1 year ago by Andrew Young <[email protected]>
c0b9c0a9f871198417a1870da3f36a64d6fc279d authored over 1 year ago by Martin Erhart <[email protected]>
Since Chisel always emits FIRRTL with integer constants encoded in radix
16, it is helpful to r...
d5f50eb1d71a2f21ada7de279a93f2daff78ded9 authored over 1 year ago by Andrew Young <[email protected]>
There is currently no way to compare the value of two enumerations as an
expression. There is a...
EnumConstantOp has a declared custom builder in ODS that was never
implemented. It is a useful ...
4a2ae91b421c71841c69153f81fc4277fe5409ef authored over 1 year ago by Andrew Young <[email protected]>
* Comb and HW dialects were not listed as dependent dialects which can lead to a crash when they...
a355e88628dd5b0c84aaab1f06c47cbec1e3d10c authored over 1 year ago by Martin Erhart <[email protected]>
This commit removes the InferTypeOpInterface from ControlMergeOp because
it no longer made sens...
Fixes #5017
384d49e0dd5074ecc6cfcf17046a871d47626b39 authored over 1 year ago by Vladyslav Moisieienkov <[email protected]>74179108105bfcef04c62bf7b4ffdef929264548 authored over 1 year ago by Will Dietz <[email protected]>
a72ed75d7d64cad6f59d30df8b5d0291e24ce8d3 authored over 1 year ago by Will Dietz <[email protected]>
Fixes #5017
282d80410d0213f427d0dda99b956ca07c436db7 authored over 1 year ago by John Demme <[email protected]>Teach ExportVerilog how to output union types with proper padding. Does not include union operat...
fc7c3ecc27f883e24b872b3b1ada8c71caf2c9ac authored over 1 year ago by John Demme <[email protected]>
This reverts commit e96c69ba05198d3ccbf540c74026287ab89a1826 in favor of
https://github.com/llvm...
e96c69ba05198d3ccbf540c74026287ab89a1826 authored over 1 year ago by Andrew Young <[email protected]>
The tag field of complex enumerations was being lowered to an integer
type, but using a SV enum...
f328da65a34c8cc85b7cc9604323d834c1665319 authored over 1 year ago by Andrew Young <[email protected]>
77ff1d91768a2e5ca53337bc824b1d73df460825 authored over 1 year ago by Martin Erhart <[email protected]>
This operation already has a helper `getFieldName` which returns a
`StringRef`, but during lowe...
e091260a1e78d6e30db6b8d1912fc23c7894ef86 authored over 1 year ago by Andrew Young <[email protected]>
The HW dialect currently defines a `WUWAttr` to capture the
write-under-write behavior of memor...
Add constant cache helper, use for force/release.
Add tests.
c9c359159ad977892e13865e83c8cd0951b21e74 authored over 1 year ago by Will Dietz <[email protected]>closes #4941
4e0e65d153d8fb76f3322c6f4cb6eb49d89fd365 authored over 1 year ago by Andrew Lenharth <[email protected]>Add folder to StateOp for the optional enable and reset operands.
9d8cad44d092a3a06b88ee6607f5585d37dda756 authored over 1 year ago by Martin Erhart <[email protected]>Make the enables of the MemoryReadPortOp, MemoryWritePortOp, and MemoryWriteOp optional. Its abs...
4218926a834bc4b423e22c6a2abbce08d6699c69 authored over 1 year ago by Martin Erhart <[email protected]>
Add an optional `prefix` string attribute to FIRRTL's `MemOp` that
captures a string to be prepe...
Let hw.enum be defined as a size based on it's contents, rather than implicitly by the verilog d...
31028b07c025923eb7580a7cbcaa12da6994b55d authored over 1 year ago by Andrew Lenharth <[email protected]>Wrap and unwrap data windows to/from `hw.union`s.
0656f2ebd23c0022f95e94406cd7ff2c226eb910 authored over 1 year ago by John Demme <[email protected]>
We've changed the modeling of InvalidValueOp to have side-effect so
it's necessary to handle i...
With the IR pieces in place, add parsing support instead of faking it.
* Parse RWProbe into f...
ab5a748b14284d2ff38c641c50ebfbb24f93356b authored over 1 year ago by Will Dietz <[email protected]>72adc1456f55d2c22d1b9459e52be40a86748dda authored over 1 year ago by Will Dietz <[email protected]>
Lower force, release, force_initial, and release_initial.
c5fe1871a86fc012c91b338a2044f2a61484f266 authored over 1 year ago by Will Dietz <[email protected]>Presently, we replace ref.resolve's with `sv.xmr.ref` operations that are cast to the referenced...
42cec4762cb3d47a2afea7b0ae43b856cf0dcfa1 authored over 1 year ago by Will Dietz <[email protected]>
This commit removes the control flow loop analysis in favor of the newly
introduced CFG loop in...
Until we can control enum width in HW, we use an integer tag for complex enums. We do not use ta...
b4982608139bc6406cf7856c2818b77f6e6cf5df authored over 1 year ago by Andrew Lenharth <[email protected]>Update LowerTypes to get sub-type right for indexing into ref.sub of rwprobe.
Add test.
b329a84cf5c56061d0fe2fb5427b97437923e291 authored over 1 year ago by Will Dietz <[email protected]>Determine result named on operation via InnerSymbol interface when available.
Fixes annotatio...
8f52b657af3cbc08ee865d71ee35d3e7b69b1879 authored over 1 year ago by Will Dietz <[email protected]>1b0832b77b5837c0cc9e77c66005b67d908e46e8 authored over 1 year ago by Will Dietz <[email protected]>
30f4714dc30e235f9983057d911dea341d7c5534 authored over 1 year ago by Will Dietz <[email protected]>
Support getting "type" of declarations that are forceable.
Add test (that crashes without thi...
58a403f814b2c795125de6058b3bec35ee78bc50 authored over 1 year ago by Will Dietz <[email protected]>Support read of a rwprobe, add test.
45712ac70cbdc130b12c717c95e619c7f377e044 authored over 1 year ago by Will Dietz <[email protected]>e67f0345c184eff52a01636376ea4473d667049c authored over 1 year ago by Andrew Lenharth <[email protected]>
Add an operation to create enum values.
Coauthored @youngar
Be sure forceable references are considered.
May not reject designs that should (inference fa...
43cefa152da227da58a8d83f070bf0f3b2f7362e authored over 1 year ago by Will Dietz <[email protected]>Don't ignore due to having > 1 result, check for forceable.
d9cfa537bde99101257ca269959cebd41b4c2489 authored over 1 year ago by Will Dietz <[email protected]>88a92b3431846dea5ce12f102f6e263fab0bc65d authored over 1 year ago by Will Dietz <[email protected]>
Treat the three statements as "assign-likes", and if cannot
emit a single `for (init; check; up...
Fixes an integration test failure introduced in #4929
9351204a2f67e342e4d284c3429ee5e11ec5fb05 authored over 1 year ago by Christian Ulmann <[email protected]>* [FIRRTL] Introduce const types
Const types are versions of FIRRTL hardware types that can o...
3062929a75bd17315d20209b350099c28ea3a63e authored over 1 year ago by Daniel Resnick <[email protected]>
This aligns with backtraces produced for recent occasional CI
failure in circt-reduce on trivia...
Add test.
88c6a901e91ab51b9fb702f0ecf758e12271fe2f authored over 1 year ago by Will Dietz <[email protected]>Use a builtin matcher helper function instead of our own.
50bb05968546fab8cd31620ae532a50f36e9c9cc authored over 1 year ago by Hideto Ueno <[email protected]>This follows the structure in the Comb dialect to implement canonicalizers and folders in a sepa...
aceaba0442967a9630fd05276ad4dd6bd0aab83b authored over 1 year ago by Martin Erhart <[email protected]>
This introduces SV for operation e.g.:
```mlir
sv.for %i = %c0_i2 to %c-1_i2 step %c1_i2 :...
909c6dbb21f36b1286b1139470774210d2acc2b8 authored over 1 year ago by Andrew Young <[email protected]>
ec9638de8ea4f677512256bd59549b943f81c5a8 authored over 1 year ago by Andrew Young <[email protected]>
Add a resetCast operation. This lets more connects be strictconnects as more typeconversion can ...
7563aaa1cf1964cfb2c1ee630aad7180236e1002 authored over 1 year ago by Andrew Lenharth <[email protected]>Drop interface method for this until a good design there is found.
Not using the rewriter may...
8b724027379416f6ccf59efaa711d3dca59adf1f authored almost 2 years ago by Will Dietz <[email protected]>Extract the current value of an enum's tag.
c30fb9ec54407f17e83859f4aa5d47baa530e82c authored almost 2 years ago by Andrew Lenharth <[email protected]>
* Which result, if any, do inner symbols target?
* Are per-field symbols sensible for this oper...
* Add method for adding/removing forceability.
* Drop forceable if unused (canonicalizer on For...
We need this to support:
1) Matching bit layout of externally defined data types
2) Paddin...
Add test.
e30da003595f2c48d04bd913441a40db9c338452 authored almost 2 years ago by Will Dietz <[email protected]>674095ed388d2a5a1ef17ca0137b4e5c8a6b624e authored almost 2 years ago by Will Dietz <[email protected]>
Add test.
911ff3dd6417809a8a7ec0c082837a2704ac2363 authored almost 2 years ago by Will Dietz <[email protected]>
This fixes a bug with updating the NLA, when modules are recursively inlined
to a single paren...
Add ability to get rwprobe references as optional result on supported FIRRTL declarations.
Decl...
Easier to build, let result type inference handle.
Works better when inference computes type of...
9ef014ab54bf0920e22806a71e16b5a18be42a3d authored almost 2 years ago by Will Dietz <[email protected]>
Add 'Arc' as prefix to the filenames to be consistent with the other dialects.
fec5764cabe847fe753c4ecbb6c72ee439417a26 authored almost 2 years ago by Martin Erhart <[email protected]>Firrtl enum type and subtag operation. This is just a the start of enum support. This adds the...
ba18f76f748b2004f78f4d12c17c639f280d9575 authored almost 2 years ago by Andrew Lenharth <[email protected]>
No need to carry `BoolAttr`s in `MemoryInitAttr`. Replace them with
plain old booleans.
Basic model of a list. Pretty worthless without a HW lowering.
c2896fed3b449055e98db9e0d0ba1ef35d711098 authored almost 2 years ago by John Demme <[email protected]>
This adds a new operation for defining primitive values to use in
Classes according to the desi...
Currently, the memory read and write operations represent the memory accesses both in the datafl...
1482f44ebdb915b180677fec876fafbcac1e670e authored almost 2 years ago by Martin Erhart <[email protected]>Instead users should use CombToArith+ArithToLLVM. There is still a pattern population function l...
e7285eda01e0022d413d4de56a9464bb77ee17a6 authored almost 2 years ago by Martin Erhart <[email protected]>
This adds a new operations for accessing Fields from Objects according
to the design in the rat...
Most importantly, this adds support for the new arc.call operation. Otherwise, it will not consi...
5a22a6675ed494c9cb47240a355a657f6ba211b2 authored almost 2 years ago by Martin Erhart <[email protected]>
The arc.clock_domain operation is a dataflow equivalent of the
arc.clock_tree operation. It is ...
Add utilities to allow C++ to link against and drive a software model
generated from the arc dia...
Add tests for annotation target instance port that doesn't exist,
instance port of reference ty...
Went back and forth on this in spec. Let's allow it,
to support unused references or to resolv...
When we determine if two modules can be merged we ignore the names of
fields in bundle types. ...
b703640fd4f43a7fbb7344bdbcac740c2b40c4b3 authored almost 2 years ago by Andrew Lenharth <[email protected]>
This adds a check that the discardable attributes are actually round
tripped.
Fixes https://github.com/llvm/circt/issues/4943
Signed-off-by: Sergi Granell <xerpi.g.12@gmai...
db58cabfe851dc36f713c9ea68291e22f3c43eb4 authored almost 2 years ago by Sergi Granell <[email protected]>
This adds a new operation and type for Object instantiations according
to the design in the rat...
51740912177c384d85f0b47e6d67bad0bc5ea931 authored almost 2 years ago by Martin Erhart <[email protected]>
5061640e305e2415817e3cf59f682e16a6e0c246 authored almost 2 years ago by Andrew Butt <[email protected]>
4043c82f8bad91173493da485a789d3e3709790b authored almost 2 years ago by Andrew Lenharth <[email protected]>
A line is printed for every encountered symbol + its target,
often from IST's constructed in pa...
Validate that the given `lastOp` is the unique sink node in the dependence graph.
Fixes #4785.
e8de64f62c4b881e49ca0a9f7b8f2704b33e3679 authored almost 2 years ago by Julian Oppermann <[email protected]>Close #4937.
092d9b30bfc13ea04c2419dd7b14bc9a7bf8b473 authored almost 2 years ago by Hideto Ueno <[email protected]>e733d2c83890efd7ef4ea8f73110616fc8a1f506 authored almost 2 years ago by Lucas Ramirez <[email protected]>
a2c33ec5fcc11c66f845c3b583a38362dd2dae1d authored almost 2 years ago by Lucas Ramirez <[email protected]>