Skip to content

treewide: Improve cluster integration, bump to common_cells v2 and LLVM 22.1.7 - #318

Merged
colluca merged 50 commits into
developfrom
common-cells-v2
Jul 22, 2026
Merged

treewide: Improve cluster integration, bump to common_cells v2 and LLVM 22.1.7#318
colluca merged 50 commits into
developfrom
common-cells-v2

Conversation

@colluca

@colluca colluca commented May 16, 2026

Copy link
Copy Markdown
Collaborator

HW

  • Always offload unsupported instructions to CV-X-IF interface instead of raising illegal instruction. Only raise illegal instruction if no coprocessor supports the instruction.
  • Bump riscv-opcodes
    • Change FREP encoding to not use custom imm12i format
    • Replace Xpulppostmod with Xcvmem
    • Fix Xpulpvect instructions
    • Remove all FPalt instructions (same encoding as non-alternate formats)
  • Bump cluster_icache with L0 bug fix
  • Bump common_cells to v2.0.0-beta.2
  • Enable FDIV/FSQRT unit by default. New toolchain doesn't have -mno-fdiv support.
  • Replace Xpulppostmod with equivalent Xcvmem extension
  • Fix imm6 bug in IPU
  • Bump fpnew and update FPU configuration
  • Cut combinational path through is_acc_inst
  • Fix Spyglass errors and warnings with cluster wrapper as top
  • Cleanly separate snitch_cluster_pkg, snitch_cluster_wrapper and snitch_cluster_wrapper_pkg. The latter is the only auto-generated file, and should exclusively serve as input to tie off parameters in the cluster wrapper and testbench files. All other files should get their parameters through the module hierarchy from the snitch_cluster top module interface.

SW

  • Update code for new LLVM 22 toolchain
    • Remove DMA intrinsics and DMCPYI instructions (why the latter?)
    • Remove all use of custom compiler intrinsics
  • Update toolchain flags
  • Really enable Xpulp extension tests (were guarded by a wrong, never-defined macro)
  • Replace Xpulppostmod with equivalent Xcvmem extension
  • Guard Xsmallfloat tests based on ISA support
  • Fix xpulp_postinc and xpulp_vect* tests
  • Add missing clobber in PI estimation kernel
  • Fix DMA transfers in softmax kernel
  • Disable softmax, FlashAttention and MHA kernels: LLVM 22 exp function implementation excites Snitch's memory ordering bug
  • Replace ceil(log2) with __builtin_clz in snrt_global_reduction_dma. log2 function in LLVM 22 excites Snitch's memory ordering bug

Misc

  • Disable conflicting Xsmallfloat extension on Mempool config
  • Extend iis-setup.sh to clone submodules
  • Protect Python setup from known uv race condition bug using flock. Fixes CI after Gitlab pipelines got clean HOME directory.
  • Move Spyglass flow to free repository and extend top to cluster wrapper
  • Prevent tracer from parsing invalid machine codes e.g. logged while instruction frontend is stalled
  • Clean up Bender targets, adopting the conventional tb and test targets
  • Replace the custom Make-managed nonfree repo integration with a standard submodule-based integration. This submodule specifically is configured with update=none, so it is not cloned/updated by default, protecting setups without nonfree access.
  • Align system integration docs to new cluster generation method, and track generated cluster wrapper package until there is a Bender release including script: apply override_files before validation and slang bender#331
  • Bump pulp-actions so gitlab-ci action shows link to Gitlab pipeline before terminating
  • Fix processing of zero-sized DMA transfers in tracer
  • Remove default job timeout in Gitlab CI, since this field is not supported (it is in fact ignored)

@colluca
colluca force-pushed the common-cells-v2 branch 15 times, most recently from cdab720 to 9c81414 Compare June 2, 2026 12:00
@colluca
colluca force-pushed the common-cells-v2 branch from 9c81414 to 420d568 Compare June 2, 2026 14:31
@colluca
colluca force-pushed the common-cells-v2 branch 3 times, most recently from da78da0 to f445556 Compare June 23, 2026 15:50
@colluca
colluca force-pushed the common-cells-v2 branch 11 times, most recently from 135e865 to d4a14c2 Compare July 6, 2026 09:23
@colluca colluca changed the title treewide: Bump common_cells to v2 treewide: Improve cluster integration, bump to common_cells v2 and LLVM 22.1.7 Jul 21, 2026
@colluca
colluca marked this pull request as ready for review July 22, 2026 06:48
@colluca
colluca requested a review from fischeti as a code owner July 22, 2026 06:48
@colluca
colluca merged commit 4fb60ac into develop Jul 22, 2026
25 of 26 checks passed
@colluca
colluca deleted the common-cells-v2 branch July 22, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant