google / google/xls

API to enable tracing back JIT/IR values back to DSLX structs.

Open
#739 0 comments 0 reactions 0 assignees View on GitHub
dslx ir jit optimizer
Dominant language
C++
Stars
1.9k
Forks
283
Avg merge
2d 10h
Merged PRs (30d)
135

Description

For test and verification, a workflow we want to support is to convert DSLX into IR and then run vectors through the DSLX via IR JIT.

When something goes wrong, or the results are unexpected we should be able to convert specific signal value as understood by the IR (ex. a proc state, a channel receive/send value, etc...) and map it back into the original DSLX. If that signal value came from a DSLX struct originally it should be possible to map it back to individual named struct fields.

This item is to create an API such that given an IR value, the DSLX struct representation is returned (ex. as a string).

Note that this may be complicated due to optimizations between the DSLX and the final IR. For example, if the desired signal value is a state element multiple optimizations may have modified things (ex. state minimization, state tuple expansion, proc inlining, etc...)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.