Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: google/xls

v0.0.0-9308-gc8a4b1383

10 Jan 07:49

Choose a tag to compare

This change made single-argument constructors explicit.

Making single-argument constructors explicit avoids unintentional implicit conversions.

PiperOrigin-RevId: 854188570

v0.0.0-9299-g790959d16

09 Jan 07:54

Choose a tag to compare

[codegen 1.5] Port & convert module signature generation to a pass

This pass runs on all blocks without signatures in a package and populates them. The latency calculation for pipelined blocks is simplified to use the schedule information, if present.

For signature preservation, we also update block cloning to clone the signature and initiation interval.

PiperOrigin-RevId: 853909739

v0.0.0-9294-g4555839e1

08 Jan 07:52

Choose a tag to compare

[codegen 1.5] Improve handling of `invoke` nodes, working towards FFI…

v0.0.0-9289-g2a8f3b590

07 Jan 07:52

Choose a tag to compare

[codegen 1.5] Add reset requirement for valid-output control

If lowering a function with a valid-output control signal, we should always have a reset signal; otherwise we can end up with (pipeline_depth - 1) cycles of garbage at the valid-output signal, potentially signaling "valid" when the output is very much not valid. This required adding reset signal support to our unit tests' RunFunctionalTest logic for this pass.

While we're at it, we also ensure that the source return value is always available in the last pipeline stage by inserting an identity node if necessary - which can be necessary when lowering a no-op function that directly returns one of its inputs. (This mostly only comes up in testing.)

PiperOrigin-RevId: 853045608

v0.0.0-9282-ge3d2852ae

06 Jan 07:54

Choose a tag to compare

Enable previously-failing crasher.

Fixes google/xls#3269.

PiperOrigin-RevId: 852441042

v0.0.0-9268-gc04bf946d

05 Jan 07:56

Choose a tag to compare

Integrate LLVM at llvm/llvm-project@11d9694b757b

Updates LLVM usage to match
[11d9694b757b](https://github.com/llvm/llvm-project/commit/11d9694b757b)

PiperOrigin-RevId: 852027392

v0.0.0-9267-g2ae55dba5

04 Jan 07:52

Choose a tag to compare

[codegen 1.5] Make channel lowering respect placeholders

Our node utility function ReplaceWithAnd previously unconditionally dropped all-ones literals - which caused some substantial errors in context of Codegen 1.5's use of literals as placeholders. We instead explicitly block this behavior, while still leaving the utility functions fully flexible for convenience.

While we're at it, we upgrade the utility functions to be able to combine arbitrary literals into a single literal when requested.

PiperOrigin-RevId: 851840930

v0.0.0-9265-g7036f3509

03 Jan 07:49

Choose a tag to compare

[codegen 1.5] Fix a pipeline-register insertion bug for I/O & state o…

v0.0.0-9256-g91f903e9c

01 Jan 07:53

Choose a tag to compare

Integrate LLVM at llvm/llvm-project@14c00c05c13a

Updates LLVM usage to match
[14c00c05c13a](https://github.com/llvm/llvm-project/commit/14c00c05c13a)

PiperOrigin-RevId: 850765800

v0.0.0-9255-gef13f547b

31 Dec 07:50

Choose a tag to compare

[codegen 1.5] Implement ChannelToPortIoLoweringPass.

This pass transforms channel operations (Send/Receive) within a `ScheduledBlock` into either block ports or FIFO instantiations.

We also add support for zero-latency, skid, and single-flop buffering on streaming I/O channels. We port helper functions from codegen 1.0 to add registers and the necessary control logic for Ready/Valid/Data interfaces, though we make it simpler by constructing skid buffers as the combination of a zero-latency & register buffer.

Features not yet supported:
- Gating received data (for predicated or non-blocking receives)

PiperOrigin-RevId: 850524913