llvm
43ead3e2 - [SYCL] Split vec into layers and reduce builtins include cost (#21786)

Commit
146 days ago
[SYCL] Split vec into layers and reduce builtins include cost (#21786) [SYCL] Split vec into core/arith layers and reduce builtins include cost This change splits the vec implementation into lighter internal layers and retargets builtins to depend only on the vec core they actually need. The vec implementation is reorganized as: - detail/vector_traits.hpp: shared traits/configuration - detail/vector_core.hpp: vec/swizzle core - detail/vector_arith.hpp: operator layer - vector.hpp: public wrapper that includes core + arith With that split in place, detail/builtins/builtins.hpp now depends on the vec core directly instead of pulling in the full public vec header and its operator machinery. Sources and tests that actually require vec operators include <sycl/vector.hpp> explicitly. This keeps the public API unchanged while reducing transitive parse work for translation units that only need builtins. For a translation unit containing only #include <sycl/builtins.hpp> an include-trace measurement shows: - 265 -> 232 total include events - 211 -> 184 distinct headers - 385.887 ms -> 249.731 Depends on #21698
Author
Parents
Loading