Closed
Description
Setting up:
choco install sccache
cd llvm\build
python.exe ..\buildbot\configure.py --cmake-opt="-DCMAKE_C_COMPILER_LAUNCHER=sccache" --cmake-opt="-DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
ninja sycl-toolchain
sccache recommends using /Z7
instead of /Zi
flag. See here: https://github.com/mozilla/sccache
Example error logs:
sccache C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1430~1.307\bin\Hostx64\x64\cl.exe /nologo /TP -DCL_TARGET_OPENCL_VERSION=220 -DSYCL2020_DISABLE_DEPRECATION_WARNINGS -DUNICODE -DXPTI_ENABLE_INSTRUMENTATION -DXPTI_STATIC_LIBRARY -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__SYCL_BUILD_SYCL_DLL -D__SYCL_INTERNAL_API -ID:\a\llvm\llvm\build\tools\sycl\source -ID:\a\llvm\llvm\src\sycl\source -ID:\a\llvm\llvm\build\include -ID:\a\llvm\llvm\src\llvm\include -ID:\a\llvm\llvm\src\xpti\include -ID:\a\llvm\llvm\src\sycl\include -external:ID:\a\llvm\llvm\build\_deps\ocl-headers-src -external:W0 /WX /W4 /DWIN32 /D_WINDOWS /Zc:inline /Zc:__cplusplus /Zc:strictStrings /Oi /Zc:rvalueCast /bigobj /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd4324 -w14062 -we4238 /Gw /EHsc /FS /Zi /O2 /Ob2 -wd4[99](https://github.com/intel/llvm/runs/5172608217?check_suite_focus=true#step:7:99)6 -UNDEBUG /MD -std:c++17 /showIncludes /Fotools\sycl\source\CMakeFiles\sycl_object.dir\backend\level_zero.cpp.obj /Fdtools\sycl\source\CMakeFiles\sycl_object.dir\ /FS -c D:\a\llvm\llvm\src\sycl\source\backend\level_zero.cpp
D:\a\llvm\llvm\src\sycl\source\backend\level_zero.cpp: fatal error C1041: cannot open program database 'D:\a\llvm\llvm\build\tools\sycl\source\CMakeFiles\sycl_object.dir\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS