Skip to content

Releases: llvm/circt

firtool-1.81.0

10 Aug 06:24
firtool-1.81.0
b3a54e3
Compare
Choose a tag to compare

What's Changed

  • [ImportVerilog] Switch from SCF to CF dialect for control flow by @fabianschuiki in #7432
  • [Docs][FIRRTL] Build and include docs for intrinsic ops by @SpriteOvO in #7444
  • [CMake] Fix install failure with CMAKE_SLANG_FRONTEND_ENABLED enabled by @cepheus69 in #7437
  • [Support] Allow erasing names in Namespace by @mortbopet in #7424
  • [FIRRTL] Verify main module is a module, and is public. by @dtzSiFive in #7439
  • [Ibis] Don't include design name in namespace in IbisContainersToHW by @mortbopet in #7425
  • [FIRRTL] Verify RWProbeOp target has layer requirements. by @dtzSiFive in #7372
  • [FIRRTL] Tweak printing of layers to avoid extra space. by @dtzSiFive in #7449
  • Replaced 'replicate' to correctly named 'replace' flags by @jpien13 in #7442
  • [Arc][Sim] Lower Sim DPI func to func.func and support dpi call in Arc by @uenoku in #7386
  • [arcilator] Add an option to load shared lib into JIT engine by @uenoku in #7453
  • [arcilator] Add JIT runtime environment library and stdio hooks by @fzi-hielscher in #7445
  • [circt-lec] Accept two MLIR inputs by @uenoku in #7450
  • [FIRRTL] Cache symbol table in LowerLayers by @seldridge in #7436
  • [ExportVerilog] Add a lowering option to fix up empty modules by @uenoku in #7454
  • [SimToSV] Add include guards to DPI import by @uenoku in #7459
  • [ESI] Add option to build runtime as a static library by @mortbopet in #7455
  • [ESI][Runtime] Poll method and optional service thread polling by @teqdruid in #7460
  • [Moore] Add FVIntegerAttr by @fabianschuiki in #7461
  • [Moore] Support four-valued integers in ConstantOp by @fabianschuiki in #7463
  • [FIRRTL][Dedup] Reduce size of integer data hashed. by @dtzSiFive in #7469
  • [FIRRTL][LowerLayers] Plumb support for errors. by @dtzSiFive in #7470
  • [MooreToCore] Fix conversion and dyn_extract operation lowering by @maerhart in #7473
  • [MooreToCore] Struct extract lowering support by @maerhart in #7475
  • [FIRRTL][InferResets] Generalize FART to support sync reset by @jackkoenig in #7476
  • [MooreToCore] Fix variable op lowering of aggregate types by @maerhart in #7481
  • [MooreToCore] Support ProcedureOp and sequential assign operations by @maerhart in #7362
  • [FIRRTL] Canonicalize multibit_mux with narrow index by @uenoku in #7373
  • [FIRRTL] Fix sub-* op in layer block verifier by @seldridge in #7462
  • [OM] Add AnyType C API and Python bindings. by @mikeurbach in #7488
  • [OM] Add ListType C API and Python bindings. by @mikeurbach in #7490
  • [HWArith] Make hwarith.icmp result an i1 by @teqdruid in #7413
  • [Moore] Add more AssignedVariableOp canonicalizations by @fabianschuiki in #7477
  • [Moore] Add constant materialization, fold constant conversions by @fabianschuiki in #7478
  • bump llvm to tip of main by @mwachs5 in #7440
  • [Moore] Power operator folders and canonicalizers by @maerhart in #7494
  • [MooreToCore] Support StructExtractRefOp by @maerhart in #7497
  • LLVM bump to include upstream verifier performance fix. by @dtzSiFive in #7496

New Contributors

Full Changelog: firtool-1.80.1...firtool-1.81.0

firtool-1.80.1

06 Aug 19:38
firtool-1.80.1
bec0dea
Compare
Choose a tag to compare

What's Changed

  • [FIRRTL][Dedup] Improve diagnostic for failing to dedup due to public. by @dtzSiFive in #7426
  • [Arc] Fix crash in the arc canonicalizer produced by the KeepOneVecOp optimization by @elhewaty in #7429
  • [Arc] Make the canonicalizer shuffle the input vector elements before merging by @elhewaty in #7394
  • [ImportVerilog] Add rvalue assignment pattern support by @fabianschuiki in #7428
  • [OM] Add IntegerAttr -> Python int conversion by @seldridge in #7430
  • [FIRRTL][LowerDPI] Lower FIRRTL vector to an open array type by @uenoku in #7305
  • [Support] Add FVInt, a four-valued arbitrary precision integer by @fabianschuiki in #7422
  • [Python][OM] Handle BoolAttr's before IntegerAttr's. by @dtzSiFive in #7438

