asavonic added a comment. In https://reviews.llvm.org/D51544#1227313, @Anastasia wrote:
> Currently the main header still contains everything, so the size of the PCH > won't change. The idea is that we don't pre-compile the whole opencl-c.h, we split it into several headers (3 of them are target independent) and pre-compile them instead. With this approach, we can reuse target-independent PCHs (common, fp16, fp64) and only duplicate target-specific PCHs if needed (opencl-c-platform.h). The idea is basically: 1. Compile target-independent headers into modules: - opencl-c-common.h -> opencl-c-common.pcm - opencl-c-fp16.h -> opencl-c-fp16.pcm - opencl-c-fp64.h -> opencl-c-fp64.pcm 2. Implicitly include opencl-c.h (plain header), which has the following content: #include "opencl-c-common.h" #if cl_khr_fp16 #include "opencl-c-fp16.h" #endif #if cl_khr_fp64 #include "opencl-c-fp16.h" #endif #include "opencl-c-platform.h" When compiler reaches an #include statement in opencl-c.h, it loads a corresponding PCH. Headers that were not pre-compiled are included as usual. Repository: rC Clang https://reviews.llvm.org/D51544 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits