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

[Seq] Add an option to lower `seq.compreg` to `always` blocks (#5040)

`always_ff` blocks do not allow registers to be set in initial blocks.
This PR adds an option t...

d37d4f3b7da3fe79caa6f23c138a6b1cf4becabb authored over 1 year ago by Nandor Licker <[email protected]>
[FIRRTL] Add LowerMatches pass (#5039)

The lower matches pass transform match statements into when statements.
This allows them to be ...

5ecc33e282f2c16db5827b1313327afc701f0089 authored over 1 year ago by Andrew Young <[email protected]>
[FIRRTL] Add `IsTagOp` to test enumeration variant (#5038)

This adds an `IsTagOp` which tests the active variant of an enumeration
for a specific tag and ...

3451c08308ba3557623b45595b05d345cfea9e78 authored over 1 year ago by Andrew Young <[email protected]>
[FIRRTL] Add `MatchOp` statement (#5037)

This commit adds a match statement operation to the FIRRTL dialect.
Match is used as an elimina...

567bc73fa5610294c84dbc8698607661dd93eb64 authored over 1 year ago by Andrew Young <[email protected]>
[ExportVerilog] Add support for EnumCmpOp (#5035)

d681dadd6f7a6c00e5c08c13e6ad2dc50a943266 authored over 1 year ago by Andrew Young <[email protected]>
[Docs] Include Arc and SystemC in Passes.md (#5036)

c0b9c0a9f871198417a1870da3f36a64d6fc279d authored over 1 year ago by Martin Erhart <[email protected]>
[FIRRTL][Dedup] Print integer constants as hexadecimal (#5033)

Since Chisel always emits FIRRTL with integer constants encoded in radix
16, it is helpful to r...

22fbb8dfa3e865a3df6557ebeafef1f6f4f46c84 authored over 1 year ago by Andrew Young <[email protected]>
Bump LLVM (#5029)

d5f50eb1d71a2f21ada7de279a93f2daff78ded9 authored over 1 year ago by Andrew Young <[email protected]>
[HW] Add an enum comparison operation (#5032)

There is currently no way to compare the value of two enumerations as an
expression. There is a...

8313b059ee051a59f47e631901e92297fcb7cf7b authored over 1 year ago by Andrew Young <[email protected]>
[HW] implement missing EnumConstantOp builder (#5030)

EnumConstantOp has a declared custom builder in ODS that was never
implemented. It is a useful ...

1f153d5dddc8f4f56173e5fb2403f8666227a3bc authored over 1 year ago by Andrew Young <[email protected]>
[ExportVerilog] Handle printing of `UnionExtractOp` (#5022)

4a2ae91b421c71841c69153f81fc4277fe5409ef authored over 1 year ago by Andrew Young <[email protected]>
[Arc] StripSV: fix dialect dependencies, option and warning for replacing external module instances

* 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]>
[Handshake] Remove cmerge return type inference (#5021)

This commit removes the InferTypeOpInterface from ControlMergeOp because
it no longer made sens...

0fa1b01f158dddb4903ae655fb80c3530b853153 authored over 1 year ago by Lucas Ramirez <[email protected]>
[PyCDE] [Docs] Mention to add upstream remote to fetch tags when building wheels (#5027)

Fixes #5017

384d49e0dd5074ecc6cfcf17046a871d47626b39 authored over 1 year ago by Vladyslav Moisieienkov <[email protected]>
[FIRRTL][InferResets] Infer through ref.sub. (#4998)

74179108105bfcef04c62bf7b4ffdef929264548 authored over 1 year ago by Will Dietz <[email protected]>
[InferWidths] Add support for inferring through ref.sub. (#5000)

a72ed75d7d64cad6f59d30df8b5d0291e24ce8d3 authored over 1 year ago by Will Dietz <[email protected]>
[PyCDE] [Docs] Add note about needing the tags when building wheels

Fixes #5017

282d80410d0213f427d0dda99b956ca07c436db7 authored over 1 year ago by John Demme <[email protected]>
[ExportVerilog] Union type output support (#5001)

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]>
Revert "[ExportVerilog] Handle printing of union types (#5020)"

This reverts commit e96c69ba05198d3ccbf540c74026287ab89a1826 in favor of
https://github.com/llvm...

4de1c5f71f09cb0571712f660431a31b5f5e89e3 authored over 1 year ago by John Demme <[email protected]>
[ExportVerilog] Handle printing of union types (#5020)

e96c69ba05198d3ccbf540c74026287ab89a1826 authored over 1 year ago by Andrew Young <[email protected]>
[FIRRTL] Lower complex enums to use hw enums for the tag (#5019)

The tag field of complex enumerations was being lowered to an integer
type, but using a SV enum...

34b9d8e7cfd94d6f5710ae7cfea2e95be09d4a24 authored over 1 year ago by Andrew Young <[email protected]>
[HW] Add type inference to UnionExtractOp (#5015)

f328da65a34c8cc85b7cc9604323d834c1665319 authored over 1 year ago by Andrew Young <[email protected]>
[circt-reduce] Apply some clang-tidy suggestions

77ff1d91768a2e5ca53337bc824b1d73df460825 authored over 1 year ago by Martin Erhart <[email protected]>
[FIRRTL] Add `getFieldNameAttr` helper to SubTagOp (#5016)

This operation already has a helper `getFieldName` which returns a
`StringRef`, but during lowe...

a3113e43772955052abf42f660da6df8971faf79 authored over 1 year ago by Andrew Young <[email protected]>
[FIRRTL] fix comment, nfc

e091260a1e78d6e30db6b8d1912fc23c7894ef86 authored over 1 year ago by Andrew Young <[email protected]>
[Seq] Add enums for RUW/WUW behavior of memories (#5007)

The HW dialect currently defines a `WUWAttr` to capture the
write-under-write behavior of memor...

db9f7c4c505ac26ca6d47e8bfbfac525eef1476f authored over 1 year ago by Fabian Schuiki <[email protected]>
[FIRRTL] Parse {force,release}{,_initial}. (#4990)

Add constant cache helper, use for force/release.

Add tests.

c9c359159ad977892e13865e83c8cd0951b21e74 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL] lower plusargs to initial block (#4999)

closes #4941

4e0e65d153d8fb76f3322c6f4cb6eb49d89fd365 authored over 1 year ago by Andrew Lenharth <[email protected]>
[Arc] Add StateOp folder (#4979)

Add folder to StateOp for the optional enable and reset operands.

9d8cad44d092a3a06b88ee6607f5585d37dda756 authored over 1 year ago by Martin Erhart <[email protected]>
[Arc] Memory ops: optional enables and folders (#4976)

Make the enables of the MemoryReadPortOp, MemoryWritePortOp, and MemoryWriteOp optional. Its abs...

4218926a834bc4b423e22c6a2abbce08d6699c69 authored over 1 year ago by Martin Erhart <[email protected]>
[FIRRTL] Add MemOp prefix attr, remove groupID attr

Add an optional `prefix` string attribute to FIRRTL's `MemOp` that
captures a string to be prepe...

27c34687149e1eedfaa8dc1b28b2e3cf638ecd93 authored over 1 year ago by Fabian Schuiki <[email protected]>
[HW] Size enums to the number of tags (#4988)

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]>
[ESI][Data windows] Introduce wrap/unwrap (#4953)

Wrap and unwrap data windows to/from `hw.union`s.

0656f2ebd23c0022f95e94406cd7ff2c226eb910 authored over 1 year ago by John Demme <[email protected]>
[FIRRTL][IMDCE] Remove dead Invalid Value op (#4996)

We've changed the modeling of InvalidValueOp to have side-effect so
it's necessary to handle i...

40bdb080d82c30ef985491abd6336afda6c19251 authored over 1 year ago by Hideto Ueno <[email protected]>
[FIRRTL][FIRParser] Parse RWProbe<T> and rwprobe(). (#4972)

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]>
[FIRRTL][LowerTypes] Support expanding force/release. (#4994)

72adc1456f55d2c22d1b9459e52be40a86748dda authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][LowerToHW] Support force + friends. (#4992)

Lower force, release, force_initial, and release_initial.

c5fe1871a86fc012c91b338a2044f2a61484f266 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][LowerXMR] force/release handling. (#4991)

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]>
[Analysis] Switch to upstream LoopInfo (#4957)

This commit removes the control flow loop analysis in favor of the newly
introduced CFG loop in...

91722fa82992bf113ec1acf8749d43abc2611276 authored over 1 year ago by Christian Ulmann <[email protected]>
[FIRRTL] Lower complex enum to hw (#4987)

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]>
[FIRRTL] Allow ref.sub of rwprobe while allowing LowerTypes of forceables. (#4985)

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]>
[FIRRTL] Query for target result instead of rejecting with multiple results. (#4969)

Determine result named on operation via InnerSymbol interface when available.

Fixes annotatio...

8f52b657af3cbc08ee865d71ee35d3e7b69b1879 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][ExpandWhens] And in conditions to force*/release* ops. (#4993)

1b0832b77b5837c0cc9e77c66005b67d908e46e8 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL] Add force/release operations to ODS. (#4989)

30f4714dc30e235f9983057d911dea341d7c5534 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][EmitOMIR] Support per-field tracking of forceable. (#4970)

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]>
[FIRRTL][LowerXMR] Treat forceable ref result as ref origin. (#4984)

Support read of a rwprobe, add test.

45712ac70cbdc130b12c717c95e619c7f377e044 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL] Lower trivial (uint0) enums (#4983)

e67f0345c184eff52a01636376ea4473d667049c authored over 1 year ago by Andrew Lenharth <[email protected]>
[FIRRTL] enumcreate for creating enum values (#4981)

Add an operation to create enum values.
Coauthored @youngar

88d8569fd4e9690e14055d6412bf180d45bf2a3e authored over 1 year ago by Andrew Lenharth <[email protected]>
[FIRRTL][InferResets] Infer through forceable ref. (#4967)

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]>
[FIRRTL][CheckCombLoops] Look through forceable decls too. (#4968)

Don't ignore due to having > 1 result, check for forceable.

d9cfa537bde99101257ca269959cebd41b4c2489 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][NFC] Touchup comment in test.

88a92b3431846dea5ce12f102f6e263fab0bc65d authored over 1 year ago by Will Dietz <[email protected]>
[ExportVerilog] Improve pretty-printing of sv.for (when wrapping). (#4980)

Treat the three statements as "assign-likes", and if cannot
emit a single `for (init; check; up...

75cc5762082a4ddbb05c953932423ded23d11d1f authored over 1 year ago by Will Dietz <[email protected]>
[handshake] Fix cmerge integration test (#4958)

Fixes an integration test failure introduced in #4929

9351204a2f67e342e4d284c3429ee5e11ec5fb05 authored over 1 year ago by Christian Ulmann <[email protected]>
[FIRRTL] Introduce const types (#4557)

* [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]>
[FIRRTL][IMCP] Clear more state to avoid bugs w/pass obj reuse. (#4978)

This aligns with backtraces produced for recent occasional CI
failure in circt-reduce on trivia...

904abb2b9cb887bd090df1b00900ac8a16ea292d authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][LowerTypes] Support Forceable decls w/refs. (#4961)

Add test.

88c6a901e91ab51b9fb702f0ecf758e12271fe2f authored over 1 year ago by Will Dietz <[email protected]>
[CombFolds] Replace m_RConstant with mlir::m_ConstantInt, nfc (#4977)

Use a builtin matcher helper function instead of our own.

50bb05968546fab8cd31620ae532a50f36e9c9cc authored over 1 year ago by Hideto Ueno <[email protected]>
[Arc] Split canonicalizer implementations in separate file

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]>
[SV] Introduce SV for op (#4879)

This introduces SV for operation e.g.:
```mlir
sv.for %i = %c0_i2 to %c-1_i2 step %c1_i2 :...

7b8f3c2a43b0632c8c71b872b9b534c49c49c677 authored over 1 year ago by Hideto Ueno <[email protected]>
Bump LLVM (#4974)

909c6dbb21f36b1286b1139470774210d2acc2b8 authored over 1 year ago by Andrew Young <[email protected]>
[FIRRTL] include bundle field's flip when hashing (#4973)

ec9638de8ea4f677512256bd59549b943f81c5a8 authored over 1 year ago by Andrew Young <[email protected]>
[FIRRTL] Isolate reset inference to a cast rather than connect (#4804)

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]>
[FIRRTL] Fix replaceWithNewForceability to use PatternRewriter. (#4971)

Drop interface method for this until a good design there is found.

Not using the rewriter may...

8b724027379416f6ccf59efaa711d3dca59adf1f authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL] Enum tag extraction op (#4965)

Extract the current value of an enum's tag.

c30fb9ec54407f17e83859f4aa5d47baa530e82c authored over 1 year ago by Andrew Lenharth <[email protected]>
[HW][FIRRTL] Let ops specify inner symbol behavior. (#4966)

* Which result, if any, do inner symbols target?
* Are per-field symbols sensible for this oper...

127def47183a88e231045a8d7c9f8a783c2c5134 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][FIRRTLFolds] Drop forceable if unused. (#4963)

* Add method for adding/removing forceability.
* Drop forceable if unused (canonicalizer on For...

34dfe5872bed5b0f305df7351fb620adacfc123e authored over 1 year ago by Will Dietz <[email protected]>
[HW][Union type] Add per-field offset (#4945)

We need this to support:
1) Matching bit layout of externally defined data types
2) Paddin...

963f5e5518ab52164d3ebd1975c92461bd74d16f authored over 1 year ago by John Demme <[email protected]>
[FIRRTL][IMCP] Mark forceable decls overdefined. (#4962)

Add test.

e30da003595f2c48d04bd913441a40db9c338452 authored over 1 year ago by Will Dietz <[email protected]>
[LowerToHW] Add symbol if forceable. (#4964)

674095ed388d2a5a1ef17ca0137b4e5c8a6b624e authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][InferWidths] Infer to ref results too. (#4960)

Add test.

911ff3dd6417809a8a7ec0c082837a2704ac2363 authored over 1 year ago by Will Dietz <[email protected]>
[ModuleInliner][BugFix] Correctly update NLA after recursive inline (#4942)

This fixes a bug with updating the NLA, when modules are recursively inlined
to a single paren...

9c45fb042f919ad43921989d10bd829203cbe123 authored over 1 year ago by Prithayan Barua <[email protected]>
[FIRRTL] Add optional forceable ref result to FIRRTL decls. (#4959)

Add ability to get rwprobe references as optional result on supported FIRRTL declarations.
Decl...

39e49b68dcbe90ebd392ed130423a44b25dc6dda authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL] NodeOp: don't require type, get from input. (#4956)

Easier to build, let result type inference handle.
Works better when inference computes type of...

6ba57c33c63d5e4e62c33377ac905e8459a85c4c authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][NFC] Use getResult() for primary Value of declaration ops. (#4955)

9ef014ab54bf0920e22806a71e16b5a18be42a3d authored over 1 year ago by Will Dietz <[email protected]>
[Arc] Prefix filenames with dialect name

Add 'Arc' as prefix to the filenames to be consistent with the other dialects.

fec5764cabe847fe753c4ecbb6c72ee439417a26 authored over 1 year ago by Martin Erhart <[email protected]>
[FIRRTL] Enum Type (#4950)

Firrtl enum type and subtag operation. This is just a the start of enum support. This adds the...

ba18f76f748b2004f78f4d12c17c639f280d9575 authored over 1 year ago by Andrew Lenharth <[email protected]>
[FIRRTL] Replace BoolAttr with bool in MemoryInitAttr; NFC

No need to carry `BoolAttr`s in `MemoryInitAttr`. Replace them with
plain old booleans.

306ae7f685fe2602127a60e2264aca8c93526935 authored over 1 year ago by Fabian Schuiki <[email protected]>
[ESI] List type (#4830)

Basic model of a list. Pretty worthless without a HW lowering.

c2896fed3b449055e98db9e0d0ba1ef35d711098 authored over 1 year ago by John Demme <[email protected]>
[OM] Add support for primitive values. (#4840)

This adds a new operation for defining primitive values to use in
Classes according to the desi...

fea084d859a4288c4dad2dfbd8534eb665ca38a7 authored over 1 year ago by Mike Urbach <[email protected]>
[Arc] Separate memory representation before and after state lowering (#4949)

Currently, the memory read and write operations represent the memory accesses both in the datafl...

1482f44ebdb915b180677fec876fafbcac1e670e authored over 1 year ago by Martin Erhart <[email protected]>
[CombToLLVM] Remove pass (#4926)

Instead users should use CombToArith+ArithToLLVM. There is still a pattern population function l...

e7285eda01e0022d413d4de56a9464bb77ee17a6 authored over 1 year ago by Martin Erhart <[email protected]>
[OM] Add support for accessing Fields from Objects. (#4839)

This adds a new operations for accessing Fields from Objects according
to the design in the rat...

4ab5232c659ad871ef8a61c1ccf2cc46cba4563b authored over 1 year ago by Mike Urbach <[email protected]>
[Arc] RemoveUnusedArcArguments pass improvements (#4919)

Most importantly, this adds support for the new arc.call operation. Otherwise, it will not consi...

5a22a6675ed494c9cb47240a355a657f6ba211b2 authored over 1 year ago by Martin Erhart <[email protected]>
[Arc] Add clock_domain operation (#4917)

The arc.clock_domain operation is a dataflow equivalent of the
arc.clock_tree operation. It is ...

e7f306dd025b139af1dcbed6588e7447ad52af8a authored over 1 year ago by Martin Erhart <[email protected]>
[Arc] Add simple runtime helpers

Add utilities to allow C++ to link against and drive a software model
generated from the arc dia...

96f075a0b5dcd8e9d1fe3d68918684427f7268f9 authored over 1 year ago by Fabian Schuiki <[email protected]>
[FIRRTL] Do not consider references valid annotation targets. (#4913)

Add tests for annotation target instance port that doesn't exist,
instance port of reference ty...

de07a6caa27efbdc91c47db4fad84ac54e842fc4 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][FIRParser] Relax 'ref' statement requirement. (#4909)

Went back and forth on this in spec. Let's allow it,
to support unused references or to resolv...

479c63e628963acae0797a2120ca1210aedcbe09 authored over 1 year ago by Will Dietz <[email protected]>
[FIRRTL][Dedup] Change port renaming strategy (#4946)

When we determine if two modules can be merged we ignore the names of
fields in bundle types. ...

c3bf83626b96fa5b4addcf873936ede50a5b397e authored over 1 year ago by Andrew Young <[email protected]>
[NFC] fix warning

b703640fd4f43a7fbb7344bdbcac740c2b40c4b3 authored over 1 year ago by Andrew Lenharth <[email protected]>
[OM] Improve round-trip test for discardable attributes, NFC.

This adds a check that the discardable attributes are actually round
tripped.

2e44fde874bfb48ba1e5d8c5e71f507d762fabcc authored over 1 year ago by Mike Urbach <[email protected]>
[CalyxToHW] Fix lowering of calyx::NotLibOp (XOR with 1s, not 0s) (#4944)

Fixes https://github.com/llvm/circt/issues/4943

Signed-off-by: Sergi Granell <xerpi.g.12@gmai...

db58cabfe851dc36f713c9ea68291e22f3c43eb4 authored over 1 year ago by Sergi Granell <[email protected]>
[OM] Add support for Object instantiations and types. (#4838)

This adds a new operation and type for Object instantiations according
to the design in the rat...

fa548df9ceecc0f74c743e7319a69ad23fc927b1 authored over 1 year ago by Mike Urbach <[email protected]>
[HW] Update getters in HWOpInterfaces to prefixed style (#4938)

51740912177c384d85f0b47e6d67bad0bc5ea931 authored over 1 year ago by Martin Erhart <[email protected]>
[LoopSchedule] Add initial LoopSchedule dialect (#4935)

5061640e305e2415817e3cf59f682e16a6e0c246 authored over 1 year ago by Andrew Butt <[email protected]>
[NFC] Accept valid id for intrnsinic name in intmodule

4043c82f8bad91173493da485a789d3e3709790b authored over 1 year ago by Andrew Lenharth <[email protected]>
[HW][IST] Drop debug printing from InnerSymbolTable. (#4940)

A line is printed for every encountered symbol + its target,
often from IST's constructed in pa...

752ade135c604e0099af7a3c2964bb658299a471 authored over 1 year ago by Will Dietz <[email protected]>
[Scheduling][ModuloSimplexScheduler] Improve `lastOp` validation. (#4918)

Validate that the given `lastOp` is the unique sink node in the dependence graph.

Fixes #4785.

e8de64f62c4b881e49ca0a9f7b8f2704b33e3679 authored over 1 year ago by Julian Oppermann <[email protected]>
[ExportVerilog] Fix `IndexedPartSelectOp` verilog emission

Close #4937.

092d9b30bfc13ea04c2419dd7b14bc9a7bf8b473 authored over 1 year ago by Hideto Ueno <[email protected]>
[Handshake] Fix clang-format

e733d2c83890efd7ef4ea8f73110616fc8a1f506 authored over 1 year ago by Lucas Ramirez <[email protected]>
[Handshake] Fix for undef. UINT64_WIDTH on Windows

a2c33ec5fcc11c66f845c3b583a38362dd2dae1d authored over 1 year ago by Lucas Ramirez <[email protected]>