Differential testing of the two RISC-V instruction selectors. For every llc RUN line in
llvm/test/CodeGen/RISCV/*.ll, the input is compiled with -global-isel=0 and with
-global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*. Mutants come from
ir-mutate, a standalone driver for llvm/lib/FuzzMutate.
Function statuses: identical (same asm after label normalization), different (same instruction count), better/worse (GlobalISel emits fewer/more instructions), fallback (GlobalISel gave up and SelectionDAG was used). crash counts configurations where GlobalISel llc failed but SelectionDAG succeeded.
Snippets are the smallest candidate that reproduces the finding with the local llc: the single function
extracted with llvm-extract (for crashes, the first function that reproduces), optionally
reduced with llvm-reduce. Compiler Explorer links are created only after compiling the snippet
remotely on every pane in the link; the verdict compares the remote result with the local one.
"reproduces" means the same category on trunk; anything else usually means trunk moved on.
Older runs keep only their summary and findings table; snippets and occurrences are kept for the most recent runs of each label. Source: zeyi2/llvm-fuzz.
python3 isel_diff.py --mutate 5 python3 fuzz_site.py [--label NAME] [--reduce] [--no-godbolt]
Generated 2026-10-15 08:05 UTC.