Add a cross-target LLVM regression matrix for payload variants
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
## Problem
Payload variants now have runtime coverage on native hosts and WebAssembly, but the compiler regression suite does not systematically emit variant IR for every advertised target. Target-specific type layout or lowering regressions can therefore reach CI indirectly or remain unnoticed.
## Scope
- Add a focused Rust regression that iterates the compiler's advertised target triples.
- Emit LLVM IR, or an object where the environment supports it, without requiring a linker or sysroot.
- Cover tags, generic and nested payloads, pointer recursion, constants, statics, and interaction with arrays/structs.
- Assert successful compilation and the expected target metadata rather than matching unstable full IR text.
- Keep the test resource-conscious and compatible with the repository's normal CI jobs.
## Acceptance criteria
- Variant lowering is exercised for x86-64, AArch64, RISC-V 64, WebAssembly, and the other advertised target triples.
- The test needs no cross linker, emulator, network, or external sysroot.
- Backend panics and unsupported-target regressions fail with a focused test name.
Contributor guide
Research direction
Start by locating the compiler regression suite and the code that enumerates advertised target triples. Run the existing regression tests to understand how LLVM IR or objects are produced without a linker or sysroot. Done means focused coverage for the listed payload variants across x86-64, AArch64, RISC-V 64, WebAssembly, and other advertised targets, with successful compilation and target metadata assertions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100