8000 [DSLX] Support array_rev and array_size in map IR conversion by cdleary · Pull Request #5296 · google/xls · GitHub
[go: up one dir, main page]

Skip to content

[DSLX] Support array_rev and array_size in map IR conversion - #5296

Open
cdleary wants to merge 1 commit into
google:mainfrom
xlsynth:cdleary/2026-11-06-map-array-builtins
Open

cdleary wants to merge 1 commit into
google:mainfrom
xlsynth:cdleary/2026-11-06-map-array-builtins

Conversation

@cdleary
@cdleary cdleary commented Nov 7, 2026
Copy link
Copy Markdown
Collaborator

DSLX bytecode accepts map([[x, !x]], array_rev) and map([[x, !x]], array_size), but IR conversion rejected both builtin names. Teach the converter to reverse each inner array or emit its length as a u32 when building the function applied by map.

Add two regression proofs to //xls/dslx/tests:map_prove_quickcheck_test. They check the results across element types and distinguish inner lengths from outer lengths.

Both proofs reproduced the converter errors before the fix and passed afterward. Clang-format, build-cleaner, Bant, and buildifier passed. The optimized //xls/... wildcard sweep passed all 2,206 selected tests. It excluded contrib, dev_tools, visualization, and five test targets with OpenROAD, Yosys, or Clang build dependencies.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0