Skip to content

ci: switch to LLVM source-based coverage & expand benchmark scenarios - #39

Merged
sentomk merged 1 commit into
mainfrom
ci/llvm-coverage-and-bench
Jul 30, 2026
Merged

sentomk merged 1 commit into
mainfrom
ci/llvm-coverage-and-bench

Conversation

@sentomk

@sentomk sentomk commented Jul 30, 2026 •

Copy link
Copy Markdown
Owner

Summary

Switch CI coverage from gcc gcov to LLVM source-based coverage, and expand benchmark scenario coverage from 4 to 10 scenarios.

Changes

  • Coverage: --coverage (gcc gcov) -> -fprofile-instr-generate -fcoverage-mapping (Clang 18 source-based), using llvm-profdata-18 merge + llvm-cov-18 export instead of lcov. IIFE/macro expansions are now correctly attributed.
  • Benchmark filter: 4 -> 10 scenarios, adding VariantAltHot, VariantMixedGuarded, VariantAltHotGuarded, PacketMixedHeavyBind, LiteralMatch, LiteralMatchRDense.
  • Chart adaptation: figure height and axes area dynamically scale with scenario count; y-axis label font shrinks for >6 scenarios to prevent overlap.

Testing

CI fully passing: coverage job (clang-18 LLVM source-based) pass, build-and-test pass, full matrix compilation pass. Benchmark job conditionally runs only on merge to main (if: github.event_name == 'push' && github.ref == 'refs/heads/main').

@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@sentomk
sentomk force-pushed the ci/llvm-coverage-and-bench branch from ec3d852 to f0342a2 Compare July 30, 2026 15:35
@sentomk
sentomk merged commit ec26137 into main Jul 30, 2026
22 checks passed
@sentomk
sentomk deleted the ci/llvm-coverage-and-bench branch July 30, 2026 16:39
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