Full Changelog: firtool-1.80.0...firtool-1.80.1

firtool-1.80.0

02 Aug 18:00
firtool-1.80.0
20cb546
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: firtool-1.79.0...firtool-1.80.0

firtool-1.79.0

26 Jul 16:48
firtool-1.79.0
Compare
Choose a tag to compare

What's Changed

  • [ESI][Runtime] Publish Windows wheels by @teqdruid in #7363
  • [firtool][test] Check layer specialization options work. by @dtzSiFive in #7364
  • [SV][ExportVerilog] Add UnpackedOpenArrayType, cast op and emission by @uenoku in #7304
  • [ImportVerilog] Add basic function support by @fabianschuiki in #7349
  • [FIRRTL] Support layer-colored probes in force, force_initial. by @dtzSiFive in #7371
  • [PrepareForEmission][Prettify] Extend allowExprInClock to handle new verif ops by @uenoku in #7332
  • [FIRRTL] Add lowering support for inline layers by @rwy7 in #7322
  • [CI] Report failure of clang-tidy by @rwy7 in #7355
  • [ImportVerilog] Fix use after free by @fzi-hielscher in #7368
  • [StringDebugInfoPred] Workaround FusedLoc bytecode issue by @uenoku in #7375
  • [Seq] Fix ClockConstAttr definition to pass roundstrip test by @uenoku in #7379
  • [ESI runtime] Host memory service by @teqdruid in #7367
  • [CI][lit] Enable roundtrip tests in CI by @uenoku in #7377
  • [ESI] Separate data delay from signaling standard by @teqdruid in #7354
  • [Moore] Distinguish the dynamic and constant extract. by @hailongSun2000 in #7340
  • [circt-bmc] Add LowerToBMC Pass by @TaoBi22 in #7343
  • [FIRRTL][ProbesToSignals] Add pass to replace probes with signals. by @dtzSiFive in #7342

Full Changelog: firtool-1.78.1...firtool-1.79.0

What's Changed

  • [ESI][Runtime] Publish Windows wheels by @teqdruid in #7363
  • [firtool][test] Check layer specialization options work. by @dtzSiFive in #7364
  • [SV][ExportVerilog] Add UnpackedOpenArrayType, cast op and emission by @uenoku in #7304
  • [ImportVerilog] Add basic function support by @fabianschuiki in #7349
  • [FIRRTL] Support layer-colored probes in force, force_initial. by @dtzSiFive in #7371
  • [PrepareForEmission][Prettify] Extend allowExprInClock to handle new verif ops by @uenoku in #7332
  • [FIRRTL] Add lowering support for inline layers by @rwy7 in #7322
  • [CI] Report failure of clang-tidy by @rwy7 in #7355
  • [ImportVerilog] Fix use after free by @fzi-hielscher in #7368
  • [StringDebugInfoPred] Workaround FusedLoc bytecode issue by @uenoku in #7375
  • [Seq] Fix ClockConstAttr definition to pass roundstrip test by @uenoku in #7379
  • [ESI runtime] Host memory service by @teqdruid in #7367
  • [CI][lit] Enable roundtrip tests in CI by @uenoku in #7377
  • [ESI] Separate data delay from signaling standard by @teqdruid in #7354
  • [Moore] Distinguish the dynamic and constant extract. by @hailongSun2000 in #7340
  • [circt-bmc] Add LowerToBMC Pass by @TaoBi22 in #7343
  • [FIRRTL][ProbesToSignals] Add pass to replace probes with signals. by @dtzSiFive in #7342

Full Changelog: firtool-1.78.1...firtool-1.79.0

firtool-1.78.1

20 Jul 03:52
firtool-1.78.1
Compare
Choose a tag to compare

What's Changed

Full Changelog: firtool-1.78.0...firtool-1.78.1

firtool-1.78.0

19 Jul 16:24
firtool-1.78.0
7e78b93
Compare
Choose a tag to compare

What's Changed

Full Changelog: firtool-1.77.0...firtool-1.78.0

Firtool Release 1.77.0

12 Jul 21:54
2f8ba28
Compare
Choose a tag to compare

