Releases: llvm/circt
Releases · llvm/circt
firtool-1.105.0
What's Changed
- [RTG] Populate pipeline with new passes by @maerhart in #8139
- [RTG] Add label visibility API by @maerhart in #8140
- [RTGTest] Add integer register type API by @maerhart in #8141
- [RTGTest] Add the last remaining ops for RV32I by @maerhart in #8142
- [HW] Add array_concat of one element folder by @maerhart in #8181
- [MooreToCore] Convert SCF ops inside llhd.process to CF by @maerhart in #8175
- [MooreToCore] Don't insert wait event checks if all detects are AnyChange by @maerhart in #8178
- [MooreToCore] Properly handle OOB accesses of moore.extract by @maerhart in #8182
- [NFC][Verif] Clarify
symbolic_value
semantics by @TaoBi22 in #8177 - [circt-verilog] Fix negative Rest timing by @maerhart in #8174
- [circt-verilog] Add LLHD lowering pipeline by @maerhart in #8179
- [MooreToCore] Branch to resume block instead of wait block by @maerhart in #8184
- [CombToAIG] Add support for div/mod operations by @uenoku in #8130
- [ESI Runtime] Pluggable channel engines by @teqdruid in #8167
- [MooreToCore] Add nested moore.conditional support by @AndreyVV-100 in #8125
- [LLHD] Removing llhd-sim tests by @teqdruid in #8036
- [RTG] Custom parser/printer for sequence op and type for sequence families by @maerhart in #8146
- [RTG] Separate operation for sequence randomization and randomized sequence type by @maerhart in #8147
- [RTG] Support partial sequence substitutions by @maerhart in #8148
- [RTG] Add operation to get a random number within a range by @maerhart in #8149
- [FIRRTL] FART: allow modules to be in multiple domains at once by @youngar in #8172
- [ESI][BSP] Service implementation via selectable engine by @teqdruid in #8186
- [FIRRTL] Disallow reading from property ports by @youngar in #8191
- [ImportVerilog] Fix bit slicing into variables declared with offset by @maerhart in #8190
- [FIRRTL] Add require and ensure intrinsics by @fabianschuiki in #8154
- [LLHD][TCM] Ignore processes with CFG loops within a TR by @maerhart in #8196
- [FIRRTL] Add contract declaration by @fabianschuiki in #8156
- [FIRRTL] Fix hasDontTouch crash on non-module block args by @fabianschuiki in #8157
- [FIRRTL][IMDCE] Support operations with blocks by @fabianschuiki in #8158
- [ImportVerilog]Support real math functions. by @hailongSun2000 in #8192
- [ESI][BSP] Emit engine records by @teqdruid in #8204
- [ESI][Runtime] Throw unknown engine error lazily by @teqdruid in #8205
- [FIRRTL] Add optional yaml parameter to view intrinsic, op by @dtzSiFive in #8203
Full Changelog: firtool-1.104.0...firtool-1.105.0
firtool-1.104.0
What's Changed
- [SCFToCalyx] Remove
init_xxx_instance
inBuildCallInstance
by @jiahanxie353 in #8127 - [FIRRTL][IMCP] Overdefine ports of modules with unknown symbol uses by @fabianschuiki in #8115
- [SCFToCalyx] Lower floating point comparison logic fix by @jiahanxie353 in #8131
- [MemoryBanking] Adjust default dimension by @jiahanxie353 in #8132
- [MemoryBanking] Operation-granularity banking configurations by attaching attributes by @jiahanxie353 in #8133
- Add passes to strip OM and Emit dialect ops by @fabianschuiki in #8121
- [ESI][BSP] Gearboxing the hostmem write path by @teqdruid in #8136
- [ESI][BSP] Multiplexing hostmem write clients by @teqdruid in #8137
- [Verif] LowerContractsPass by @leonardt in #7870
- [ESI][BSP] Adding byte enables to cosim hostmem by @teqdruid in #8138
- [ExportVerilog] Treat verif.contract as no-op by @fabianschuiki in #8143
- [ESI][XRT BSP] Host memory writes by @teqdruid in #8152
- [Verif] Add ContractOp to Visitor by @fabianschuiki in #8155
- [Verif] Add StripContracts pass by @fabianschuiki in #8144
- [RTGTest] Add representation for immediates by @maerhart in #8053
- [RTGTest] Add a few instructions by @maerhart in #8056
- [RTG] Add ISA assembly emission pass by @maerhart in #8057
- [RTG] Add simple linear scan register allocation pass by @maerhart in #8058
- [RTGTest] Add dialect materializer by @maerhart in #8063
- [RTG][Elaboration] Do not internalize primitive values by @maerhart in #7997
- [RTG] More convenient InstructionOpInterface methods by @maerhart in #8100
- [RTG][Elaboration] Support fixed and virtual registers by @maerhart in #8101
- [RTGTest] Add branch instructions by @maerhart in #8105
- [docs] Add circt-bmc usage information to FormalVerification.md by @TaoBi22 in #8165
- [RTG][EmitISA] Support labels by @maerhart in #8106
- [RTG][Elaboration] Support labels by @maerhart in #8107
- [RTGTest] Add some arithmetic instructions by @maerhart in #8117
- [RTGTest] Add store instructions by @maerhart in #8118
- [FIRRTL] LowerXMR: process all modules by @youngar in #8168
- [LLHD] Move maxPrimitives check before initializing the 'dontCare' table by @maerhart in #8171
- Add Randomization Logic to Generated Memories by @seldridge in #8170
Full Changelog: firtool-1.103.0...firtool-1.104.0
firtool-1.103.0
What's Changed
- [ESI] Snoop op by @teqdruid in #8096
- [ESI] BSP: variable sized reads and gearboxing read responses by @teqdruid in #8095
- [FIRRTL] LowerLayers: Update innerrefs in extracted verbatim's by @dtzSiFive in #8094
- [ESI] BSP: implement hostmem read path arbiter by @teqdruid in #8102
- [FIRRTL] GrandCentral: Support firrtl.view by @dtzSiFive in #8092
- [SCFToCalyx] Canonicalize
scf::if
at the end ofBuildParGroup
by @jiahanxie353 in #8103 - [OM] Preserve non-OM operations in OM LinkModules by @uenoku in #8109
- [Python] Switch CIRCT Python extension and dialects to nanobind. by @mikeurbach in #8110
- Bump LLVM to aa580c2ec5eb4217c945a47a561181be7e7b1032. by @mikeurbach in #8108
- [FIRRTL][Inliner] Don't remove modules with symbol uses by @fabianschuiki in #8113
- [FIRRTL][IMDCE] Don't remove modules with symbol uses by @fabianschuiki in #8114
- [Pipeline] Make
reset
signal optional by @mortbopet in #8104 - [FIRRTL] Move GC after AssignOutputDirs. by @dtzSiFive in #8112
- [Pass] Remove unnecessary OperationPassmlir::ModuleOp by @uenoku in #8116
- [README] Fix badge link by @uenoku in #8124
- [FIRRTL] GrandCentral: set iface output_file based on parent. by @dtzSiFive in #8120
- [HW] Enable parametric polymorphism for module parameters by @bubblepipe42 in #8040
- [RTGTest] Improved register representation by @maerhart in #8052
- [ESI][Runtime] XRT support for host memory access by @teqdruid in #8122
- [MemoryBanking] Prevent name clashing when two
memref::global
ops have the same shape by @jiahanxie353 in #8119 - [ESI][XRT] Hostmem service: read side for XRT platform by @teqdruid in #8123
- [FIRRTL] Add circt_view intrinsic lowering to firrtl.view by @dtzSiFive in #8083
New Contributors
- @bubblepipe42 made their first contribution in #8040
Full Changelog: firtool-1.102.0...firtool-1.103.0
firtool-1.102.0
What's Changed
- Bump LLVM to ebc7efbab5c58b46f7215d63be6d0208cb588192. by @mikeurbach in #8089
- [HW][circt-synth] Implement AggregateToComb pass and add to circt-synth pipeline by @uenoku in #8068
- [SCFToCalyx] Wrap blocks with scf::ExecuteRegion when creating the new scf::Parallel by @jiahanxie353 in #8098
- [Kanagawa] Remove
%this
by @mortbopet in #8097 - [RTG][Elaboration] Move ConstantLike check after TypeSwitch for better performance by @maerhart in #7998
- [ExtractInstances] Append original instance name to path in metadata by @prithayan in #7872
Full Changelog: firtool-1.101.0...firtool-1.102.0
firtool-1.101.0
What's Changed
- [SMT] Parse SMT bitvector width as signed by @TaoBi22 in #8042
- [SMT] Add bv2int op by @TaoBi22 in #8049
- [MemoryBanking] Support memory banking for
GetGlobalOp
by @jiahanxie353 in #8047 - [FIRRTL][CAPI] add LayerConvention Enum and Attr by @sequencer in #8073
- [SCFToCalyx] Re-initialize IRMapping at the start of each loop by @jiahanxie353 in #8075
- [SMT][python] enable python bindings by @makslevental in #8071
- [FIRRTL] Reuse XMRRefOps in LowerXMR by @seldridge in #8066
- [Verif] disambiguate ctor by @makslevental in #8076
- [CMake] enable install C API objects by @makslevental in #8077
- [CAPI] disambiguate mlirRegisterConversionPasses by @makslevental in #8072
- [SCFToCalyx] Insert scf::reduce op at the end of the newly create scf::par op by @jiahanxie353 in #8080
- [SCFToCalyx] Insert terminator at the end of the newly created func op by @jiahanxie353 in #8081
- [ESI] Add hostmem write support to cosim by @teqdruid in #8059
- [CombToAIG] Add shl/shru/shrs lowering by @uenoku in #8067
- [RTG][Elaboration] Support sequences by @maerhart in #7969
- [RTG][Elaboration] Add support for 'index.add' and 'index.cmp' by @maerhart in #7978
- [FIRRTL] Intrinsics: Add checkAndConvert, anchor vtable. by @dtzSiFive in #8082
- [SCFToCalyx] Lower
scf.if
op when it yields nothing by @jiahanxie353 in #8079 - [SwitchToIf] Empty yielded result by @jiahanxie353 in #8087
- [LowerFormalToHW] Avoid
applyPatternsGreedily
, NFCI by @uenoku in #8088 - [circt-test] Allow tests to filter according to test runners by @fabianschuiki in #8084
- [RTG] Add InstructionOpInterface by @maerhart in #7979
- [FIRRTL] Add View Intrinsic by @seldridge in #8026
- [RTG] Add context resource attribute interface by @maerhart in #8034
- [CI/CD] Update upload-artifacts and download-artifcats. by @mikeurbach in #8090
- [CI] Enable Windows builds for PRs by @SpriteOvO in #8085
- [ImportVerilog] Add foreach statement support. by @chenbo-again in #8017
- [RTG][Elaboration] Add support for 'scf.if' and 'scf.for' by @maerhart in #7986
Full Changelog: firtool-1.100.0...firtool-1.101.0
firtool-1.100.0
What's Changed
- [CombToAIG] Add a pattern for mul by @uenoku in #8015
- [Comb] Don't try to canonicalize muxes indefinitely by @maerhart in #8023
- [PyCDE][Python] Fixing leaks reported by nanobind by @teqdruid in #8029
- [ESI/PyCDE] Updating XRT BSP to use ChannelMMIO by @teqdruid in #8025
- [HWToBTOR2] Fix incorrect le/ge predicate name emission by @TaoBi22 in #8028
- [MemoryBanking] Rename memory bank invalid test by @jiahanxie353 in #8032
- [RTGTest] Add some registers by @maerhart in #7924
- [VerifToSMT] Fix incorrect loop region result indexing by @TaoBi22 in #8006
- [CombToAIG] Lower comb.icmp by @uenoku in #8016
- [FIRRTL] Use PRINTF_FD macro instead of 0x80000002 as printf fd by @Clo91eaf in #7983
- Use MLIR python detection environment by @cbalint13 in #8037
- [SMT] Add int2bv operation by @TaoBi22 in #8041
- Revert "Use MLIR python detection environment (#8037)" by @mikeurbach in #8038
- [PyCDE] Improving support for Any type by @teqdruid in #8044
- [PyCDE/ESI] Add ESI hostmem service write API by @teqdruid in #8045
- [MemoryBanking] Support multi-dimension memory banking by @jiahanxie353 in #8033
- [MemoryBanking] Add a new field to keep track values to be erased by @jiahanxie353 in #8039
- [circt-test] Keep a list of available test runners by @fabianschuiki in #8046
- [Python] Update wheels we build in CI/CD. by @mikeurbach in #8051
- Bump LLVM to 560b72c0408a8f7e4340a1d4197b164a14cd30b0. by @mikeurbach in #8043
- [LoopScheduleToCalyx] Lower pipeline register to register writes. by @cgyurgyik in #8048
- [LoopScheduleToCalyx] deduplicate groups within a ParOp. by @cgyurgyik in #8055
New Contributors
- @Clo91eaf made their first contribution in #7983
- @cbalint13 made their first contribution in #8037
Full Changelog: firtool-1.99.2...firtool-1.100.0
firtool-1.99.2
What's Changed
- [Seq] Fix FIFO lowering to correct depth and pointer increments by @teqdruid in #8003
- [ESI] FIFO with ESI channels by @teqdruid in #8004
- [LowerToBMC] Topologically sort module body before inlining to BMC op by @TaoBi22 in #8007
- [PyCDE] Update build flow by @teqdruid in #8008
- [ESI] FIFO: support valid/ready on inputs and outputs by @teqdruid in #8009
- [PyCDE] Add fork, join, and merge channel functions by @teqdruid in #8011
- [Comb] delete slow canonicalizer by @youngar in #8014
Full Changelog: firtool-1.99.1...firtool-1.99.2
firtool-1.99.1
What's Changed
- [RTG] Add operation and types to represent labels by @maerhart in #7964
- [CD] Install nanobind when building wheels. by @mikeurbach in #8005
Full Changelog: firtool-1.99.0...firtool-1.99.1
firtool-1.99.0
What's Changed
- Bump LLVM to b0b546d44777eb1fa25995384876bd14a006a929. by @mikeurbach in #7976
- [SCFToCalyx] buildLibraryOp cast floating point to integer types by @jiahanxie353 in #7977
- [SCFToCalyx] Add indent size annotation when writing json files by @jiahanxie353 in #7993
- [firtool] initialize the disableLayerSink flag by @youngar in #7995
- [MooreToCore] Lower the unpacked array type to
hw.array
by @slowlime in #7893 - [FIRRTL] Support MarkDUTAnnotation on extmodules. by @mikeurbach in #8001
New Contributors
Full Changelog: firtool-1.98.0...firtool-1.99.0
firtool-1.98.0
What's Changed
- [RTG] Add ElaborationPass by @maerhart in #7876
- [RTG][Elaboration] Elaboration support for Bags by @maerhart in #7892
- [RTG] Add set union operation by @maerhart in #7916
- [RTG] Add bag union operation by @maerhart in #7917
- [RTG] Add set_size op for sets and bag_unique_size op for bags by @maerhart in #7920
- [RTG] Elaboration support for set_size and bag_unique_size operations by @maerhart in #7921
- [DC] Add + re-enable canonicalization patterns by @mortbopet in #7952
- [llvm] Revert LLVM de-bump by @seldridge in #7962
- [OM] Generalize handling for list creation ops in FreezePaths. by @mikeurbach in #7965
- [FIRRTL][CAPI] Add more functions for discriminating and querying type by @SpriteOvO in #7960
- [circt-bmc] Add option to print solver output & assertions by @TaoBi22 in #7974
- Fix warnings about unused variables when assertions are disabled (NFC) by @maerhart in #7975
- [SCFToCalyx] Fix json naming when there are multiple components by @jiahanxie353 in #7980
- Re-land: [FIRRTL][CAPI] Add more functions for discriminating and querying type by @SpriteOvO in #7972
- [CombToAIG] Add mux lowering by @uenoku in #7966
- [CombToAIG] Add a lowering for Add/Sub by @uenoku in #7968
- [LLHD] Fix misprint in llhd-desequentialize pass by @AndreyVV-100 in #7985
- [FIRRTL] AdvancedLayerSink: don't sink instances of mods with port annos by @rwy7 in #7982
- [InstanceChoice] Move specialize options pass earlier in the firtool pipeline by @prithayan in #7988
- [firtool] Add option to disable layer sink by @youngar in #7981
Full Changelog: firtool-1.97.1...firtool-1.98.0