Repository navigation
fix(ci): silence clang's fp-override driver note so the SYCL tidy lane measures the x86 SIMD units - #1867
Merged
Conversation
…e measures the x86 SIMD units (#1867) * fix(ci): silence clang's fp-override driver note so the SYCL tidy lane measures the x86 SIMD units Since ADR-1461 (#1829) made the strict FP arguments project-wide, a target that also names them compiles with `-fp-model=precise -ffp-contract=off` twice. icx accepts the repeat. After the wrapper's `-fp-model=` to `-ffp-model=` rewrite, stock clang's driver prints `warning: overriding '-ffp-model=precise' option with '-ffp-contract=off'`, without a source location. The ratchet fails closed on a warning it cannot place, so 151 of the 1 706 translation units of an icx build (the x86 SIMD libraries, core/src/dnn, their tests) were compile failures and `make tidy-ratchet LANE=sycl` exited 4. scripts/ci/clang-tidy-sycl.sh passes -Wno-overriding-option. The build's argument order is the intended one and no check is disabled. Measured on ryzen-4090-arc: vif_avx2.c, convolution_avx.c, psnr_avx2.c and motion_avx2.c are 4 compile failures with the old wrapper and 0 with this one. test_tidy_ratchet.py gains three cases; two fail on the old wrapper. Closes T-SYCL-TIDY-OVERRIDING-OPTION-2026-10-02.
lusoris
force-pushed
the
fix/sycl-tidy-overriding-option
branch
from
October 2, 2026 15:55
dfc2ff1 to
fb87c7f
Compare
This was referenced Oct 2, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
make tidy-ratchet LANE=syclhas exited 4 on master since #1829: 151 of the 1 706 translation units of an icx build are reported as compile failures, so no baseline entry of the x86 SIMD libraries,core/src/dnn/or their tests can be measured or tightened in that lane. One line inscripts/ci/clang-tidy-sycl.shfixes it.Cause
vmaf_strict_fp_argsa project argument. A target that also names it compiles with-fp-model=precise -ffp-contract=off -fp-model=precise -ffp-contract=off. icx accepts the repeat.-fp-model=to clang's-ffp-model=in a copy of the compile database. Stock clang's driver then printswarning: overriding '-ffp-model=precise' option with '-ffp-contract=off' [clang-diagnostic-overriding-option], with no file and no line.scripts/ci/tidy-ratchet.pyfails closed on a warning it cannot place: the unit counts as a compile failure and the lane exits 4.The compile commands are right as built (contraction off comes last), so the wrapper passes
-Wno-overriding-optionnext to the two driver suppressions it already had. No check is disabled and no build argument changes.Verified on
ryzen-4090-arcvif_avx2.c,convolution_avx.c,psnr_avx2.c,motion_avx2.cin thesycllanepython3 -B -m unittest discover -s scripts/ci/tests -p 'test_tidy_ratchet.py'The three new cases (
SyclWrapperDriverWarnings): the ratchet's parser marks the driver warning as a failure (the reason the wrapper has to silence it); the wrapper hands-Wno-overriding-optionto clang-tidy (a fake tool, no oneAPI needed); real clang-tidy, when installed, measures a unit built with the repeated pair with exit 0 and without the warning (skipped where clang-tidy is absent).Not run: the whole
sycllane (1 706 units). The count of 151 is read from the compile database; four of them were measured.Type
feat— new featurefix— bug fixperf— performance improvementrefactor— no behavior changedocs— documentation onlytest— test-onlybuild/ci— tooling / infraport— cherry-pick from upstream Netflix/vmafsycl/cuda/simd— backend-specificChecklist
make format && make lintis green locally. (The commit hooks on the touched files: shfmt, shellcheck, ruff, black, markdownlint.)python3 scripts/ci/run_meson_test.py -- -C build. (No C source changes; the script's own suite: 43 of 43.)/cross-backend-diffand the worst ULP is ≤ 2. (No source file is touched.).c/.cpp/.cu/.h/.hpp, it has the appropriate license header (seeCONTRIBUTING.md). (None added.)!orBREAKING CHANGE:and the migration path is documented below. (Not breaking.)docs/adr/_index_fragments/<NNNN-slug>.md. (No ADR: a one-line repair of an existing wrapper; ADR-1290 and ADR-1461 stand.)Bug-status hygiene (ADR-0165)
docs/state.mdupdated in this PR.T-SYCL-TIDY-OVERRIDING-OPTION-2026-10-02, found and closed.Netflix golden-data gate (ADR-0024)
assertAlmostEqual(...)score in the Netflix golden Python tests.Deep-dive deliverables (ADR-0108)
AGENTS.mdinvariant note —scripts/ci/AGENTS.d/sycl-tidy-lane.md, "The wrapper silences one driver note".changelog.d/fixed/sycl-tidy-overriding-option.md.docs/rebase-notes.md, "SYCL tidy wrapper:-Wno-overriding-option".Reproducer
Known follow-ups