What's Changed

  • [FIRRTL][NFC] Move IST -> FieldRef to FIRRTLUtils.h by @dtzSiFive in #7135
  • [Docs][LTL] Add SVA Encodings to LTL rationale by @dobios in #7131
  • [FIRRTL] Enable Wire Elimination by @darthscsi in #7073
  • Capitalize Mode in github workflow. by @darthscsi in #7140
  • [ExportVerilog][HW] Introduce HWEmittableModuleLike interface and use it for Prepare, NFC by @uenoku in #7004
  • [FIRRTL][InferResets] Learn how to trace through nodes. by @dtzSiFive in #7141
  • [Moore] Introduce RefType and tweak the related ops. by @hailongSun2000 in #7095
  • [ExportVerilog] Support sv.func.* op emission by @uenoku in #7015
  • [Docs] Update Python bindings pip instructions by @leonardt in #7147
  • [Ibis] Divorce symbol and actual names in class and container ops by @mortbopet in #7123
  • [FIRRTL] Support abstract reset in RWProbeOp by @dtzSiFive in #7136
  • [FIRRTL] Cast to AnyRefType for metadata output port. by @mikeurbach in #7149
  • [Handshake] Fix canonicalizer not going through rewriter for RAUW. by @dtzSiFive in #7052
  • [MooreToCore] Add conversion support for module and instance. by @cepheus69 in #7132
  • [FIRRTL] Emulate tap-as-passive for no-ref-ports option. by @dtzSiFive in #7109
  • [FIRRTL][Parser] Never use forceable by @dtzSiFive in #7137
  • [FIRRTL] Bump minimum to 2.0.0, remove partial connect by @seldridge in #5075
  • [FIRRTL][Metadata] Add the path to the DUT, in the SiFive metadata class. by @prithayan in #7156
  • [firtool] Remove LTLToCore pass from verification-flavor=immediate pipeline by @dobios in #7157
  • [Moore] Introduce Mem2Reg to eliminate local variables by @hailongSun2000 in #7082
  • [Moore] Add the SimplifyProcedures pass. by @hailongSun2000 in #7161
  • [Sim] Add DPI func/call and lowering by @uenoku in #7042
  • [ExportVerilog] Avoid using interface pass for PrepareForEmission, NFCI by @uenoku in #7168
  • [FIRRTL] Add DPI call intrinsic and lowering pass by @uenoku in #7139
  • [FIRRTL][ExportVerilog] Emit integers on DPI function as two state C-compatible types and clarify ABI by @uenoku in #7163
  • [LowerDPI] Defer deletion of call ops to prevent inavlid access. by @fzi-hielscher in #7170
  • [FIRRTL] Add a new op interface for combinational loop detection. by @prithayan in #7120
  • [NFC][ExportVerilog] Rename generated options member. by @fzi-hielscher in #7172
  • [Moore] Add evenOp to handle event controls. by @hailongSun2000 in #7154
  • [ImportVerilog][MooreToCore]Lower moore.namedConstant to hw.constant & hw.wire by @mingzheTerapines in #7122
  • Bump llvm by @uenoku in #7167
  • [LowerDPI] Refactor the lowering logic to a helper struct, NFC by @uenoku in #7176
  • [NFCI][Conversion] Refactor TableGen Pass includes by @fzi-hielscher in #7174
  • [NFCI][Calyx] Refactor TableGen Pass includes by @fzi-hielscher in #7182
  • [NFCI][Transforms] Refactor TableGen Pass includes by @fzi-hielscher in #7173
  • [FIRRTL] Output directory control for layers and modules by @rwy7 in #6971
  • [Verif] Add PrepareForFormal pass by @dobios in #7175
  • [FIRRTL] Add pass to specialize layers by @youngar in #7160
  • Fix paths in tests for windows builds by @rwy7 in #7185
  • Add missing header includes by @rwy7 in #7187
  • [NFCI][Comb][HW][Seq] Refactor TableGen Pass includes by @fzi-hielscher in #7180
  • [NFCI][ESI][Ibis][MSFT] Refactor TableGen Pass includes by @fzi-hielscher in #7179
  • [NFCI][LLHD][Moore][SV][Verif] Refactor TableGen Pass includes by @fzi-hielscher in #7183
  • [FIRRTL][ExpandWhens] Add StmtExprVisitor to Visitor and Support DPI intrinsic in ExpandWhens by @uenoku in #7177
  • [SimToSV] Fix DPICall lowering to use replaceOp by @uenoku in #7192
  • [NFCI][FIRRTL] Refactor TableGen Pass includes by @fzi-hielscher in #7178
  • [ExportVerilog] Fix two state type emission of aggregate types by @uenoku in #7189
  • [FIRRTL][SpecializeLayers] Update doc with proper attribute name by @youngar in #7199
  • [NFCI][DC][FSM][Handshake][Pipeline] Refactor TableGen Pass includes by @fzi-hielscher in #7181
  • [NFCI][OM][SSP][SystemC] Refactor TableGen Pass includes by @fzi-hielscher in #7184
  • [FIRRTL][SpecializeLayers] Fix incorrect CF leading to double free by @youngar in #7200
  • [firtool] Move SpecializeLayers before LowerLayers by @youngar in #7201
  • [FIRRTL][CheckCombLoops] Verify that detection works with region ops by @youngar in #7198
  • [HW] Move the CombDataFlow op interface from FIRRTL to HW by @prithayan in #7195
  • [FIRRTL][NFC] Fast-path removeAnnotations for operations having none. by @dtzSiFive in #7203
  • [FIRRTL] AnnotationSet cleanups by @youngar in #7205
  • [ESI][PyCDE] Callback service by @teqdruid in #7153
  • [Moore] Support unconnected behavior by @cepheus69 in #7202
  • [CI] Add a job to remove cache created by short integrations tests by @uenoku in #7214
  • [Moore] Fix the stacking fault caused by cast and remove unused headers by @hailongSun2000 in #7219
  • [FIRRTL] LHSType wrapper to indicate writable values. by @darthscsi in #7117
  • [FIRRTL] SpecializeLayers: fix race condition by @youngar in #7218
  • [HW] Clean up HWTypes, NFC by @uenoku in #7209
  • README.md: remove link to dead build by @youngar in #7222
  • [FIRRTL][Verif][LTL] Replace ltl.disable with an enable folded into verif.assert by @dobios in #7150
  • [LowerClass] Run path tracking sequentially by @uenoku in #7221
  • [ESI Runtime] Replace Cap'nProto with gRPC by @teqdruid in #7217
  • [ESI Runtime] Read ports now invoke callbacks by @teqdruid in #7186
  • [CI] Revert to working image and disable ESI runtime by @teqdruid in #7237
  • [FIRRTL] Allow layers under when and match. by @dtzSiFive in #7234
  • [ESI Runtime] Rename cmake targets, create full build one by @teqdruid in #7238
  • Bump LLVM by @girishpai in #7223
  • [FIRRTL] lower-layers.mlir: fix incorrect op name in test by @youngar in #7232
  • [Moore] Add extra class declaration for RefType. by @hailongSun2000 in #7244
  • [Interop] Use properties for inherent attributes. by @dtzSiFive in #7235
  • [ImportVerilog] Support Generate constructs by @angelzzzzz in #7243
  • [NFC][Seq] Remove unnecessary dependency of Seq on SV by @TaoBi22 in #7247
  • [NFC][SV] Remove unnecessary dependency of SV on Verif by @TaoBi22 in #7249
  • [Moore] Add LowerConcatRef pass to handle concat_ref. by @hailongSun2000 in #7216
  • [ESI Runtime][NFC] Incorporate RPC server into ESICppRuntime by @teqdruid in #7241
  • [ESI Runtime] Avoid using CIRCT_* cmake variables by @teqdruid in #7256
  • [FIRRTL][ResolvePaths] Fix detection of agg target if alias. by @dtzSiFive in #7257
  • [MooreToCore] Fix parse error for parameter by @mingzheTerapines in #7253
  • [FIRRTL] Ensure hierpath considers owning module in LowerClasses. by @mikeurbach in #7272
  • [Arc] Add VectorizeOp canonicalization by @elhewaty in #7146
  • [Moore] To make SVModule having a graph region. by @hailongSun2000 in #7258
  • [FIRRTL] Add input and output names to DPI intrinsic by @uenoku in #7265
  • [ESI Runtime] Load backends as plugins by @teqdruid in #7260
  • [PyCDE] R...
