Skip to content

Tags: google/xls

Tags

v0.0.0-9265-g7036f3509

Toggle v0.0.0-9265-g7036f3509's commit message
[codegen 1.5] Fix a pipeline-register insertion bug for I/O & state o…

…perands

After I/O lowering, we previously ended up moving the use of the operands into logic outside of the pipeline stages. Since pipeline register insertion happened after that point, it would think the uses did not need pipeline registers, accidentally linking (e.g.) Sends directly to their inputs with no intervening registers.

To fix this, we temporarily route these uses through identity nodes in the stage where the operation was scheduled, and rely on our dataflow & identity cleanup passes to remove them later.

The same principle applies to state-write operations too.

This lets us re-enable the `BasicDatapathResetAndInputFlop` test.

PiperOrigin-RevId: 851457571

v0.0.0-9256-g91f903e9c

Toggle v0.0.0-9256-g91f903e9c's commit message
Integrate LLVM at llvm/llvm-project@14c00c05c13a

Updates LLVM usage to match
[14c00c05c13a](llvm/llvm-project@14c00c05c13a)

PiperOrigin-RevId: 850765800

v0.0.0-9255-gef13f547b

Toggle v0.0.0-9255-gef13f547b's commit message
[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

v0.0.0-9252-gdb239302e

Toggle v0.0.0-9252-gdb239302e's commit message
Enable previously-failing crasher.

Fixes #2011.

PiperOrigin-RevId: 850211109

v0.0.0-9245-gdc4a90b64

Toggle v0.0.0-9245-gdc4a90b64's commit message
Enable reproducer now that #2674 is closed.

PiperOrigin-RevId: 849458453

v0.0.0-9244-g7e3f3bba2

Toggle v0.0.0-9244-g7e3f3bba2's commit message
[util] Generalize literal dropping in `RemoveRedundantNodes`.

The `RemoveRedundantNodes` utility now accepts a function to specify which literals should be dropped, making it more flexible. The logic for handling empty operand sets after removal is moved to the call sites in `MakeNaryAnd`, `MakeNaryOr`, and `MakeNaryNand`. This also simplifies the flattening logic in `MakeNaryAnd` and `MakeNaryOr` by deferring literal removal to `RemoveRedundantNodes`.

PiperOrigin-RevId: 849276239

v0.0.0-9240-g72b4fbe6a

Toggle v0.0.0-9240-g72b4fbe6a's commit message
Merge pull request #3363 from xlsynth:siruilu-20251111-removing-membe…

…rs-not-just-functions

PiperOrigin-RevId: 848366858

v0.0.0-9236-gf5beb2e20

Toggle v0.0.0-9236-gf5beb2e20's commit message
Migrates `builder.create<Op>()` => `Op::create()` in tablegen files

PiperOrigin-RevId: 847796796

v0.0.0-9235-gb179d691e

Toggle v0.0.0-9235-gb179d691e's commit message
[xlscc] Use empty LeafTypeTree for type indexing instead of GetLeafTypes

This change updates the continuation analysis to use xls::LeafTypeTree for representing and checking the types of source nodes, replacing the previous method of using flat vectors of leaf types via an internal function not intended for public use.

PiperOrigin-RevId: 846881182

v0.0.0-9227-g71cff2261

Toggle v0.0.0-9227-g71cff2261's commit message
Implement state to register I/O lowering pass in codegen v1.5.

PiperOrigin-RevId: 846495277