drift

⚠ VERY EXPERIMENTAL — early prototype, numbers may be wrong or change

drift is a regression-tracking harness: it walks a compiler's git history, builds each commit, and records compiler metrics per commit so regressions surface as the code evolves. It memoizes builds and measurements, so re-running only does new work. This instance tracks register usage, code size, instruction count and segment sizes for a no-LLVM AMDGCN backend of the Zig compiler, measured against a fixed suite of GPU kernels. Each metric is a pluggable tracker. Click a commit for its build report and to download the compiler; dimmed rows are non-backend commits, kept for continuity.

text_bytes (max 80)

● empty.zig● splat.zig● store_const.zig

instructions (max 13)

● empty.zig● splat.zig● store_const.zig

sgpr (max 8, lower is better)

● empty.zig● splat.zig● store_const.zig

vgpr (max 3, lower is better)

● empty.zig● splat.zig● store_const.zig

kernarg_bytes (max 24)

● empty.zig● splat.zig● store_const.zig

lds_bytes (max 1)

● empty.zig● splat.zig● store_const.zig

scratch_bytes (max 1)

● empty.zig● splat.zig● store_const.zig
datebranchcommitsubjectbuildmeasures
2026-07-05amdgcn-backend77c455c2b7 amdgcn: lower loads and stores through any number of pointer argumentscompiler3 ok
2026-07-04amdgcn-backend8f1b45144a amdgcn: lower a kernel that stores through a pointer argumentcompiler1 failed
2026-07-04amdgcn-backend8dd73110ac amdgcn: derive target string, wavefront size and e_flags from the targetcompiler3 ok
2026-07-04amdgcn-backend52e0a7ed7b amdgcn: derive s_endpgm and descriptor from named fieldscompiler3 ok
2026-07-04amdgcn-backend776cf8d97b amdgcn: native backend emits an empty kernelcompiler3 ok
2026-07-03amdgcn-backend306b4700eb lab: hand-built empty amdgcn kernel + HSA dispatchsame-as-parent-
2026-07-03amdgcn-backend2f7e082381 libc: Add missing macOS mach-o headerssame-as-parent-
2026-07-03amdgcn-backendfd62635d78 ci: bump aarch64-linux-release timeout by 1 hoursame-as-parent-