Read more

Release sifive/1/5/7

24 Jun 16:21
d46d60f
Compare
Choose a tag to compare
Release sifive/1/5/7 Pre-release
Pre-release

What's Changed

Full Changelog: sifive/1/5/6...sifive/1/5/7

Firtool Release 1.76.0

05 Jun 11:43
c76eb12
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: firtool-1.75.0...firtool-1.76.0

Firtool Release 1.75.0

16 May 01:49
481cb60
Compare
Choose a tag to compare

What's Changed

  • [FIRRTL] Canoncializations of not( cmp ) by @darthscsi in #6957
  • Fix invalid rewriter API usages by @7FM in #6960
  • [NFC] LLVM Bump by @darthscsi in #6963
  • [HW] Moved and renamed arc/inlineModules to hw/flattenModules by @dobios in #6964
  • [firtool] btor2 integration by @dobios in #6947
  • [ExportVerilog] Ensure DivS/ModS are signed regardless of context. by @dtzSiFive in #6966
  • [FIRRTL][FIRParser] Add deprecation warning about printf/when-encoding. by @dtzSiFive in #6792
  • [FIRRTL] Error if asked to add a port to a public module. by @dtzSiFive in #6936
  • [Seq] Fix compreg printer printing two spaces by @Moxinilian in #6978
  • [FIRRTL] Drop dead ScalaClassAnnotation. by @dtzSiFive in #6981
  • [FIRRTL] Add inline convention to layers by @seldridge in #6980
  • [SMT] Add quantifier support to LLVM lowering by @maerhart in #6973
  • [Arc] Hoist reset value in CompReg when lowering for simulation by @Moxinilian in #6972
  • [LTL to Core] Add lowering for AssertProperty operations by @dobios in #6974
  • [NFCI] Document division and the rational for the handling of divide by zero by @darthscsi in #6962
  • [FIRRTL] docs: fullasync annotation targets signal not module. by @dtzSiFive in #6986
  • [firtool] Integrate AssertProperty lowering into BTOR2 pipeline by @dobios in #6975
  • [FIRRTL][InferResets] Fix fullasyncreset diag to use right name. by @dtzSiFive in #6987
  • [FIRRTL][Dedup] Alter dedup group handling, avoid exponential behavior. by @dtzSiFive in #6985
  • [CombToArith] Fix coarsening of division by zero UB by @maerhart in #6945
  • [Pipeline] Verify >0 result types for LatencyOp by @mortbopet in #6992
  • [DC] Add merge lowering by @mortbopet in #6943
  • [Handshake] Add merge decomposition pattern by @mortbopet in #6934
  • [CAPI][Moore] Remove deprecated types by @hovind in #6994
  • [FIRRTL][LowerAnnotations] Reject non-local fullasyncreset anno's. by @dtzSiFive in #6988
  • [NFC][clang-tidy] Disallow global 'using' directives in headers by @fzi-hielscher in #6998
  • [FIRRTL][SFCCompat] Fix tests and handling of fullasyncreset on non-port. by @dtzSiFive in #6984
  • [pycde] Disallow structs with zero fields by @teqdruid in #7000
  • [ImportVerilog] Fix unknown name caused by local variables. by @hailongSun2000 in #6995
  • [firtool] Add FlattenModulesPass to the btor2 emission pipeline by @dobios in #6999
  • [FIRRTL][NFC] Drop use of intmodule's in tests. by @dtzSiFive in #7008
  • [FIRRTL][LowerIntrinsics] Add stat and preserve if no changes. by @dtzSiFive in #6911
  • [FIRRTL] AnnoTarget: use LLVM style casts by @youngar in #7002
  • LLVM Bump by @dobios in #6993
  • [HW][LegalizeModules] Avoid segmentation fault by @hovind in #7013
  • [FIRRTL] Make input probes illegal by @dtzSiFive in #6921
  • [FIRRTL] Don't prefix an empty label for unclocked assume. by @dtzSiFive in #7016
  • [CAPI] Add circt-capi target and build it in CI by @fabianschuiki in #7017
  • [docs] Add cmake flags that reduce memory usage by @dobios in #7018
  • [HWToSMT][circt-lec] Resolve transitive !smt.bool -> i1 -> !smt.bv<1> casts. by @fzi-hielscher in #7006
  • [ARC][CAPI] Add basic C API for initializing ARC by @devins2518 in #6997
  • [Moore] Make simple bit vectors a proper MLIR type by @fabianschuiki in #7011
  • [AddSeqMemPorts] Add hierpathop to verbatim, instead of raw instance path by @prithayan in #7014
  • [docs] Add basic pass tutorial by @dobios in #7012
  • [FIRRTL] Add condition expansion for ExpandWhens on Property intrinsics by @dobios in #7021
  • [OM] Add IsolatedFromAbove to OMClass by @uenoku in #7020
  • [ESI][Runtime] Python wheel now provides cpp support by @teqdruid in #7001
  • cmake: circt install directory for CAPI by @dtzSiFive in #7028
  • [ESI][Runtime] Remove C++ includes from wheels by @teqdruid in #7032
  • [OM] Separates OM object fields verifier to a dedicated pass by @uenoku in #7026
  • [SV] Add sv.reserve_names op to disallow names by @teqdruid in #7024
  • [ESI][Runtime] Don't pull down JSON dependency if already defined by @teqdruid in #7033
  • [CombToSMT] Make result of div-by-zero undefined by @maerhart in #7025

Full Changelog: firtool-1.74.0...firtool-1.75.0