Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check preconditions #31

Merged
merged 2 commits into from
Aug 26, 2024
Merged

Check preconditions #31

merged 2 commits into from
Aug 26, 2024

Commits on Aug 26, 2024

  1. Introduce a rigorous precondition checking facility

    For now only the existing `invoke_ub` were converted to use it.
    
    This is only enabled starting from GCC 10 as GCC 9 seems to fail
    preconditions at compile-time where it should not.
    
    ChangeLog:
    
    	* README.md: Document VIR_CHECK_PRECONDITIONS.
    	* testsuite/tests/mask_reductions.cc: Guard function calls with
    	precondition behind constexpr-if.
    	* vir/simd.h (detail::unreachable): New / moved from
    	simd_execution.h.
    	(detail::trap): New.
    	(detail::invoke_ub): Moved up with behavior dependent on
    	VIR_CHECK_PRECONDITIONS.
    	(vir_simd_precondition): New macro.
    	(simd, simd_mask): Replace invoke_ub with vir_simd_precondition.
    	* vir/simd_execution.h (detail::unreachable): Moved to simd.h.
    mattkretz committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    5e77196 View commit details
    Browse the repository at this point in the history
  2. Also check GCC 10 and 12

    ChangeLog:
    
    	* .github/workflows/CI.yml: Add 10 and 12 to the GCC matrix.
    mattkretz committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    ab3bde0 View commit details
    Browse the repository at this point in the history