llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.08k stars 11.99k forks source link

16.0.0 Segmentation fault optimizing libomptarget-nvptx-sm_X.bc (same as #61399) #61521

Open hpcpony opened 1 year ago

hpcpony commented 1 year ago

I'm getting Segmentation faults trying to build 16.0.0 from source.

[user@buildh build.buildh.nocuda]$ cmake                                            \
? -DLLVM_TARGETS_TO_BUILD=X86                                                      \
? -DCMAKE_C_COMPILER=${HOST_GCC}/bin/gcc                                           \
? -DCMAKE_CXX_COMPILER=${HOST_GCC}/bin/g++                                         \
? -DCMAKE_BUILD_TYPE="Release"                                                     \
? -DLIBOMP_ARCH="x86_64"                                                           \
? -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN="OFF" -DLIBOMPTARGET_BUILD_CUDA_PLUGIN="OFF"  \
? -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}                                         \
? -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;cross-project-tests;flang;libclc;lld;lldb;mlir;openmp;polly;pstl" \
? -DLLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;libcxxabi;libunwind"             \
? -DGCC_INSTALL_PREFIX=${HOST_GCC}                                                 \
? -DCMAKE_CXX_LINK_FLAGS="-L${HOST_GCC}/lib64 -Wl,-rpath,${HOST_GCC}/lib64"        \
? ../llvm
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
  .
  .
  .
-- Found LIBOMPTARGET_DEP_LIBFFI: /usr/lib64/libffi.so  
-- Could NOT find LIBOMPTARGET_DEP_CUDA_DRIVER (missing: LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES) 
-- Could NOT find LIBOMPTARGET_DEP_VEO (missing: LIBOMPTARGET_DEP_VEO_LIBRARIES LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS) 
-- OMPT target enabled
-- OpenMP tools dir in libomptarget: /scratch/src/llvm-project-16.0.0.src/build.buildh.nocuda/projects/openmp/runtime/src
-- LIBOMPTARGET: Building offloading runtime library libomptarget.
-- LIBOMPTARGET: Not building aarch64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building AMDGPU offloading plugin: LIBOMPTARGET_BUILD_AMDGPU_PLUGIN is false
-- LIBOMPTARGET: Not building CUDA offloading plugin: LIBOMPTARGET_BUILD_CUDA_PLUGIN is false
-- LIBOMPTARGET: Not building PPC64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building nec-aurora plugin: libveo or libveosinfo not found.
-- LIBOMPTARGET: Building x86_64 offloading plugin.
-- LIBOMPTARGET: Not building aarch64 NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building AMDGPU NextGen offloading plugin: LIBOMPTARGET_BUILD_AMDGPU_PLUGIN is false
-- LIBOMPTARGET: Not building CUDA NextGen offloading plugin: LIBOMPTARGET_BUILD_CUDA_PLUGIN is false
-- LIBOMPTARGET: Not building PPC64 NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Building x86_64 NextGen offloading plugin.
-- LIBOMPTARGET: Building DeviceRTL. Using clang from in-tree build
-- LIBOMPTARGET: Building the llvm-omp-device-info tool
-- LIBOMPTARGET: Building the llvm-omp-kernel-replay tool
   .
   .
   .
[ 35%] Built target omptarget-nvptx-sm_37-bc
[ 35%] Scanning dependencies of target omptarget-nvptx-sm_50-bc
[ 35%] Building LLVM bitcode Configuration.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Debug.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Kernel.cpp-sm_50.bc
[ 35%] Building LLVM bitcode LibC.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Mapping.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Misc.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Parallelism.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Reduction.cpp-sm_50.bc
[ 35%] Building LLVM bitcode State.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Synchronization.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Tasking.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Utils.cpp-sm_50.bc
[ 35%] Building LLVM bitcode Workshare.cpp-sm_50.bc
[ 35%] Linking LLVM bitcode libomptarget-nvptx-sm_50.bc
[ 35%] Internalizing LLVM bitcode libomptarget-nvptx-sm_50.bc
[ 35%] Optimizing LLVM bitcode libomptarget-nvptx-sm_50.bc
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module /scratch/src/llvm-project-16.0.0.src/build.buildh.nocuda/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_50.bc -o /scratch/src/llvm-project-16.0.0.src/build.buildh.nocuda/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt             0x0000000001e024e1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 225
1  opt             0x0000000001dfff74
2  libpthread.so.0 0x00007f3604cbe630
3  libc.so.6       0x00007f3603ce9f9e
4  opt             0x0000000001d90a2c llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) + 380
5  opt             0x000000000165c1e3 llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) + 243
6  opt             0x00000000016566c6 llvm::Value::setNameImpl(llvm::Twine const&) + 390
7  opt             0x00000000016567f9 llvm::Value::setName(llvm::Twine const&) + 9
8  opt             0x0000000001f62296 llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) + 2886
9  opt             0x0000000001f6b402 llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) + 3474
10 opt             0x0000000001f6c0d1 llvm::PredicateInfoBuilder::buildPredicateInfo() + 2497
11 opt             0x0000000001f6c3b3 llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) + 291
12 opt             0x00000000017d935b
13 opt             0x00000000017d9b6e
14 opt             0x00000000017dbeaa llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 346
15 opt             0x000000000216083e
16 opt             0x000000000162df2f llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 911
17 opt             0x0000000000813a34 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 5796
18 opt             0x00000000007627e1 main + 10161
19 libc.so.6       0x00007f3603ba1555 __libc_start_main + 245
20 opt             0x0000000000806d46
/bin/sh: line 1: 21945 Segmentation fault      ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module /scratch/src/llvm-project-16.0.0.src/build.buildh.nocuda/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_50.bc -o /scratch/src/llvm-project-16.0.0.src/build.buildh.nocuda/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc
gmake[2]: *** [projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc] Error 139
gmake[1]: *** [projects/openmp/libomptarget/DeviceRTL/CMakeFiles/omptarget-nvptx-sm_50-bc.dir/all] Error 2
gmake: *** [all] Error 2

If I try to run the "opt" line by hand I do not get a Segmentation fault.

[user@buildh DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module /scratch/src/llvm-project-16.0.0.src/build.buildh.nocuda/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_50.bc -o /scratch/src/llvm-project-16.0.0.src/build.buildh.nocuda/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc

I tried this 4 different times (select combinations of 2 different hosts, 2 different compiler gcc 11.3.0, 12.2.0, with and without LIBOMPTARGET_BUILD_X). They all get the Segmentation fault, but it happens on different versions of libomptarget-nvptx-sm_X.bc (X = 35, 37, 50, 70).

I'd be happy to just turn off anything related to NVidia (and GPUs in general) because I don't have any of that hardware or software anyway.

OS: CentOS 7.9.2009 gcc: 11.3.0 cmake: 3.23.2 /bin/sh: 4.2.46(2)-release gmake: 3.82

hpcpony commented 1 year ago

Tried to build the same LLVM on a different host (Red Hat 8.7) using the same cmake and same compiler (exactly the same off a shared NFS mount) as before. This attempt seems to get through the problematic section of the build.

Aside from being Red Hat 8.7 vs. CentOS 7.9 this machine does have GPU cards and the CUDA software installed (though I'm not sure if that's significant).

Anyway, maybe this will help someone see what the problem is.

cmake version 3.23.2 GNU bash, version 4.4.20(1)-release (x86_64-redhat-linux-gnu) GNU Make 4.2.1 Red Hat Enterprise Linux release 8.7 (Ootpa) Linux host2 4.18.0-425.3.1.el8.x86_64 #1 SMP Fri Sep 30 11:45:06 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux

[user@host2 build.host2.nocuda]$ cmake                                            \ 
? -DLLVM_TARGETS_TO_BUILD=X86                                                     \
? -DCMAKE_C_COMPILER=${HOST_GCC}/bin/gcc                                          \
? -DCMAKE_CXX_COMPILER=${HOST_GCC}/bin/g++                                        \
? -DCMAKE_BUILD_TYPE="Release"                                                    \
? -DLIBOMP_ARCH="x86_64"                                                          \
? -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN="OFF" -DLIBOMPTARGET_BUILD_CUDA_PLUGIN="OFF" \
? -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}                                        \
? -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;cross-project-tests;flang;libclc;lld;lldb;mlir;openmp;polly;pstl" \
? -DLLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;libcxxabi;libunwind"            \
? -DGCC_INSTALL_PREFIX=${HOST_GCC}                                                \
? -DCMAKE_CXX_LINK_FLAGS="-L${HOST_GCC}/lib64 -Wl,-rpath,${HOST_GCC}/lib64"       \
? ../llvm
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
  .
  .
  .
-- Found LIBOMPTARGET_DEP_LIBFFI: /usr/lib64/libffi.so  
-- Found LIBOMPTARGET_DEP_CUDA_DRIVER: /usr/lib64/libcuda.so  
-- Could NOT find LIBOMPTARGET_DEP_VEO (missing: LIBOMPTARGET_DEP_VEO_LIBRARIES LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS) 
-- OMPT target enabled
-- OpenMP tools dir in libomptarget: /scratch/src/llvm-project-16.0.0.src/build.host2.nocuda/projects/openmp/runtime/src
-- LIBOMPTARGET: Building offloading runtime library libomptarget.
-- LIBOMPTARGET: Not building aarch64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building AMDGPU offloading plugin: LIBOMPTARGET_BUILD_AMDGPU_PLUGIN is false
-- LIBOMPTARGET: Not building CUDA offloading plugin: LIBOMPTARGET_BUILD_CUDA_PLUGIN is false
-- LIBOMPTARGET: Not building PPC64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building nec-aurora plugin: libveo or libveosinfo not found.
-- LIBOMPTARGET: Building x86_64 offloading plugin.
-- LIBOMPTARGET: Not building aarch64 NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building AMDGPU NextGen offloading plugin: LIBOMPTARGET_BUILD_AMDGPU_PLUGIN is false
-- LIBOMPTARGET: Not building CUDA NextGen offloading plugin: LIBOMPTARGET_BUILD_CUDA_PLUGIN is false
-- LIBOMPTARGET: Not building PPC64 NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Building x86_64 NextGen offloading plugin.
-- LIBOMPTARGET: Building DeviceRTL. Using clang from in-tree build
-- LIBOMPTARGET: Building the llvm-omp-device-info tool
-- LIBOMPTARGET: Building the llvm-omp-kernel-replay tool
  .
  .
  .
[ 33%] Built target omptarget-nvptx-sm_37-bc
Scanning dependencies of target omptarget-nvptx-sm_50-bc
[ 33%] Building LLVM bitcode Configuration.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Debug.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Kernel.cpp-sm_50.bc
[ 33%] Building LLVM bitcode LibC.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Mapping.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Misc.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Parallelism.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Reduction.cpp-sm_50.bc
[ 33%] Building LLVM bitcode State.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Synchronization.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Tasking.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Utils.cpp-sm_50.bc
[ 33%] Building LLVM bitcode Workshare.cpp-sm_50.bc
[ 33%] Linking LLVM bitcode libomptarget-nvptx-sm_50.bc
[ 33%] Internalizing LLVM bitcode libomptarget-nvptx-sm_50.bc
[ 33%] Optimizing LLVM bitcode libomptarget-nvptx-sm_50.bc
[ 33%] Built target omptarget-nvptx-sm_50-bc
Scanning dependencies of target omptarget-nvptx-sm_52-bc
[ 33%] Building LLVM bitcode Configuration.cpp-sm_52.bc
[ 33%] Building LLVM bitcode Debug.cpp-sm_52.bc
  .
  .
  .
bjodah commented 1 year ago

I just experienced this segfault too (CentOS Linux 7 (Core)):

cmake invocation & output (incl. stacktrace) ``` cmake -DCMAKE_GENERATOR=Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/bjodah/.local/llvm-16 '-DLLVM_ENABLE_PROJECTS=lld;clang;clang-tools-extra;lldb;compiler-rt;openmp' -DLLVM_TARGETS_TO_BUILD=X86 -S /tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm -B /tmp/llvm-16/build-llvm-16.0.0 -- bolt project is disabled -- clang project is enabled -- clang-tools-extra project is enabled -- compiler-rt project is enabled -- cross-project-tests project is disabled -- libc project is disabled -- libclc project is disabled -- lld project is enabled -- lldb project is enabled -- mlir project is disabled -- openmp project is enabled -- polly project is disabled -- pstl project is disabled -- flang project is disabled -- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR) -- Could NOT find LibEdit (missing: LibEdit_INCLUDE_DIRS LibEdit_LIBRARIES) -- Could NOT find Terminfo (missing: Terminfo_LIBRARIES Terminfo_LINKABLE) -- Native target architecture is X86 -- Threads enabled. -- Doxygen disabled. -- Ninja version: 1.10.2 -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) -- OCaml bindings disabled. -- LLVM host triple: x86_64-unknown-linux-gnu -- LLVM default target triple: x86_64-unknown-linux-gnu -- Building with -fPIC CMake Warning at cmake/modules/VersionFromVCS.cmake:49 (message): Git not found. Version cannot be determined. Call Stack (most recent call first): CMakeLists.txt:1037 (get_source_info) -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Targeting X86 -- Performing Test -ftrivial-auto-var-init=pattern -- Performing Test -ftrivial-auto-var-init=pattern - Failed -- Compiler-RT supported architectures: x86_64 -- Builtin supported architectures: x86_64 -- Performing additional configure checks with target flags: -m64 -- For x86_64 builtins preferring i386/fp_mode.c to fp_mode.c -- For x86_64 builtins preferring x86_64/floatdidf.c to floatdidf.c -- For x86_64 builtins preferring x86_64/floatdisf.c to floatdisf.c -- For x86_64 builtins preferring x86_64/floatundidf.S to floatundidf.c -- For x86_64 builtins preferring x86_64/floatundisf.S to floatundisf.c -- For x86_64 builtins preferring x86_64/floatdixf.c to floatdixf.c -- For x86_64 builtins preferring x86_64/floatundixf.S to floatundixf.c -- Supported architectures for crt: x86_64 -- Builtin supported architectures: x86_64 -- Generated Sanitizer SUPPORTED_TOOLS list on "Linux" is "asan;lsan;msan;tsan;ubsan" -- sanitizer_common tests on "Linux" will run against "asan;lsan;msan;tsan;ubsan" -- Supported architectures for crt: x86_64 -- check-shadowcallstack does nothing. -- Performing Test OPENMP_HAVE_ONEAPI_COMPILER -- Performing Test OPENMP_HAVE_ONEAPI_COMPILER - Failed -- Performing Test OPENMP_HAVE_WALL_FLAG -- Performing Test OPENMP_HAVE_WALL_FLAG - Success -- Performing Test OPENMP_HAVE_WERROR_FLAG -- Performing Test OPENMP_HAVE_WERROR_FLAG - Success -- Performing Test OPENMP_HAVE_WCAST_QUAL_FLAG -- Performing Test OPENMP_HAVE_WCAST_QUAL_FLAG - Success -- Performing Test OPENMP_HAVE_WFORMAT_PEDANTIC_FLAG -- Performing Test OPENMP_HAVE_WFORMAT_PEDANTIC_FLAG - Success -- Performing Test OPENMP_HAVE_WIMPLICIT_FALLTHROUGH_FLAG -- Performing Test OPENMP_HAVE_WIMPLICIT_FALLTHROUGH_FLAG - Success -- Performing Test OPENMP_HAVE_WSIGN_COMPARE_FLAG -- Performing Test OPENMP_HAVE_WSIGN_COMPARE_FLAG - Success -- Performing Test OPENMP_HAVE_WENUM_CONSTEXPR_CONVERSION_FLAG -- Performing Test OPENMP_HAVE_WENUM_CONSTEXPR_CONVERSION_FLAG - Success -- Performing Test OPENMP_HAVE_WEXTRA_FLAG -- Performing Test OPENMP_HAVE_WEXTRA_FLAG - Success -- Performing Test OPENMP_HAVE_WPEDANTIC_FLAG -- Performing Test OPENMP_HAVE_WPEDANTIC_FLAG - Success -- Performing Test OPENMP_HAVE_WMAYBE_UNINITIALIZED_FLAG -- Performing Test OPENMP_HAVE_WMAYBE_UNINITIALIZED_FLAG - Failed -- Performing Test OPENMP_HAVE_STD_CPP17_FLAG -- Performing Test OPENMP_HAVE_STD_CPP17_FLAG - Success -- Performing Test LIBOMP_HAVE_FNO_EXCEPTIONS_FLAG -- Performing Test LIBOMP_HAVE_FNO_EXCEPTIONS_FLAG - Success -- Performing Test LIBOMP_HAVE_FNO_RTTI_FLAG -- Performing Test LIBOMP_HAVE_FNO_RTTI_FLAG - Success -- Performing Test LIBOMP_HAVE_WCLASS_MEMACCESS_FLAG -- Performing Test LIBOMP_HAVE_WCLASS_MEMACCESS_FLAG - Failed -- Performing Test LIBOMP_HAVE_WCOVERED_SWITCH_DEFAULT_FLAG -- Performing Test LIBOMP_HAVE_WCOVERED_SWITCH_DEFAULT_FLAG - Success -- Performing Test LIBOMP_HAVE_WFRAME_ADDRESS_FLAG -- Performing Test LIBOMP_HAVE_WFRAME_ADDRESS_FLAG - Success -- Performing Test LIBOMP_HAVE_WSTRICT_ALIASING_FLAG -- Performing Test LIBOMP_HAVE_WSTRICT_ALIASING_FLAG - Success -- Performing Test LIBOMP_HAVE_WSTRINGOP_OVERFLOW_FLAG -- Performing Test LIBOMP_HAVE_WSTRINGOP_OVERFLOW_FLAG - Failed -- Performing Test LIBOMP_HAVE_WSTRINGOP_TRUNCATION_FLAG -- Performing Test LIBOMP_HAVE_WSTRINGOP_TRUNCATION_FLAG - Failed -- Performing Test LIBOMP_HAVE_WSWITCH_FLAG -- Performing Test LIBOMP_HAVE_WSWITCH_FLAG - Success -- Performing Test LIBOMP_HAVE_WUNINITIALIZED_FLAG -- Performing Test LIBOMP_HAVE_WUNINITIALIZED_FLAG - Success -- Performing Test LIBOMP_HAVE_WRETURN_TYPE_C_LINKAGE_FLAG -- Performing Test LIBOMP_HAVE_WRETURN_TYPE_C_LINKAGE_FLAG - Success -- Performing Test LIBOMP_HAVE_WCAST_QUAL_FLAG -- Performing Test LIBOMP_HAVE_WCAST_QUAL_FLAG - Success -- Performing Test LIBOMP_HAVE_WINT_TO_VOID_POINTER_CAST_FLAG -- Performing Test LIBOMP_HAVE_WINT_TO_VOID_POINTER_CAST_FLAG - Success -- Performing Test LIBOMP_HAVE_MSSE2_FLAG -- Performing Test LIBOMP_HAVE_MSSE2_FLAG - Success -- Performing Test LIBOMP_HAVE_FTLS_MODEL_FLAG -- Performing Test LIBOMP_HAVE_FTLS_MODEL_FLAG - Success -- Performing Test LIBOMP_HAVE_MMIC_FLAG -- Performing Test LIBOMP_HAVE_MMIC_FLAG - Failed -- Performing Test LIBOMP_HAVE_M32_FLAG -- Performing Test LIBOMP_HAVE_M32_FLAG - Failed -- Looking for shm_open -- Looking for shm_open - not found -- Looking for shm_open -- Looking for shm_open - found -- Looking for xmmintrin.h -- Looking for xmmintrin.h - found -- Performing Test LIBOMP_HAVE__MM_MALLOC -- Performing Test LIBOMP_HAVE__MM_MALLOC - Success -- Looking for aligned_alloc -- Looking for aligned_alloc - found -- Looking for posix_memalign -- Looking for posix_memalign - found -- Looking for _aligned_malloc -- Looking for _aligned_malloc - not found -- Performing Test LIBOMP_HAVE_X_FLAG -- Performing Test LIBOMP_HAVE_X_FLAG - Success -- Performing Test LIBOMP_HAVE_AS_NEEDED_FLAG -- Performing Test LIBOMP_HAVE_AS_NEEDED_FLAG - Success -- Performing Test LIBOMP_HAVE_VERSION_SCRIPT_FLAG -- Performing Test LIBOMP_HAVE_VERSION_SCRIPT_FLAG - Success -- Performing Test LIBOMP_HAVE_STATIC_LIBGCC_FLAG -- Performing Test LIBOMP_HAVE_STATIC_LIBGCC_FLAG - Success -- Performing Test LIBOMP_HAVE_Z_NOEXECSTACK_FLAG -- Performing Test LIBOMP_HAVE_Z_NOEXECSTACK_FLAG - Success -- Looking for immintrin.h -- Looking for immintrin.h - found -- Performing Test LIBOMP_HAVE_ATTRIBUTE_RTM -- Performing Test LIBOMP_HAVE_ATTRIBUTE_RTM - Success -- Performing Test LIBOMP_HAVE_ATTRIBUTE_WAITPKG -- Performing Test LIBOMP_HAVE_ATTRIBUTE_WAITPKG - Success -- Performing Test LIBOMP_HAVE_WAITPKG_INTRINSICS -- Performing Test LIBOMP_HAVE_WAITPKG_INTRINSICS - Success -- Performing Test LIBOMP_HAVE_RTM_INTRINSICS -- Performing Test LIBOMP_HAVE_RTM_INTRINSICS - Success -- Found Perl: /usr/bin/perl (found version "5.16.3") -- Performing Test LIBOMP_HAVE_VERSION_SYMBOLS -- Performing Test LIBOMP_HAVE_VERSION_SYMBOLS - Success -- Performing Test LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS -- Performing Test LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS - Success -- Performing Test LIBOMP_HAVE_WEAK_ATTRIBUTE -- Performing Test LIBOMP_HAVE_WEAK_ATTRIBUTE - Success -- Performing Test LIBOMP_HAVE_PSAPI -- Performing Test LIBOMP_HAVE_PSAPI - Failed -- Looking for sqrt in m -- Looking for sqrt in m - found -- Looking for __atomic_load_1 -- Looking for __atomic_load_1 - not found -- Looking for __atomic_load_1 in atomic -- Looking for __atomic_load_1 in atomic - not found -- Using LLVM include directories: /tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/include;/tmp/llvm-16/build-llvm-16.0.0/include -- Found PkgConfig: /usr/bin/pkg-config (found version "0.27.1") -- Could NOT find LIBOMPTARGET_DEP_LIBFFI (missing: LIBOMPTARGET_DEP_LIBFFI_LIBRARIES LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIRS) Failed to 'dlopen' libcuda.so -- Could NOT find LIBOMPTARGET_DEP_CUDA_DRIVER (missing: LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES) Failed to 'dlopen' libhsa-runtime64.so -- Could NOT find LIBOMPTARGET_DEP_VEO (missing: LIBOMPTARGET_DEP_VEO_LIBRARIES LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS) -- OMPT target enabled -- OpenMP tools dir in libomptarget: /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/runtime/src -- LIBOMPTARGET: Building offloading runtime library libomptarget. -- LIBOMPTARGET: Not building aarch64 offloading plugin: machine not found in the system. -- LIBOMPTARGET: Building AMDGPU plugin for dlopened libhsa -- LIBOMPTARGET: Not generating amdgcn test targets as libhsa is not linkable -- LIBOMPTARGET: Building CUDA offloading plugin. -- LIBOMPTARGET: Building CUDA plugin for dlopened libcuda -- LIBOMPTARGET: Disabling tests using CUDA plugin as cuda may not be available -- LIBOMPTARGET: Not building PPC64 offloading plugin: machine not found in the system. -- LIBOMPTARGET: Not building PPC64le offloading plugin: machine not found in the system. -- LIBOMPTARGET: Not building nec-aurora plugin: libveo or libveosinfo not found. -- LIBOMPTARGET: Not building x86_64 offloading plugin: libffi dependency not found. -- LIBOMPTARGET: Not building aarch64 NextGen offloading plugin: machine not found in the system. -- LIBOMPTARGET: Building AMDGPU NextGen plugin for dlopened libhsa -- LIBOMPTARGET: Building CUDA NextGen offloading plugin. -- LIBOMPTARGET: Building CUDA NextGen plugin for dlopened libcuda -- LIBOMPTARGET: Not building PPC64 NextGen offloading plugin: machine not found in the system. -- LIBOMPTARGET: Not building PPC64le NextGen offloading plugin: machine not found in the system. -- LIBOMPTARGET: Not building x86_64 NextGen offloading plugin: libffi dependency not found. -- LIBOMPTARGET: Building DeviceRTL. Using clang from in-tree build -- LIBOMPTARGET: Building the llvm-omp-device-info tool -- LIBOMPTARGET: Building the llvm-omp-kernel-replay tool -- check-libomptarget does nothing. -- Looking for __atomic_load_1 -- Looking for __atomic_load_1 - not found -- Looking for __atomic_load_1 in atomic -- Looking for __atomic_load_1 in atomic - not found -- Could NOT find Python3 (missing: Python3_INCLUDE_DIRS Python3_LIBRARIES Development Development.Module Development.Embed) (found version "3.6.8") -- Clang version: 16.0.0 -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Could NOT find Git (missing: GIT_EXECUTABLE) -- LLD version: 16.0.0 -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR) (Required is at least version "3") -- Enable SWIG to generate LLDB bindings: FALSE -- Could NOT find LibEdit (missing: LibEdit_INCLUDE_DIRS LibEdit_LIBRARIES) -- Enable editline support in LLDB: FALSE -- Could NOT find CursesAndPanel (missing: CURSES_INCLUDE_DIRS CURSES_LIBRARIES PANEL_LIBRARIES) -- Enable curses support in LLDB: FALSE -- Could NOT find LibLZMA (missing: LIBLZMA_LIBRARY LIBLZMA_INCLUDE_DIR LIBLZMA_HAS_AUTO_DECODER LIBLZMA_HAS_EASY_ENCODER LIBLZMA_HAS_LZMA_PRESET) -- Enable LZMA compression support in LLDB: FALSE -- SWIG 3 or later is required for Lua support in LLDB but could not be found -- Could NOT find LuaAndSwig (missing: LUA_LIBRARIES LUA_INCLUDE_DIR LLDB_ENABLE_SWIG) -- Enable Lua scripting support in LLDB: FALSE -- SWIG 3 or later is required for Python support in LLDB but could not be found -- Could NOT find PythonAndSwig (missing: Python3_LIBRARIES Python3_INCLUDE_DIRS LLDB_ENABLE_SWIG) -- Enable Python scripting support in LLDB: FALSE -- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR) (Required is at least version "2.8") -- Enable Libxml 2 support in LLDB: FALSE -- Enable libfbsdvmcore support in LLDB: 0 -- LLDB version: 16.0.0 -- Skipping FreeBSDKernel plugin due to missing libfbsdvmcore -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Symbols (liblldb): exporting all symbols from the lldb namespace -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Registering ExampleIRTransforms as a pass plugin (static build: OFF) -- Registering Bye as a pass plugin (static build: OFF) -- Failed to find LLVM FileCheck -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Version: 1.6.0 -- Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- failed to compile -- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile -- Performing Test HAVE_POSIX_REGEX -- success -- Performing Test HAVE_STEADY_CLOCK -- success -- Configuring done -- Generating done -- Build files have been written to: /tmp/llvm-16/build-llvm-16.0.0 + cmake --build /tmp/llvm-16/build-llvm-16.0.0 [6/858] Generating kmp_i18n_id.inc perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "C.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). [7/858] Generating kmp_i18n_default.inc perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "C.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). [69/858] Building CXX object projects/openmp/libomptarg...penmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.cpp.o /tmp/llvm-16/llvm-project-llvmorg-16.0.0/openmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.cpp:89:9: warning: 'DEBUG_PREFIX' macro redefined [-Wmacro-redefined] #define DEBUG_PREFIX "Target " GETNAME(TARGET_NAME) " RTL" ^ :1:9: note: previous definition is here #define DEBUG_PREFIX "TARGET CUDA RTL" ^ 1 warning generated. [231/858] Optimizing LLVM bitcode libomptarget-nvptx-sm_50.bc FAILED: projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc cd /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libomptarget/DeviceRTL && /tmp/llvm-16/build-llvm-16.0.0/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_50.bc -o /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: /tmp/llvm-16/build-llvm-16.0.0/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_50.bc -o /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc #0 0x000055f9d2998248 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x1655248) #1 0x000055f9d29960fe llvm::sys::RunSignalHandlers() (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x16530fe) #2 0x000055f9d29989dd SignalHandler(int) Signals.cpp:0:0 #3 0x00007f5b92c5d630 __restore_rt sigaction.c:0:0 #4 0x000055f9d2945bf5 llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x1602bf5) #5 0x000055f9d238206c std::pair, bool> llvm::StringMap::try_emplace(llvm::StringRef, llvm::Value*&&) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x103f06c) #6 0x000055f9d2381fac llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x103efac) #7 0x000055f9d237d8b6 llvm::Value::setNameImpl(llvm::Twine const&) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x103a8b6) #8 0x000055f9d237d8f9 llvm::Value::setName(llvm::Twine const&) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x103a8f9) #9 0x000055f9d186f165 llvm::IRBuilderBase::CreateCall(llvm::FunctionType*, llvm::Value*, llvm::ArrayRef, llvm::Twine const&, llvm::MDNode*) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x52c165) #10 0x000055f9d2a7b856 llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl&, llvm::Value*) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x1738856) #11 0x000055f9d2a7b349 llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl&) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x1738349) #12 0x000055f9d2a7a988 llvm::PredicateInfoBuilder::buildPredicateInfo() (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x1737988) #13 0x000055f9d2a7be06 llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x1738e06) #14 0x000055f9d24ff3ba llvm::AnalysisResultsForFn llvm::function_ref::callback_fn&)::$_3>(long, llvm::Function&) SCCP.cpp:0:0 #15 0x000055f9d24fd6e1 runIPSCCP(llvm::Module&, llvm::DataLayout const&, llvm::AnalysisManager*, std::function, std::function, std::function, llvm::function_ref, bool) SCCP.cpp:0:0 #16 0x000055f9d24fd28b llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager&) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x11ba28b) #17 0x000055f9d2c6ec9d llvm::detail::PassModel>::run(llvm::Module&, llvm::AnalysisManager&) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x192bc9d) #18 0x000055f9d2361657 llvm::PassManager>::run(llvm::Module&, llvm::AnalysisManager&) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x101e657) #19 0x000055f9d1807e89 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x4c4e89) #20 0x000055f9d1816433 main (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x4d3433) #21 0x00007f5b91a60555 __libc_start_main (/lib64/libc.so.6+0x22555) #22 0x000055f9d18013cb _start (/tmp/llvm-16/build-llvm-16.0.0/bin/opt+0x4be3cb) /bin/sh: line 1: 27762 Segmentation fault /tmp/llvm-16/build-llvm-16.0.0/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_50.bc -o /tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_50.bc [240/858] Building CXX object projects/openmp/libomptar...luginInterface/CMakeFiles/PluginInterface.dir/JIT.cpp.o ninja: build stopped: subcommand failed. ```
CMakeCache.txt
# This is the CMakeCache file.
# For build in directory: /tmp/llvm-16/build-llvm-16.0.0
# It was generated by CMake: /home/bjodah/.local/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.

########################
# EXTERNAL cache entries
########################

//Test -ftrivial-auto-var-init=pattern
-ftrivial-auto-var-init:UNINITIALIZED=pattern:INTERNAL=

//Build a 32 bit version of the library.
BENCHMARK_BUILD_32_BITS:BOOL=OFF

//Flags used by the C++ compiler during coverage builds.
BENCHMARK_CXX_FLAGS_COVERAGE:STRING=-g

//Allow the downloading and in-tree building of unmet dependencies
BENCHMARK_DOWNLOAD_DEPENDENCIES:BOOL=OFF

//Enable building and running the assembly tests
BENCHMARK_ENABLE_ASSEMBLY_TESTS:BOOL=OFF

//Build documentation with Doxygen.
BENCHMARK_ENABLE_DOXYGEN:BOOL=OFF

//Enable the use of exceptions in the benchmark library.
BENCHMARK_ENABLE_EXCEPTIONS:BOOL=OFF

//Enable building the unit tests which depend on gtest
BENCHMARK_ENABLE_GTEST_TESTS:BOOL=OFF

//Enable installation of benchmark. (Projects embedding benchmark
// may want to turn this OFF.)
BENCHMARK_ENABLE_INSTALL:BOOL=OFF

//Enable performance counters provided by libpfm
BENCHMARK_ENABLE_LIBPFM:BOOL=OFF

//Enable link time optimisation of the benchmark library.
BENCHMARK_ENABLE_LTO:BOOL=OFF

//Enable testing of the benchmark library.
BENCHMARK_ENABLE_TESTING:BOOL=OFF

//Build Release candidates with -Werror.
BENCHMARK_ENABLE_WERROR:BOOL=OFF

//Flags used for linking binaries during coverage builds.
BENCHMARK_EXE_LINKER_FLAGS_COVERAGE:STRING=

//Build Release candidates with -Werror regardless of compiler
// issues.
BENCHMARK_FORCE_WERROR:BOOL=OFF

//Enable installation of documentation.
BENCHMARK_INSTALL_DOCS:BOOL=ON

//Flags used by the shared libraries linker during coverage builds.
BENCHMARK_SHARED_LINKER_FLAGS_COVERAGE:STRING=

//Use bundled GoogleTest. If disabled, the find_package(GTest)
// will be used.
BENCHMARK_USE_BUNDLED_GTEST:BOOL=ON

//Build and test using libc++ as the standard library.
BENCHMARK_USE_LIBCXX:BOOL=OFF

//Default URL where bug reports are to be submitted.
BUG_REPORT_URL:STRING=https://github.com/llvm/llvm-project/issues/

//Build clang-format VS plugin
BUILD_CLANG_FORMAT_VS_PLUGIN:BOOL=OFF

//Build all libraries as shared libraries instead of static
BUILD_SHARED_LIBS:BOOL=OFF

//Header providing backtrace(3) facility
Backtrace_HEADER:STRING=execinfo.h

//Path to a file.
Backtrace_INCLUDE_DIR:PATH=/usr/include

//Library providing backtrace(3), empty for default set of libraries
Backtrace_LIBRARY:FILEPATH=

//Build XPC Support For Clangd.
CLANGD_BUILD_XPC:BOOL=0

//Enable decision forest model for ranking code completion items
CLANGD_DECISION_FOREST:BOOL=ON

//Call malloc_trim(3) periodically in Clangd. (only takes effect
// when using glibc)
CLANGD_MALLOC_TRIM:BOOL=ON

//Link all clang-tidy checks into clangd
CLANGD_TIDY_CHECKS:BOOL=ON

//Build CLANG example programs by default.
CLANG_BUILD_EXAMPLES:BOOL=OFF

//Build the Clang tools. If OFF, just generate build targets.
CLANG_BUILD_TOOLS:BOOL=ON

//Default C++ stdlib to use ("libstdc++" or "libc++", empty for
// platform default
CLANG_DEFAULT_CXX_STDLIB:STRING=

//Default linker to use (linker name or absolute path, empty for
// platform default)
CLANG_DEFAULT_LINKER:STRING=

//Default objcopy executable to use.
CLANG_DEFAULT_OBJCOPY:STRING=objcopy

//Default OpenMP runtime used by -fopenmp.
CLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp

//Default to -fPIE and -pie on linux-gnu
CLANG_DEFAULT_PIE_ON_LINUX:BOOL=ON

//Default runtime library to use ("libgcc" or "compiler-rt", empty
// for platform default)
CLANG_DEFAULT_RTLIB:STRING=

//Default unwind library to use ("none" "libgcc" or "libunwind",
// empty to match runtime library.)
CLANG_DEFAULT_UNWINDLIB:STRING=

//Build ARCMT.
CLANG_ENABLE_ARCMT:BOOL=ON

//Build clangd language server
CLANG_ENABLE_CLANGD:BOOL=ON

//Include HLSL build products
CLANG_ENABLE_HLSL:BOOL=OFF

//Whether libclang may depend on libxml2
CLANG_ENABLE_LIBXML2:BOOL=OFF

//Build Clang protobuf fuzzer.
CLANG_ENABLE_PROTO_FUZZER:BOOL=OFF

//Include static analyzer in clang binary.
CLANG_ENABLE_STATIC_ANALYZER:BOOL=ON

//Major version number that will be appended to the clang executable
// name
CLANG_EXECUTABLE_VERSION:STRING=16

//Force the SOVERSION of libclang to be equal to CLANG_MAJOR
CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION:BOOL=ON

//Generate build targets for the Clang docs.
CLANG_INCLUDE_DOCS:BOOL=ON

//Generate build targets for the Clang unit tests.
CLANG_INCLUDE_TESTS:BOOL=ON

//Path for CMake subdirectory for Clang (defaults to 'lib/cmake/clang')
CLANG_INSTALL_PACKAGE_DIR:STRING=lib/cmake/clang

//Install the scan-build tool
CLANG_INSTALL_SCANBUILD:BOOL=ON

//Install the scan-view tool
CLANG_INSTALL_SCANVIEW:BOOL=ON

//Link tools against libclang-cpp.so
CLANG_LINK_CLANG_DYLIB:BOOL=OFF

//The path to a lit testsuite containing samples for PGO and order
// file generation
CLANG_PGO_TRAINING_DATA:PATH=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/clang/utils/perf-training

//Build clang with plugin support
CLANG_PLUGIN_SUPPORT:BOOL=ON

//Host clang-pseudo-gen executable. Saves building if cross-compiling.
CLANG_PSEUDO_GEN:STRING=clang-pseudo-gen

//Python versions to install libclang python bindings for
CLANG_PYTHON_BINDINGS_VERSIONS:STRING=

//Vendor-specific text for showing the repository the source is
// taken from.
CLANG_REPOSITORY_STRING:STRING=

//Relative directory from the Clang binary to its resource files.
CLANG_RESOURCE_DIR:STRING=

//Whether clang should use a new process for the CC1 invocation
CLANG_SPAWN_CC1:BOOL=OFF

//SystemZ Default Arch
CLANG_SYSTEMZ_DEFAULT_ARCH:STRING=z10

//Native TableGen executable. Saves building one when cross-compiling.
CLANG_TABLEGEN:STRING=clang-tblgen

//Run Clang tests under Valgrind
CLANG_TEST_USE_VG:BOOL=OFF

//Host clang-tidy-confusable-chars-gen executable. Saves building
// if cross-compiling.
CLANG_TIDY_CONFUSABLE_CHARS_GEN:STRING=clang-tidy-confusable-chars-gen

//Include static analyzer checks in clang-tidy
CLANG_TIDY_ENABLE_STATIC_ANALYZER:BOOL=ON

//Enable AST introspection
CLANG_TOOLING_BUILD_AST_INTROSPECTION:BOOL=ON

//Generate build targets for the Clang Extra Tools docs.
CLANG_TOOLS_EXTRA_INCLUDE_DOCS:BOOL=ON

//Path for binary subdirectory (defaults to 'bin')
CLANG_TOOLS_INSTALL_DIR:PATH=bin

//Run Clang tools' tests under Valgrind
CLANG_TOOLS_TEST_USE_VG:BOOL=OFF

//Whether to build amdgpu-arch as part of CLANG
CLANG_TOOL_AMDGPU_ARCH_BUILD:BOOL=ON

//Whether to build apinotes-test as part of CLANG
CLANG_TOOL_APINOTES_TEST_BUILD:BOOL=ON

//Whether to build arcmt-test as part of CLANG
CLANG_TOOL_ARCMT_TEST_BUILD:BOOL=ON

//Whether to build clang-check as part of CLANG
CLANG_TOOL_CLANG_CHECK_BUILD:BOOL=ON

//Whether to build clang-diff as part of CLANG
CLANG_TOOL_CLANG_DIFF_BUILD:BOOL=ON

//Whether to build clang-extdef-mapping as part of CLANG
CLANG_TOOL_CLANG_EXTDEF_MAPPING_BUILD:BOOL=ON

//Whether to build clang-format as part of CLANG
CLANG_TOOL_CLANG_FORMAT_BUILD:BOOL=ON

//Whether to build clang-format-vs as part of CLANG
CLANG_TOOL_CLANG_FORMAT_VS_BUILD:BOOL=ON

//Whether to build clang-fuzzer as part of CLANG
CLANG_TOOL_CLANG_FUZZER_BUILD:BOOL=ON

//Whether to build clang-import-test as part of CLANG
CLANG_TOOL_CLANG_IMPORT_TEST_BUILD:BOOL=ON

//Whether to build clang-linker-wrapper as part of CLANG
CLANG_TOOL_CLANG_LINKER_WRAPPER_BUILD:BOOL=ON

//Whether to build clang-offload-bundler as part of CLANG
CLANG_TOOL_CLANG_OFFLOAD_BUNDLER_BUILD:BOOL=ON

//Whether to build clang-offload-packager as part of CLANG
CLANG_TOOL_CLANG_OFFLOAD_PACKAGER_BUILD:BOOL=ON

//Whether to build clang-refactor as part of CLANG
CLANG_TOOL_CLANG_REFACTOR_BUILD:BOOL=ON

//Whether to build clang-rename as part of CLANG
CLANG_TOOL_CLANG_RENAME_BUILD:BOOL=ON

//Whether to build clang-repl as part of CLANG
CLANG_TOOL_CLANG_REPL_BUILD:BOOL=ON

//Whether to build clang-scan-deps as part of CLANG
CLANG_TOOL_CLANG_SCAN_DEPS_BUILD:BOOL=ON

//Whether to build clang-shlib as part of CLANG
CLANG_TOOL_CLANG_SHLIB_BUILD:BOOL=ON

//Whether to build c-arcmt-test as part of CLANG
CLANG_TOOL_C_ARCMT_TEST_BUILD:BOOL=ON

//Whether to build c-index-test as part of CLANG
CLANG_TOOL_C_INDEX_TEST_BUILD:BOOL=ON

//Whether to build diagtool as part of CLANG
CLANG_TOOL_DIAGTOOL_BUILD:BOOL=ON

//Whether to build dictionary as part of CLANG
CLANG_TOOL_DICTIONARY_BUILD:BOOL=ON

//Whether to build driver as part of CLANG
CLANG_TOOL_DRIVER_BUILD:BOOL=ON

//Whether to build handle-cxx as part of CLANG
CLANG_TOOL_HANDLE_CXX_BUILD:BOOL=ON

//Whether to build handle-llvm as part of CLANG
CLANG_TOOL_HANDLE_LLVM_BUILD:BOOL=ON

//Whether to build libclang as part of CLANG
CLANG_TOOL_LIBCLANG_BUILD:BOOL=ON

//Whether to build nvptx-arch as part of CLANG
CLANG_TOOL_NVPTX_ARCH_BUILD:BOOL=ON

//Whether to build scan-build as part of CLANG
CLANG_TOOL_SCAN_BUILD_BUILD:BOOL=ON

//Whether to build scan-build-py as part of CLANG
CLANG_TOOL_SCAN_BUILD_PY_BUILD:BOOL=ON

//Whether to build scan-view as part of CLANG
CLANG_TOOL_SCAN_VIEW_BUILD:BOOL=ON

//Vendor-specific text for showing with version information.
CLANG_VENDOR:STRING=

//Vendor-specific uti.
CLANG_VENDOR_UTI:STRING=org.llvm.clang

//Path to a program.
CMAKE_ADDR2LINE:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-addr2line

//Path to a program.
CMAKE_AR:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-ar

//ASM compiler
CMAKE_ASM_COMPILER:FILEPATH=/usr/local/llvm-16.0.0/bin/clang

//LLVM archiver
CMAKE_ASM_COMPILER_AR:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-ar

//Generate index for LLVM archive
CMAKE_ASM_COMPILER_RANLIB:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-ranlib

//Flags used by the ASM compiler during all build types.
CMAKE_ASM_FLAGS:STRING=

//Flags used by the ASM compiler during DEBUG builds.
CMAKE_ASM_FLAGS_DEBUG:STRING=-g

//Flags used by the ASM compiler during MINSIZEREL builds.
CMAKE_ASM_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the ASM compiler during RELEASE builds.
CMAKE_ASM_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the ASM compiler during RELWITHDEBINFO builds.
CMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//Choose the type of build, options are: None Debug Release RelWithDebInfo
// MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=Release

//archive create command
CMAKE_CXX_ARCHIVE_CREATE:STRING= Dqc   

//ranlib command
CMAKE_CXX_ARCHIVE_FINISH:STRING= -D 

//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=/usr/local/llvm-16.0.0/bin/clang++

//LLVM archiver
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-ar

//Generate index for LLVM archive
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-ranlib

//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=

//Flags used by the CXX compiler during DEBUG builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g

//Flags used by the CXX compiler during MINSIZEREL builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the CXX compiler during RELWITHDEBINFO builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//C++ standard to conform to
CMAKE_CXX_STANDARD:STRING=17

//archive create command
CMAKE_C_ARCHIVE_CREATE:STRING= Dqc   

//ranlib command
CMAKE_C_ARCHIVE_FINISH:STRING= -D 

//C compiler
CMAKE_C_COMPILER:FILEPATH=/usr/local/llvm-16.0.0/bin/clang

//LLVM archiver
CMAKE_C_COMPILER_AR:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-ar

//Generate index for LLVM archive
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-ranlib

//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=

//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g

//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//Path to a program.
CMAKE_DLLTOOL:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-dlltool

//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=

//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=

//Value Computed by CMake.
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/tmp/llvm-16/build-llvm-16.0.0/CMakeFiles/pkgRedirects

//No help, variable specified on the command line.
CMAKE_GENERATOR:UNINITIALIZED=Ninja

//User executables (bin)
CMAKE_INSTALL_BINDIR:PATH=bin

//Read-only architecture-independent data (DATAROOTDIR)
CMAKE_INSTALL_DATADIR:PATH=

//Read-only architecture-independent data root (share)
CMAKE_INSTALL_DATAROOTDIR:PATH=share

//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
CMAKE_INSTALL_DOCDIR:PATH=

//C header files (include)
CMAKE_INSTALL_INCLUDEDIR:PATH=include

//Info documentation (DATAROOTDIR/info)
CMAKE_INSTALL_INFODIR:PATH=

//Object code libraries (lib64)
CMAKE_INSTALL_LIBDIR:PATH=lib64

//Program executables (libexec)
CMAKE_INSTALL_LIBEXECDIR:PATH=libexec

//Locale-dependent data (DATAROOTDIR/locale)
CMAKE_INSTALL_LOCALEDIR:PATH=

//Modifiable single-machine data (var)
CMAKE_INSTALL_LOCALSTATEDIR:PATH=var

//Man documentation (DATAROOTDIR/man)
CMAKE_INSTALL_MANDIR:PATH=

//C header files for non-gcc (/usr/include)
CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include

//Directories containing installed CMake modules (lib/cmake)
CMAKE_INSTALL_PACKAGEDIR:PATH=lib/cmake

//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/home/bjodah/.local/llvm-16

//Run-time variable data (LOCALSTATEDIR/run)
CMAKE_INSTALL_RUNSTATEDIR:PATH=

//System admin executables (sbin)
CMAKE_INSTALL_SBINDIR:PATH=sbin

//Modifiable architecture-independent data (com)
CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com

//Read-only single-machine data (etc)
CMAKE_INSTALL_SYSCONFDIR:PATH=etc

//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld

//path to the lipo tool
CMAKE_LIPO:PATH=lipo

//Program used to build from build.ninja files.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja-build

//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=

//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program.
CMAKE_NM:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-nm

//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-objcopy

//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-objdump

//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=

//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=

//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=LLVM

//Value Computed by CMake
CMAKE_PROJECT_VERSION:STATIC=16.0.0

//Value Computed by CMake
CMAKE_PROJECT_VERSION_MAJOR:STATIC=16

//Value Computed by CMake
CMAKE_PROJECT_VERSION_MINOR:STATIC=0

//Value Computed by CMake
CMAKE_PROJECT_VERSION_PATCH:STATIC=0

//Value Computed by CMake
CMAKE_PROJECT_VERSION_TWEAK:STATIC=

//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-ranlib

//Path to a program.
CMAKE_READELF:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-readelf

//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=

//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO

//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO

//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=

//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/local/llvm-16.0.0/bin/llvm-strip

//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make.  This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE

//Build for a bare-metal target.
COMPILER_RT_BAREMETAL_BUILD:BOOL=OFF

//Build builtins
COMPILER_RT_BUILD_BUILTINS:BOOL=ON

//Build crtbegin.o/crtend.o
COMPILER_RT_BUILD_CRT:BOOL=ON

//Build GWP-ASan, and link it into SCUDO
COMPILER_RT_BUILD_GWP_ASAN:BOOL=ON

//Build libFuzzer
COMPILER_RT_BUILD_LIBFUZZER:BOOL=ON

//Build memory profiling runtime
COMPILER_RT_BUILD_MEMPROF:BOOL=ON

//Build ORC runtime
COMPILER_RT_BUILD_ORC:BOOL=ON

//Build profile runtime
COMPILER_RT_BUILD_PROFILE:BOOL=ON

//Build sanitizers
COMPILER_RT_BUILD_SANITIZERS:BOOL=ON

//Build SCUDO standalone with LLVM's libc headers
COMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC:BOOL=OFF

//Build standalone shared atomic library.
COMPILER_RT_BUILD_STANDALONE_LIBATOMIC:BOOL=OFF

//Build xray
COMPILER_RT_BUILD_XRAY:BOOL=ON

//Build xray with no preinit patching
COMPILER_RT_BUILD_XRAY_NO_PREINIT:BOOL=OFF

//Do not export any symbols from the static library.
COMPILER_RT_BUILTINS_HIDE_SYMBOLS:BOOL=ON

//Can we execute instrumented tests
COMPILER_RT_CAN_EXECUTE_TESTS:BOOL=ON

//Use eh_frame in crtbegin.o/crtend.o
COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY:BOOL=ON

//Specify C++ library to use. Supported values are none;default;libcxx.
COMPILER_RT_CXX_LIBRARY:STRING=default

//Build runtimes with full debug info
COMPILER_RT_DEBUG:BOOL=OFF

//Build builtins only for the default target
COMPILER_RT_DEFAULT_TARGET_ONLY:BOOL=OFF

//Default triple for which compiler-rt runtimes will be built.
COMPILER_RT_DEFAULT_TARGET_TRIPLE:STRING=x86_64-unknown-linux-gnu

//Disable AArch64 Function Multi Versioning support
COMPILER_RT_DISABLE_AARCH64_FMV:BOOL=OFF

//Build Compiler RT with CET enabled
COMPILER_RT_ENABLE_CET:BOOL=OFF

//Fail and stop if warning is triggered
COMPILER_RT_ENABLE_WERROR:BOOL=OFF

//Skip the atomic builtin (these should normally be provided by
// a shared library)
COMPILER_RT_EXCLUDE_ATOMIC_BUILTIN:BOOL=ON

//Generate dSYM files and strip executables and libraries (Darwin
// Only)
COMPILER_RT_EXTERNALIZE_DEBUGINFO:BOOL=OFF

//Enable libc interceptors in HWASan (testing mode)
COMPILER_RT_HWASAN_WITH_INTERCEPTORS:BOOL=ON

//Generate and build compiler-rt unit tests.
COMPILER_RT_INCLUDE_TESTS:BOOL=ON

//Path where built compiler-rt executables should be installed.
COMPILER_RT_INSTALL_BINARY_DIR:PATH=lib/clang/16/bin

//Path where compiler-rt data files should be installed.
COMPILER_RT_INSTALL_DATA_DIR:PATH=lib/clang/16/share

//Path where compiler-rt headers should be installed.
COMPILER_RT_INSTALL_INCLUDE_DIR:PATH=lib/clang/16/include

//Path where built compiler-rt libraries should be installed.
COMPILER_RT_INSTALL_LIBRARY_DIR:PATH=lib/clang/16/lib

//Support interception of libdispatch (GCD). Requires '-fblocks'
COMPILER_RT_INTERCEPT_LIBDISPATCH:BOOL=OFF

//Specify if libdispatch is installed in a custom location
COMPILER_RT_LIBDISPATCH_INSTALL_PATH:BOOL=OFF

//sanitizers to build if supported on the target (all;asan;dfsan;msan;hwasan;tsan;safestack;cfi;scudo_standalone;ubsan_minimal;gwp_asan)
COMPILER_RT_SANITIZERS_TO_BUILD:STRING=all

//Build SCUDO standalone for shared libraries
COMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED:BOOL=ON

//Set custom sysroot for building SCUDO standalone
COMPILER_RT_SCUDO_STANDALONE_SYSROOT_PATH:BOOL=OFF

//Statically link the C++ library.
COMPILER_RT_STATIC_CXX_LIBRARY:BOOL=OFF

//When set to ON and testing in a standalone build, test the runtime
//   libraries built by this standalone build rather than the runtime
// libraries   shipped with the compiler (used for testing). When
// set to OFF and testing   in a standalone build, test the runtime
// libraries shipped with the compiler   (used for testing). This
// option has no effect if the compiler and this   build are configured
// to use the same runtime library path.
COMPILER_RT_TEST_STANDALONE_BUILD_LIBS:BOOL=ON

//Use compiler-rt builtins instead of libgcc
COMPILER_RT_USE_BUILTINS_LIBRARY:BOOL=OFF

//Enable compiler-rt to use libc++ from the source tree
COMPILER_RT_USE_LIBCXX:BOOL=ON

//Use the LLVM unwinder.
COMPILER_RT_USE_LLVM_UNWINDER:BOOL=OFF

//Enable to build Debian packages
CPACK_BINARY_DEB:BOOL=OFF

//Enable to build FreeBSD packages
CPACK_BINARY_FREEBSD:BOOL=OFF

//Enable to build IFW packages
CPACK_BINARY_IFW:BOOL=OFF

//Enable to build NSIS packages
CPACK_BINARY_NSIS:BOOL=OFF

//Enable to build RPM packages
CPACK_BINARY_RPM:BOOL=OFF

//Enable to build STGZ packages
CPACK_BINARY_STGZ:BOOL=ON

//Enable to build TBZ2 packages
CPACK_BINARY_TBZ2:BOOL=OFF

//Enable to build TGZ packages
CPACK_BINARY_TGZ:BOOL=ON

//Enable to build TXZ packages
CPACK_BINARY_TXZ:BOOL=OFF

//Enable to build TZ packages
CPACK_BINARY_TZ:BOOL=ON

//Enable to build RPM source packages
CPACK_SOURCE_RPM:BOOL=OFF

//Enable to build TBZ2 source packages
CPACK_SOURCE_TBZ2:BOOL=ON

//Enable to build TGZ source packages
CPACK_SOURCE_TGZ:BOOL=ON

//Enable to build TXZ source packages
CPACK_SOURCE_TXZ:BOOL=ON

//Enable to build TZ source packages
CPACK_SOURCE_TZ:BOOL=ON

//Enable to build ZIP source packages
CPACK_SOURCE_ZIP:BOOL=OFF

//Compile device code in 64 bit mode
CUDA_64_BIT_DEVICE_CODE:BOOL=ON

//Attach the build rule to the CUDA source file.  Enable only when
// the CUDA source file is added to at most one target.
CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE:BOOL=ON

//Generate and parse .cubin files in Device mode.
CUDA_BUILD_CUBIN:BOOL=OFF

//Build in Emulation mode
CUDA_BUILD_EMULATION:BOOL=OFF

//"cudart" library
CUDA_CUDART_LIBRARY:FILEPATH=CUDA_CUDART_LIBRARY-NOTFOUND

//"cuda" library (older versions only).
CUDA_CUDA_LIBRARY:FILEPATH=CUDA_CUDA_LIBRARY-NOTFOUND

//Directory to put all the output files.  If blank it will default
// to the CMAKE_CURRENT_BINARY_DIR
CUDA_GENERATED_OUTPUT_DIR:PATH=

//Generated file extension
CUDA_HOST_COMPILATION_CPP:BOOL=ON

//Host side compiler used by NVCC
CUDA_HOST_COMPILER:FILEPATH=/usr/local/llvm-16.0.0/bin/clang

//Path to a program.
CUDA_NVCC_EXECUTABLE:FILEPATH=CUDA_NVCC_EXECUTABLE-NOTFOUND

//Semi-colon delimit multiple arguments. during all build types.
CUDA_NVCC_FLAGS:STRING=

//Semi-colon delimit multiple arguments. during DEBUG builds.
CUDA_NVCC_FLAGS_DEBUG:STRING=

//Semi-colon delimit multiple arguments. during MINSIZEREL builds.
CUDA_NVCC_FLAGS_MINSIZEREL:STRING=

//Semi-colon delimit multiple arguments. during RELEASE builds.
CUDA_NVCC_FLAGS_RELEASE:STRING=

//Semi-colon delimit multiple arguments. during RELWITHDEBINFO
// builds.
CUDA_NVCC_FLAGS_RELWITHDEBINFO:STRING=

//Propagate C/CXX_FLAGS and friends to the host compiler via -Xcompile
CUDA_PROPAGATE_HOST_FLAGS:BOOL=ON

//Path to a file.
CUDA_SDK_ROOT_DIR:PATH=CUDA_SDK_ROOT_DIR-NOTFOUND

//Compile CUDA objects with separable compilation enabled.  Requires
// CUDA 5.0+
CUDA_SEPARABLE_COMPILATION:BOOL=OFF

//Path to a file.
CUDA_TOOLKIT_INCLUDE:PATH=CUDA_TOOLKIT_INCLUDE-NOTFOUND

//Print out the commands run while compiling the CUDA source file.
//  With the Makefile generator this defaults to VERBOSE variable
// specified on the command line, but can be forced on with this
// option.
CUDA_VERBOSE_BUILD:BOOL=OFF

//"cublas" library
CUDA_cublas_LIBRARY:FILEPATH=CUDA_cublas_LIBRARY-NOTFOUND

//"cublasemu" library
CUDA_cublasemu_LIBRARY:FILEPATH=CUDA_cublasemu_LIBRARY-NOTFOUND

//"cufft" library
CUDA_cufft_LIBRARY:FILEPATH=CUDA_cufft_LIBRARY-NOTFOUND

//"cufftemu" library
CUDA_cufftemu_LIBRARY:FILEPATH=CUDA_cufftemu_LIBRARY-NOTFOUND

//Path to a library.
CURSES_CURSES_LIBRARY:FILEPATH=CURSES_CURSES_LIBRARY-NOTFOUND

//Path to a library.
CURSES_FORM_LIBRARY:FILEPATH=CURSES_FORM_LIBRARY-NOTFOUND

//Path to a file.
CURSES_INCLUDE_PATH:PATH=CURSES_INCLUDE_PATH-NOTFOUND

//Path to a library.
CURSES_NCURSES_LIBRARY:FILEPATH=CURSES_NCURSES_LIBRARY-NOTFOUND

//Colon separated list of directories clang will search for headers.
C_INCLUDE_DIRS:STRING=

//Default  to all compiler invocations for --sysroot=.
DEFAULT_SYSROOT:STRING=

//Dot tool for use with Doxygen
DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND

//Doxygen documentation generation tool (http://www.doxygen.org)
DOXYGEN_EXECUTABLE:FILEPATH=DOXYGEN_EXECUTABLE-NOTFOUND

//Path to a program.
DTRACE:FILEPATH=DTRACE-NOTFOUND

//pass --build-id to ld
ENABLE_LINKER_BUILD_ID:BOOL=OFF

//enable x86 relax relocations by default
ENABLE_X86_RELAX_RELOCATIONS:BOOL=ON

//The directory containing a CMake configuration file for FBSDVMCore.
FBSDVMCore_DIR:PATH=FBSDVMCore_DIR-NOTFOUND

//Additional directory, where CMake should search for ffi.h or
// ffi/ffi.h
FFI_INCLUDE_DIR:PATH=

//Additional directory, where CMake should search for libffi.so
FFI_LIBRARY_DIR:PATH=

//Directory where gcc is installed.
GCC_INSTALL_PREFIX:PATH=

//Path to a program.
GDB_FOUND:FILEPATH=/home/bjodah/.local/bin/gdb

//Git command line client
GIT_EXECUTABLE:FILEPATH=GIT_EXECUTABLE-NOTFOUND

//GNU ld
GNU_LD_EXECUTABLE:FILEPATH=/usr/bin/ld.bfd

//The gold linker
GOLD_EXECUTABLE:FILEPATH=/usr/bin/ld.gold

//Path to gRPC library manual installation.
GRPC_INSTALL_PATH:PATH=

//OK
HAVE_STD_REGEX:BOOL=ON

//Extra compiler flags to send to the test compiler.
LIBARCHER_TEST_FLAGS:STRING=

//Build libclang as a static library (in addition to a shared one)
LIBCLANG_BUILD_STATIC:BOOL=OFF

//Major version number that will be appended to the libclang library
LIBCLANG_LIBRARY_VERSION:STRING=16

//Path to a file.
LIBLZMA_INCLUDE_DIR:PATH=LIBLZMA_INCLUDE_DIR-NOTFOUND

//Path to a library.
LIBLZMA_LIBRARY_DEBUG:FILEPATH=LIBLZMA_LIBRARY_DEBUG-NOTFOUND

//Path to a library.
LIBLZMA_LIBRARY_RELEASE:FILEPATH=LIBLZMA_LIBRARY_RELEASE-NOTFOUND

//Use -stdlibc++ instead of -libc++ library for C++ 
LIBOMPD_LD_STD_FLAGS:BOOL=FALSE

//Path to a program.
LIBOMPTARGET_AMDGPU_ARCH:FILEPATH=/home/bjodah/.local/llvm-16/bin/amdgpu-arch

//Whether to build AMDGPU plugin
LIBOMPTARGET_BUILD_AMDGPU_PLUGIN:BOOL=TRUE

//Whether to build CUDA plugin
LIBOMPTARGET_BUILD_CUDA_PLUGIN:BOOL=TRUE

//Can be set to false to disable building this library.
LIBOMPTARGET_BUILD_DEVICERTL_BCLIB:BOOL=TRUE

//Path to a library.
LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES:FILEPATH=LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES-NOTFOUND

//Path to a file.
LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR:PATH=LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR-NOTFOUND

//Path to a library.
LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES:FILEPATH=LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES-NOTFOUND

//Path to a file.
LIBOMPTARGET_DEP_VEO_INCLUDE_DIR:PATH=LIBOMPTARGET_DEP_VEO_INCLUDE_DIR-NOTFOUND

//Path to a library.
LIBOMPTARGET_DEP_VEO_LIBRARIES:FILEPATH=LIBOMPTARGET_DEP_VEO_LIBRARIES-NOTFOUND

//Allow debug output with the environment variable LIBOMPTARGET_DEBUG=1
LIBOMPTARGET_ENABLE_DEBUG:BOOL=OFF

//Build AMDGPU libomptarget tests
LIBOMPTARGET_FORCE_AMDGPU_TESTS:BOOL=OFF

//Build with dlopened libcuda
LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA:BOOL=OFF

//Build with dlopened libhsa
LIBOMPTARGET_FORCE_DLOPEN_LIBHSA:BOOL=OFF

//Build NVIDIA libomptarget tests
LIBOMPTARGET_FORCE_NVIDIA_TESTS:BOOL=OFF

//Path to folder containing llvm library libomptarget.so
LIBOMPTARGET_LLVM_LIBRARY_DIR:STRING=/tmp/llvm-16/build-llvm-16.0.0/./lib

//Path to a program.
LIBOMPTARGET_NVPTX_ARCH:FILEPATH=/home/bjodah/.local/llvm-16/bin/nvptx-arch

//List of CUDA Compute Capabilities to be used to compile the NVPTX
// DeviceRTL.
LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES:STRING=35;37;50;52;53;60;61;62;70;72;75;80;86;89;90

//OMPT-target-support?
LIBOMPTARGET_OMPT_SUPPORT:BOOL=TRUE

//Path to folder containing omp.h
LIBOMPTARGET_OPENMP_HEADER_FOLDER:STRING=/tmp/llvm-16/build-llvm-16.0.0/projects/openmp/runtime/src

//Path to folder containing libomp.so, and libLLVMSupport.so with
// profiling enabled
LIBOMPTARGET_OPENMP_HOST_RTL_FOLDER:STRING=/tmp/llvm-16/build-llvm-16.0.0/./lib

//Appended user specified assembler flags.
LIBOMP_ASMFLAGS:STRING=

//Should exports be copied into source exports/ directory?
LIBOMP_COPY_EXPORTS:STRING=FALSE

//Appended user specified C preprocessor flags.
LIBOMP_CPPFLAGS:STRING=

//Appended user specified C++ compiler flags.
LIBOMP_CXXFLAGS:STRING=

//Shared library instead of static library?
LIBOMP_ENABLE_SHARED:BOOL=TRUE

//Appended user specified Fortran compiler flags.  These are only
// used if LIBOMP_FORTRAN_MODULES==TRUE.
LIBOMP_FFLAGS:STRING=

//Create Fortran module files? (requires fortran compiler)
LIBOMP_FORTRAN_MODULES:BOOL=FALSE

//Install path for hwloc library
LIBOMP_HWLOC_INSTALL_DIR:PATH=/usr/local

//Install libgomp and libiomp5 library aliases for backwards compatibility
LIBOMP_INSTALL_ALIASES:BOOL=TRUE

//Appended user specified linker flags.
LIBOMP_LDFLAGS:STRING=

//Appended user specified linked libs flags. (e.g., -lm)
LIBOMP_LIBFLAGS:STRING=

//Base OMP library name
LIBOMP_LIB_NAME:STRING=libomp

//Performance,Profiling,Stubs library (normal/profile/stubs)
LIBOMP_LIB_TYPE:STRING=normal

//Intel(R) Many Integrated Core Architecture (Intel(R) MIC Architecture)
// (knf/knc).  Ignored if not Intel(R) MIC Architecture build.
LIBOMP_MIC_ARCH:STRING=knc

//Build gdb-plugin code that enables OMPD support in GDB.
LIBOMP_OMPD_GDB_SUPPORT:BOOL=OFF

//OMPD-support?
LIBOMP_OMPD_SUPPORT:BOOL=TRUE

//Trace OMPT initialization?
LIBOMP_OMPT_DEBUG:BOOL=FALSE

//OMPT-optional?
LIBOMP_OMPT_OPTIONAL:BOOL=TRUE

//OMPT-support?
LIBOMP_OMPT_SUPPORT:BOOL=TRUE

//For Mac builds, semicolon separated list of architectures to
// build for universal fat binary.
LIBOMP_OSX_ARCHITECTURES:STRING=

//Path to a program.
LIBOMP_SHELL:FILEPATH=/usr/bin/sh

//Stats-Gathering functionality?
LIBOMP_STATS:BOOL=FALSE

//Should Intel(R) TSX lock be compiled (adaptive lock in kmp_lock.cpp).
//  These are x86 specific.
LIBOMP_USE_ADAPTIVE_LOCKS:BOOL=TRUE

//Enable debugger interface code?
LIBOMP_USE_DEBUGGER:BOOL=FALSE

//Hierarchical scheduling support?
LIBOMP_USE_HIER_SCHED:BOOL=FALSE

//Use Hwloc (http://www.open-mpi.org/projects/hwloc/) library for
// affinity?
LIBOMP_USE_HWLOC:BOOL=FALSE

//Should larger alignment (4096 bytes) be used for some locks and
// data structures?
LIBOMP_USE_INTERNODE_ALIGNMENT:BOOL=FALSE

//Enable ITT notify?
LIBOMP_USE_ITT_NOTIFY:BOOL=TRUE

//Should 128-bit precision entry points be built?
LIBOMP_USE_QUAD_PRECISION:BOOL=FALSE

//Should we link to C++ library?
LIBOMP_USE_STDCPPLIB:BOOL=FALSE

//Should version symbols be used? These provide binary compatibility
// with libgomp.
LIBOMP_USE_VERSION_SYMBOLS:BOOL=1

//Path to a file.
LIBXML2_INCLUDE_DIR:PATH=LIBXML2_INCLUDE_DIR-NOTFOUND

//Path to a library.
LIBXML2_LIBRARY:FILEPATH=LIBXML2_LIBRARY-NOTFOUND

//Path to a program.
LIBXML2_XMLLINT_EXECUTABLE:FILEPATH=/usr/bin/xmllint

//Build LLDB.framework (Darwin only)
LLDB_BUILD_FRAMEWORK:BOOL=OFF

//Enable Building of Intel(R) Memory Protection Extensions
LLDB_BUILD_INTEL_MPX:BOOL=ON

//Enable Building of Intel(R) Processor Trace Tool
LLDB_BUILD_INTEL_PT:BOOL=OFF

//Enable curses support in LLDB On, Off or Auto (default)
LLDB_ENABLE_CURSES:STRING=Auto

//Enable libfbsdvmcore support in LLDB On, Off or Auto (default)
LLDB_ENABLE_FBSDVMCORE:STRING=Auto

//Enable editline support in LLDB On, Off or Auto (default)
LLDB_ENABLE_LIBEDIT:STRING=Auto

//Enable Libxml 2 support in LLDB On, Off or Auto (default)
LLDB_ENABLE_LIBXML2:STRING=Auto

//Enable Lua scripting support in LLDB On, Off or Auto (default)
LLDB_ENABLE_LUA:STRING=Auto

//Enable LZMA compression support in LLDB On, Off or Auto (default)
LLDB_ENABLE_LZMA:STRING=Auto

//Enable Python scripting support in LLDB On, Off or Auto (default)
LLDB_ENABLE_PYTHON:STRING=Auto

//Enable SWIG to generate LLDB bindings On, Off or Auto (default)
LLDB_ENABLE_SWIG:STRING=Auto

//Causes lldb to export all symbols when building liblldb.
LLDB_EXPORT_ALL_SYMBOLS:BOOL=0

//Path to the global lldbinit directory. Relative paths are resolved
// relative to the
//\n  directory containing the LLDB library.
LLDB_GLOBAL_INIT_DIRECTORY:STRING=

//Generate build targets for the LLDB unit tests.
LLDB_INCLUDE_TESTS:BOOL=ON

//Disable default RPATH settings in binaries
LLDB_NO_INSTALL_DEFAULT_RPATH:BOOL=OFF

//Whether to skip generating a dSYM when installing lldb.
LLDB_SKIP_DSYM:BOOL=OFF

//Whether to skip stripping of binaries when installing lldb.
LLDB_SKIP_STRIP:BOOL=OFF

//Native TableGen executable. Saves building one when cross-compiling.
LLDB_TABLEGEN:STRING=lldb-tblgen

//Specify the architecture to run LLDB tests as (x86|x64).  Determines
// whether tests are compiled with -m32 or -m64
LLDB_TEST_ARCH:STRING=x86_64

//The build root for building tests.
LLDB_TEST_BUILD_DIRECTORY:PATH=/tmp/llvm-16/build-llvm-16.0.0/lldb-test-build.noindex

//C Compiler to use for building LLDB test inferiors
LLDB_TEST_COMPILER:PATH=/tmp/llvm-16/build-llvm-16.0.0/./bin/clang

//dsymutil used for generating dSYM bundles
LLDB_TEST_DSYMUTIL:PATH=/tmp/llvm-16/build-llvm-16.0.0/./bin/dsymutil

//lldb executable used for testing
LLDB_TEST_EXECUTABLE:PATH=/tmp/llvm-16/build-llvm-16.0.0/./bin/lldb

//The Clang module cache used by the Clang while building tests.
LLDB_TEST_MODULE_CACHE_CLANG:PATH=/tmp/llvm-16/build-llvm-16.0.0/lldb-test-build.noindex/module-cache-clang

//The Clang module cache used by the Clang embedded in LLDB while
// running tests.
LLDB_TEST_MODULE_CACHE_LLDB:PATH=/tmp/llvm-16/build-llvm-16.0.0/lldb-test-build.noindex/module-cache-lldb

//Specify additional arguments to pass to test runner. For example:
// '-C gcc -C clang -A i386 -A x86_64'
LLDB_TEST_USER_ARGS:STRING=

//Whether to build lldb-instr as part of LLDB
LLDB_TOOL_LLDB_INSTR_BUILD:BOOL=ON

//Whether to build lldb-server as part of LLDB
LLDB_TOOL_LLDB_SERVER_BUILD:BOOL=ON

//Whether to build lldb-vscode as part of LLDB
LLDB_TOOL_LLDB_VSCODE_BUILD:BOOL=ON

//When codesigning, use entitlements if available
LLDB_USE_ENTITLEMENTS:BOOL=ON

//Use the system's debugserver for testing (Darwin only).
LLDB_USE_SYSTEM_DEBUGSERVER:BOOL=OFF

//Build the lld tools. If OFF, just generate build targets.
LLD_BUILD_TOOLS:BOOL=ON

//Use MinGW as the default backend for ld.lld. If OFF, ELF will
// be used.
LLD_DEFAULT_LD_LLD_IS_MINGW:BOOL=OFF

//Path for CMake subdirectory for LLD (defaults to 'lib/cmake/lld')
LLD_INSTALL_PACKAGE_DIR:STRING=lib/cmake/lld

//Path for binary subdirectory (defaults to 'bin')
LLD_TOOLS_INSTALL_DIR:PATH=bin

//Enable VTune user task tracking.
LLD_USE_VTUNE:BOOL=OFF

//Vendor-specific text for showing with version information.
LLD_VENDOR:STRING=

//Enable abi-breaking checks.  Can be WITH_ASSERTS, FORCE_ON or
// FORCE_OFF.
LLVM_ABI_BREAKING_CHECKS:STRING=WITH_ASSERTS

//OFF
LLVM_ALLOW_PROBLEMATIC_CONFIGURATIONS:BOOL=OFF

//Embed the version control system revision in LLVM
LLVM_APPEND_VC_REV:BOOL=ON

//Value Computed by CMake
LLVM_BINARY_DIR:STATIC=/tmp/llvm-16/build-llvm-16.0.0

//PATH to binutils/include containing plugin-api.h for gold plugin.
LLVM_BINUTILS_INCDIR:PATH=

//Build 32 bits executables and libraries.
LLVM_BUILD_32_BITS:BOOL=OFF

//Add LLVM benchmark targets to the list of default
//\ntargets. If OFF, benchmarks still could be built using Benchmarks
// target.
LLVM_BUILD_BENCHMARKS:BOOL=OFF

//Build the llvm documentation.
LLVM_BUILD_DOCS:BOOL=OFF

//Build the LLVM example programs. If OFF, just generate build
// targets.
LLVM_BUILD_EXAMPLES:BOOL=OFF

//Build compiler-rt as an external project.
LLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=OFF

//Build LLVM and tools with PGO instrumentation. May be specified
// as IR or Frontend
LLVM_BUILD_INSTRUMENTED:STRING=OFF

//Build LLVM and tools with Code Coverage instrumentation
LLVM_BUILD_INSTRUMENTED_COVERAGE:BOOL=OFF

//Build libllvm-c re-export library (Darwin only)
LLVM_BUILD_LLVM_C_DYLIB:BOOL=OFF

//Build libllvm dynamic library
LLVM_BUILD_LLVM_DYLIB:BOOL=OFF

//Build the LLVM runtime libraries.
LLVM_BUILD_RUNTIME:BOOL=ON

//Build the LLVM runtimes. If OFF, just generate build targets.
LLVM_BUILD_RUNTIMES:BOOL=ON

//Build LLVM unit tests. If OFF, just generate build targets.
LLVM_BUILD_TESTS:BOOL=OFF

//Build the LLVM tools. If OFF, just generate build targets.
LLVM_BUILD_TOOLS:BOOL=ON

//Build LLVM utility binaries. If OFF, just generate build targets.
LLVM_BUILD_UTILS:BOOL=ON

//Statically link Bye into tools (if available)
LLVM_BYE_LINK_INTO_TOOLS:BOOL=OFF

//Set to ON for a ccache enabled build
LLVM_CCACHE_BUILD:BOOL=OFF

//Sign executables and dylibs with the given identity or skip if
// empty (Darwin Only)
LLVM_CODESIGNING_IDENTITY:STRING=

//Default target for which LLVM will generate code.
LLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-unknown-linux-gnu

//Dependency debugging mode to verify correctly expressed library
// dependencies (Darwin only)
LLVM_DEPENDENCY_DEBUGGING:BOOL=OFF

//Semicolon-separated list of components to include in libLLVM,
// or "all".
LLVM_DYLIB_COMPONENTS:STRING=all

//Enable assertions
LLVM_ENABLE_ASSERTIONS:BOOL=OFF

//Enable embedding backtraces on crash.
LLVM_ENABLE_BACKTRACES:BOOL=ON

//Build bindings.
LLVM_ENABLE_BINDINGS:BOOL=ON

//Turn on memory dumps on crashes. Currently only implemented on
// Windows.
LLVM_ENABLE_CRASH_DUMPS:BOOL=OFF

//Enable crash overrides.
LLVM_ENABLE_CRASH_OVERRIDES:BOOL=ON

//Use libcurl for the HTTP client if available. Can be ON, OFF,
// or FORCE_ON
LLVM_ENABLE_CURL:STRING=OFF

//Debug: Prints tablegen patterns that were used for selecting
LLVM_ENABLE_DAGISEL_COV:BOOL=OFF

//Use doxygen to generate llvm API documentation.
LLVM_ENABLE_DOXYGEN:BOOL=OFF

//Enable dump functions even when assertions are disabled
LLVM_ENABLE_DUMP:BOOL=OFF

//Enable Exception handling
LLVM_ENABLE_EH:BOOL=OFF

//Enable expensive checks
LLVM_ENABLE_EXPENSIVE_CHECKS:BOOL=OFF

//Use libffi to call external functions from the interpreter
LLVM_ENABLE_FFI:BOOL=OFF

//Enable collection of GlobalISel rule coverage
LLVM_ENABLE_GISEL_COV:BOOL=OFF

//Use cpp-httplib HTTP server library if available. Can be ON,
// OFF, or FORCE_ON
LLVM_ENABLE_HTTPLIB:STRING=OFF

//Disable optional build system features that cause problems for
// IDE generators
LLVM_ENABLE_IDE:BOOL=OFF

//Build LLVM and tools with IR PGO instrumentation (deprecated)
LLVM_ENABLE_IR_PGO:BOOL=OFF

//Use libc++ if available.
LLVM_ENABLE_LIBCXX:BOOL=OFF

//Use libedit if available.
LLVM_ENABLE_LIBEDIT:BOOL=ON

//Use libpfm for performance counters if available.
LLVM_ENABLE_LIBPFM:BOOL=ON

//Use libxml2 if available. Can be ON, OFF, or FORCE_ON
LLVM_ENABLE_LIBXML2:STRING=ON

//Use lld as C and C++ linker.
LLVM_ENABLE_LLD:BOOL=OFF

//Compile with -fmodules-local-submodule-visibility.
LLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY:BOOL=ON

//Build LLVM with LTO. May be specified as Thin or Full to use
// a particular kind of LTO
LLVM_ENABLE_LTO:STRING=OFF

//Compile with C++ modules enabled.
LLVM_ENABLE_MODULES:BOOL=OFF

//Compile with -gmodules.
LLVM_ENABLE_MODULE_DEBUGGING:BOOL=OFF

//Enable the new pass manager by default.
LLVM_ENABLE_NEW_PASS_MANAGER:BOOL=TRUE

//Build OCaml bindings documentation.
LLVM_ENABLE_OCAMLDOC:BOOL=ON

//Compile with pedantic enabled.
LLVM_ENABLE_PEDANTIC:BOOL=ON

//Enable per-target runtimes directory
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR:BOOL=ON

//Build Position-Independent Code
LLVM_ENABLE_PIC:BOOL=ON

//Enable plugin support
LLVM_ENABLE_PLUGINS:BOOL=ON

//Semicolon-separated list of projects to build (bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;lld;lldb;mlir;openmp;polly;pstl;flang),
// or "all".
LLVM_ENABLE_PROJECTS:STRING=lld;clang;clang-tools-extra;lldb;compiler-rt;openmp

LLVM_ENABLE_PROJECTS_USED:BOOL=ON

//Enable run time type information
LLVM_ENABLE_RTTI:BOOL=OFF

//Semicolon-separated list of runtimes to build, or "all" (libcxx;libcxxabi;libunwind).
// Supported runtimes are libc;libunwind;libcxxabi;pstl;libcxx;compiler-rt;openmp;llvm-libgcc.
LLVM_ENABLE_RUNTIMES:STRING=

//Use Sphinx to generate llvm documentation.
LLVM_ENABLE_SPHINX:BOOL=OFF

//Enable assertions that type is not scalable in implicit conversion
// from TypeSize to uint64_t and calls to getNumElements
LLVM_ENABLE_STRICT_FIXED_SIZE_VECTORS:BOOL=OFF

//Use terminfo database if available.
LLVM_ENABLE_TERMINFO:BOOL=ON

//Use threads if available.
LLVM_ENABLE_THREADS:BOOL=ON

//Emit unwind tables for the libraries
LLVM_ENABLE_UNWIND_TABLES:BOOL=ON

//Enable compiler warnings.
LLVM_ENABLE_WARNINGS:BOOL=ON

//Fail and stop if a warning is triggered.
LLVM_ENABLE_WERROR:BOOL=OFF

//Enable Support for the Z3 constraint solver in LLVM.
LLVM_ENABLE_Z3_SOLVER:BOOL=OFF

//Use zlib for compression/decompression if available. Can be ON,
// OFF, or FORCE_ON
LLVM_ENABLE_ZLIB:STRING=ON

//Use zstd for compression/decompression if available. Can be ON,
// OFF, or FORCE_ON
LLVM_ENABLE_ZSTD:STRING=ON

//Statically link ExampleIRTransforms into tools (if available)
LLVM_EXAMPLEIRTRANSFORMS_LINK_INTO_TOOLS:BOOL=OFF

//Path for examples subdirectory (enabled by LLVM_BUILD_EXAMPLES=ON)
// (defaults to 'examples')
LLVM_EXAMPLES_INSTALL_DIR:STRING=examples

//Semicolon-separated list of experimental targets to build.
LLVM_EXPERIMENTAL_TARGETS_TO_BUILD:STRING=

//Export symbols from LLVM tools so that plugins can import them
LLVM_EXPORT_SYMBOLS_FOR_PLUGINS:BOOL=OFF

//Generate dSYM files and strip executables and libraries (Darwin
// Only)
LLVM_EXTERNALIZE_DEBUGINFO:BOOL=OFF

//Path to bolt source directory
LLVM_EXTERNAL_BOLT_SOURCE_DIR:PATH=

LLVM_EXTERNAL_CLANG_SOURCE_DIR:PATH=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/../clang

LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR:PATH=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/../clang-tools-extra

LLVM_EXTERNAL_COMPILER_RT_SOURCE_DIR:PATH=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/../compiler-rt

//Path to cross-project-tests source directory
LLVM_EXTERNAL_CROSS_PROJECT_TESTS_SOURCE_DIR:PATH=

//Path to dragonegg source directory
LLVM_EXTERNAL_DRAGONEGG_SOURCE_DIR:PATH=

//Path to flang source directory
LLVM_EXTERNAL_FLANG_SOURCE_DIR:PATH=

//Path to libcxxabi source directory
LLVM_EXTERNAL_LIBCXXABI_SOURCE_DIR:PATH=

//Path to libcxx source directory
LLVM_EXTERNAL_LIBCXX_SOURCE_DIR:PATH=

//Path to libc source directory
LLVM_EXTERNAL_LIBC_SOURCE_DIR:PATH=

//Path to libunwind source directory
LLVM_EXTERNAL_LIBUNWIND_SOURCE_DIR:PATH=

//Command used to spawn lit
LLVM_EXTERNAL_LIT:STRING=

LLVM_EXTERNAL_LLDB_SOURCE_DIR:PATH=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/../lldb

LLVM_EXTERNAL_LLD_SOURCE_DIR:PATH=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/../lld

//Path to mlir source directory
LLVM_EXTERNAL_MLIR_SOURCE_DIR:PATH=

LLVM_EXTERNAL_OPENMP_SOURCE_DIR:PATH=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/../openmp

//Path to polly source directory
LLVM_EXTERNAL_POLLY_SOURCE_DIR:PATH=

//Optional arguments for the native tool used in CMake --build
// invocations for external projects.
LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS:STRING=

//Path to pstl source directory
LLVM_EXTERNAL_PSTL_SOURCE_DIR:PATH=

//Additional options to pass to llvm/utils/extract_symbols.py.
//\n  These cannot override the options set by cmake, but can add
// extra options
//\n  such as --tools.
LLVM_EXTRACT_SYMBOLS_FLAGS:STRING=

//Path to a program.
LLVM_FILECHECK_EXE:FILEPATH=LLVM_FILECHECK_EXE-NOTFOUND

//Enable statistics collection for builds that wouldn't normally
// enable it
LLVM_FORCE_ENABLE_STATS:BOOL=OFF

//Set to ON to force using an old, unsupported host toolchain.
LLVM_FORCE_USE_OLD_TOOLCHAIN:BOOL=OFF

//Use tflite
LLVM_HAVE_TFLITE:BOOL=

//Host on which LLVM binaries will run
LLVM_HOST_TRIPLE:STRING=x86_64-unknown-linux-gnu

//Generate benchmark targets. If OFF, benchmarks can't be built.
LLVM_INCLUDE_BENCHMARKS:BOOL=ON

//Generate build targets for llvm documentation.
LLVM_INCLUDE_DOCS:BOOL=ON

//Include DXIL tests
LLVM_INCLUDE_DXIL_TESTS:BOOL=OFF

//Generate build targets for the LLVM examples
LLVM_INCLUDE_EXAMPLES:BOOL=ON

//Generate build targets for the LLVM runtimes.
LLVM_INCLUDE_RUNTIMES:BOOL=ON

//Generate build targets for the LLVM unit tests.
LLVM_INCLUDE_TESTS:BOOL=ON

//Generate build targets for the LLVM tools.
LLVM_INCLUDE_TOOLS:BOOL=ON

//Generate build targets for the LLVM utils.
LLVM_INCLUDE_UTILS:BOOL=ON

//Install symlinks from the binutils tool names to the corresponding
// LLVM tools.
LLVM_INSTALL_BINUTILS_SYMLINKS:BOOL=OFF

//Install symlinks from the cctools tool names to the corresponding
// LLVM tools.
LLVM_INSTALL_CCTOOLS_SYMLINKS:BOOL=OFF

//Doxygen-generated HTML documentation install directory
LLVM_INSTALL_DOXYGEN_HTML_DIR:STRING=share/doc/LLVM/llvm/doxygen-html

//Install the modulemap files in the 'install' target.
LLVM_INSTALL_MODULEMAPS:BOOL=OFF

//OCamldoc-generated HTML documentation install directory
LLVM_INSTALL_OCAMLDOC_HTML_DIR:STRING=share/doc/LLVM/llvm/ocaml-html

//Path for CMake subdirectory for LLVM (defaults to 'lib/cmake/llvm')
LLVM_INSTALL_PACKAGE_DIR:STRING=lib/cmake/llvm

//Only include toolchain files in the 'install' target.
LLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF

//Include utility binaries in the 'install' target.
LLVM_INSTALL_UTILS:BOOL=OFF

//Replace the Windows CRT allocator with any of {rpmalloc|mimalloc|snmalloc}.
// Only works with /MT enabled.
LLVM_INTEGRATED_CRT_ALLOC:PATH=

//Value Computed by CMake
LLVM_IS_TOP_LEVEL:STATIC=ON

//Define suffix of library directory name (32/64)
LLVM_LIBDIR_SUFFIX:STRING=

//Path to fuzzing library for linking with fuzz targets
LLVM_LIB_FUZZING_ENGINE:PATH=

//Link tools against the libllvm dynamic library
LLVM_LINK_LLVM_DYLIB:BOOL=OFF

//Default options for lit
LLVM_LIT_ARGS:STRING=-sv

//If set, an absolute path added as rpath on binaries that do not
// already contain an executable-relative rpath.
LLVM_LOCAL_RPATH:FILEPATH=

//Path to a directory containing prebuilt matching native tools
// (such as llvm-tblgen)
LLVM_NATIVE_TOOL_DIR:PATH=

//Do not add comments to DAG ISel
LLVM_OMIT_DAGISEL_COMMENTS:BOOL=ON

//Force TableGen to be built with optimization
LLVM_OPTIMIZED_TABLEGEN:BOOL=OFF

//Pass -O1 on debug sanitizer builds
LLVM_OPTIMIZE_SANITIZED_BUILDS:BOOL=ON

//Define the maximum number of concurrent compilation jobs (Ninja
// only).
LLVM_PARALLEL_COMPILE_JOBS:STRING=

//Define the maximum number of concurrent link jobs (Ninja only).
LLVM_PARALLEL_LINK_JOBS:STRING=

//Profiling data file to use when compiling in order to improve
// runtime performance.
LLVM_PROFDATA_FILE:FILEPATH=

//Value Computed by CMake
LLVM_SOURCE_DIR:STATIC=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm

//Use prefix for sources
LLVM_SOURCE_PREFIX:STRING=

//.spec file to use for srpm generation
LLVM_SRPM_USER_BINARY_SPECFILE:FILEPATH=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/llvm.spec.in

//Statically link the standard library.
LLVM_STATIC_LINK_CXX_STDLIB:BOOL=OFF

//Native TableGen executable. Saves building one when cross-compiling.
LLVM_TABLEGEN:STRING=llvm-tblgen

//Semicolon-separated list of targets to build, or "all".
LLVM_TARGETS_TO_BUILD:STRING=X86

//Set target to use for LLVM JIT or use "host" for automatic detection.
LLVM_TARGET_ARCH:STRING=host

//The name of environment variable to override default target.
// Disabled by blank.
LLVM_TARGET_TRIPLE_ENV:STRING=

//Set to ON to only warn when using a toolchain which is about
// to be deprecated, instead of emitting an error.
LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN:BOOL=OFF

//Set ThinLTO cache path. This can be used when building LLVM from
// several different directiories.
LLVM_THINLTO_CACHE_PATH:STRING=/tmp/llvm-16/build-llvm-16.0.0/lto.cache

//Directory containing third party software used by LLVM (e.g.
// googletest)
LLVM_THIRD_PARTY_DIR:STRING=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm/../third-party

//Path for binary subdirectory (defaults to 'bin')
LLVM_TOOLS_INSTALL_DIR:STRING=bin

//Whether to build bolt as part of LLVM
LLVM_TOOL_BOLT_BUILD:BOOL=FALSE

//Whether to build bugpoint as part of LLVM
LLVM_TOOL_BUGPOINT_BUILD:BOOL=ON

//Whether to build bugpoint-passes as part of LLVM
LLVM_TOOL_BUGPOINT_PASSES_BUILD:BOOL=ON

//Whether to build clang as part of LLVM
LLVM_TOOL_CLANG_BUILD:BOOL=TRUE

//Whether to build clang-tools-extra as part of LLVM
LLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD:BOOL=TRUE

//Whether to build compiler-rt as part of LLVM
LLVM_TOOL_COMPILER_RT_BUILD:BOOL=TRUE

//Whether to build cross-project-tests as part of LLVM
LLVM_TOOL_CROSS_PROJECT_TESTS_BUILD:BOOL=FALSE

//Whether to build dragonegg as part of LLVM
LLVM_TOOL_DRAGONEGG_BUILD:BOOL=OFF

//Whether to build dsymutil as part of LLVM
LLVM_TOOL_DSYMUTIL_BUILD:BOOL=ON

//Whether to build dxil-dis as part of LLVM
LLVM_TOOL_DXIL_DIS_BUILD:BOOL=ON

//Whether to build flang as part of LLVM
LLVM_TOOL_FLANG_BUILD:BOOL=FALSE

//Whether to build gold as part of LLVM
LLVM_TOOL_GOLD_BUILD:BOOL=ON

//Whether to build LIBCLC as part of LLVM
LLVM_TOOL_LIBCLC_BUILD:BOOL=FALSE

//Whether to build libcxxabi as part of LLVM
LLVM_TOOL_LIBCXXABI_BUILD:BOOL=OFF

//Whether to build libcxx as part of LLVM
LLVM_TOOL_LIBCXX_BUILD:BOOL=OFF

//Whether to build libc as part of LLVM
LLVM_TOOL_LIBC_BUILD:BOOL=FALSE

//Whether to build libunwind as part of LLVM
LLVM_TOOL_LIBUNWIND_BUILD:BOOL=OFF

//Whether to build llc as part of LLVM
LLVM_TOOL_LLC_BUILD:BOOL=ON

//Whether to build lldb as part of LLVM
LLVM_TOOL_LLDB_BUILD:BOOL=TRUE

//Whether to build lld as part of LLVM
LLVM_TOOL_LLD_BUILD:BOOL=TRUE

//Whether to build lli as part of LLVM
LLVM_TOOL_LLI_BUILD:BOOL=ON

//Whether to build llvm-ar as part of LLVM
LLVM_TOOL_LLVM_AR_BUILD:BOOL=ON

//Whether to build llvm-as as part of LLVM
LLVM_TOOL_LLVM_AS_BUILD:BOOL=ON

//Whether to build llvm-as-fuzzer as part of LLVM
LLVM_TOOL_LLVM_AS_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-bcanalyzer as part of LLVM
LLVM_TOOL_LLVM_BCANALYZER_BUILD:BOOL=ON

//Whether to build llvm-cat as part of LLVM
LLVM_TOOL_LLVM_CAT_BUILD:BOOL=ON

//Whether to build llvm-cfi-verify as part of LLVM
LLVM_TOOL_LLVM_CFI_VERIFY_BUILD:BOOL=ON

//Whether to build llvm-config as part of LLVM
LLVM_TOOL_LLVM_CONFIG_BUILD:BOOL=ON

//Whether to build llvm-cov as part of LLVM
LLVM_TOOL_LLVM_COV_BUILD:BOOL=ON

//Whether to build llvm-cvtres as part of LLVM
LLVM_TOOL_LLVM_CVTRES_BUILD:BOOL=ON

//Whether to build llvm-cxxdump as part of LLVM
LLVM_TOOL_LLVM_CXXDUMP_BUILD:BOOL=ON

//Whether to build llvm-cxxfilt as part of LLVM
LLVM_TOOL_LLVM_CXXFILT_BUILD:BOOL=ON

//Whether to build llvm-cxxmap as part of LLVM
LLVM_TOOL_LLVM_CXXMAP_BUILD:BOOL=ON

//Whether to build llvm-c-test as part of LLVM
LLVM_TOOL_LLVM_C_TEST_BUILD:BOOL=ON

//Whether to build llvm-debuginfod as part of LLVM
LLVM_TOOL_LLVM_DEBUGINFOD_BUILD:BOOL=ON

//Whether to build llvm-debuginfod-find as part of LLVM
LLVM_TOOL_LLVM_DEBUGINFOD_FIND_BUILD:BOOL=ON

//Whether to build llvm-debuginfo-analyzer as part of LLVM
LLVM_TOOL_LLVM_DEBUGINFO_ANALYZER_BUILD:BOOL=ON

//Whether to build llvm-diff as part of LLVM
LLVM_TOOL_LLVM_DIFF_BUILD:BOOL=ON

//Whether to build llvm-dis as part of LLVM
LLVM_TOOL_LLVM_DIS_BUILD:BOOL=ON

//Whether to build llvm-dis-fuzzer as part of LLVM
LLVM_TOOL_LLVM_DIS_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-dlang-demangle-fuzzer as part of LLVM
LLVM_TOOL_LLVM_DLANG_DEMANGLE_FUZZER_BUILD:BOOL=ON

//Whether to build LLVM_DRIVER as part of LLVM
LLVM_TOOL_LLVM_DRIVER_BUILD:BOOL=OFF

//Whether to build llvm-dwarfdump as part of LLVM
LLVM_TOOL_LLVM_DWARFDUMP_BUILD:BOOL=ON

//Whether to build llvm-dwarfutil as part of LLVM
LLVM_TOOL_LLVM_DWARFUTIL_BUILD:BOOL=ON

//Whether to build llvm-dwp as part of LLVM
LLVM_TOOL_LLVM_DWP_BUILD:BOOL=ON

//Whether to build llvm-exegesis as part of LLVM
LLVM_TOOL_LLVM_EXEGESIS_BUILD:BOOL=ON

//Whether to build llvm-extract as part of LLVM
LLVM_TOOL_LLVM_EXTRACT_BUILD:BOOL=ON

//Whether to build llvm-gsymutil as part of LLVM
LLVM_TOOL_LLVM_GSYMUTIL_BUILD:BOOL=ON

//Whether to build llvm-ifs as part of LLVM
LLVM_TOOL_LLVM_IFS_BUILD:BOOL=ON

//Whether to build llvm-isel-fuzzer as part of LLVM
LLVM_TOOL_LLVM_ISEL_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-itanium-demangle-fuzzer as part of LLVM
LLVM_TOOL_LLVM_ITANIUM_DEMANGLE_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-jitlink as part of LLVM
LLVM_TOOL_LLVM_JITLINK_BUILD:BOOL=ON

//Whether to build LLVM_JITLISTENER as part of LLVM
LLVM_TOOL_LLVM_JITLISTENER_BUILD:BOOL=ON

//Whether to build llvm-libtool-darwin as part of LLVM
LLVM_TOOL_LLVM_LIBTOOL_DARWIN_BUILD:BOOL=ON

//Whether to build llvm-link as part of LLVM
LLVM_TOOL_LLVM_LINK_BUILD:BOOL=ON

//Whether to build llvm-lipo as part of LLVM
LLVM_TOOL_LLVM_LIPO_BUILD:BOOL=ON

//Whether to build llvm-lto2 as part of LLVM
LLVM_TOOL_LLVM_LTO2_BUILD:BOOL=ON

//Whether to build llvm-lto as part of LLVM
LLVM_TOOL_LLVM_LTO_BUILD:BOOL=ON

//Whether to build llvm-mca as part of LLVM
LLVM_TOOL_LLVM_MCA_BUILD:BOOL=ON

//Whether to build llvm-mc-assemble-fuzzer as part of LLVM
LLVM_TOOL_LLVM_MC_ASSEMBLE_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-mc as part of LLVM
LLVM_TOOL_LLVM_MC_BUILD:BOOL=ON

//Whether to build llvm-mc-disassemble-fuzzer as part of LLVM
LLVM_TOOL_LLVM_MC_DISASSEMBLE_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-microsoft-demangle-fuzzer as part of LLVM
LLVM_TOOL_LLVM_MICROSOFT_DEMANGLE_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-ml as part of LLVM
LLVM_TOOL_LLVM_ML_BUILD:BOOL=ON

//Whether to build llvm-modextract as part of LLVM
LLVM_TOOL_LLVM_MODEXTRACT_BUILD:BOOL=ON

//Whether to build llvm-mt as part of LLVM
LLVM_TOOL_LLVM_MT_BUILD:BOOL=ON

//Whether to build llvm-nm as part of LLVM
LLVM_TOOL_LLVM_NM_BUILD:BOOL=ON

//Whether to build llvm-objcopy as part of LLVM
LLVM_TOOL_LLVM_OBJCOPY_BUILD:BOOL=ON

//Whether to build llvm-objdump as part of LLVM
LLVM_TOOL_LLVM_OBJDUMP_BUILD:BOOL=ON

//Whether to build llvm-opt-fuzzer as part of LLVM
LLVM_TOOL_LLVM_OPT_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-opt-report as part of LLVM
LLVM_TOOL_LLVM_OPT_REPORT_BUILD:BOOL=ON

//Whether to build llvm-pdbutil as part of LLVM
LLVM_TOOL_LLVM_PDBUTIL_BUILD:BOOL=ON

//Whether to build llvm-profdata as part of LLVM
LLVM_TOOL_LLVM_PROFDATA_BUILD:BOOL=ON

//Whether to build llvm-profgen as part of LLVM
LLVM_TOOL_LLVM_PROFGEN_BUILD:BOOL=ON

//Whether to build llvm-rc as part of LLVM
LLVM_TOOL_LLVM_RC_BUILD:BOOL=ON

//Whether to build llvm-readobj as part of LLVM
LLVM_TOOL_LLVM_READOBJ_BUILD:BOOL=ON

//Whether to build llvm-reduce as part of LLVM
LLVM_TOOL_LLVM_REDUCE_BUILD:BOOL=ON

//Whether to build llvm-remarkutil as part of LLVM
LLVM_TOOL_LLVM_REMARKUTIL_BUILD:BOOL=ON

//Whether to build llvm-remark-size-diff as part of LLVM
LLVM_TOOL_LLVM_REMARK_SIZE_DIFF_BUILD:BOOL=ON

//Whether to build llvm-rtdyld as part of LLVM
LLVM_TOOL_LLVM_RTDYLD_BUILD:BOOL=ON

//Whether to build llvm-rust-demangle-fuzzer as part of LLVM
LLVM_TOOL_LLVM_RUST_DEMANGLE_FUZZER_BUILD:BOOL=ON

//Whether to build LLVM_SHLIB as part of LLVM
LLVM_TOOL_LLVM_SHLIB_BUILD:BOOL=ON

//Whether to build llvm-sim as part of LLVM
LLVM_TOOL_LLVM_SIM_BUILD:BOOL=ON

//Whether to build llvm-size as part of LLVM
LLVM_TOOL_LLVM_SIZE_BUILD:BOOL=ON

//Whether to build llvm-special-case-list-fuzzer as part of LLVM
LLVM_TOOL_LLVM_SPECIAL_CASE_LIST_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-split as part of LLVM
LLVM_TOOL_LLVM_SPLIT_BUILD:BOOL=ON

//Whether to build llvm-stress as part of LLVM
LLVM_TOOL_LLVM_STRESS_BUILD:BOOL=ON

//Whether to build llvm-strings as part of LLVM
LLVM_TOOL_LLVM_STRINGS_BUILD:BOOL=ON

//Whether to build llvm-symbolizer as part of LLVM
LLVM_TOOL_LLVM_SYMBOLIZER_BUILD:BOOL=ON

//Whether to build llvm-tapi-diff as part of LLVM
LLVM_TOOL_LLVM_TAPI_DIFF_BUILD:BOOL=ON

//Whether to build llvm-tli-checker as part of LLVM
LLVM_TOOL_LLVM_TLI_CHECKER_BUILD:BOOL=ON

//Whether to build llvm-undname as part of LLVM
LLVM_TOOL_LLVM_UNDNAME_BUILD:BOOL=ON

//Whether to build llvm-xray as part of LLVM
LLVM_TOOL_LLVM_XRAY_BUILD:BOOL=ON

//Whether to build llvm-yaml-numeric-parser-fuzzer as part of LLVM
LLVM_TOOL_LLVM_YAML_NUMERIC_PARSER_FUZZER_BUILD:BOOL=ON

//Whether to build llvm-yaml-parser-fuzzer as part of LLVM
LLVM_TOOL_LLVM_YAML_PARSER_FUZZER_BUILD:BOOL=ON

//Whether to build lto as part of LLVM
LLVM_TOOL_LTO_BUILD:BOOL=ON

//Whether to build mlir as part of LLVM
LLVM_TOOL_MLIR_BUILD:BOOL=FALSE

//Whether to build obj2yaml as part of LLVM
LLVM_TOOL_OBJ2YAML_BUILD:BOOL=ON

//Whether to build openmp as part of LLVM
LLVM_TOOL_OPENMP_BUILD:BOOL=TRUE

//Whether to build opt as part of LLVM
LLVM_TOOL_OPT_BUILD:BOOL=ON

//Whether to build opt-viewer as part of LLVM
LLVM_TOOL_OPT_VIEWER_BUILD:BOOL=ON

//Whether to build polly as part of LLVM
LLVM_TOOL_POLLY_BUILD:BOOL=FALSE

//Whether to build pstl as part of LLVM
LLVM_TOOL_PSTL_BUILD:BOOL=FALSE

//Whether to build remarks-shlib as part of LLVM
LLVM_TOOL_REMARKS_SHLIB_BUILD:BOOL=ON

//Whether to build sancov as part of LLVM
LLVM_TOOL_SANCOV_BUILD:BOOL=ON

//Whether to build sanstats as part of LLVM
LLVM_TOOL_SANSTATS_BUILD:BOOL=ON

//Whether to build verify-uselistorder as part of LLVM
LLVM_TOOL_VERIFY_USELISTORDER_BUILD:BOOL=ON

//Whether to build vfabi-demangle-fuzzer as part of LLVM
LLVM_TOOL_VFABI_DEMANGLE_FUZZER_BUILD:BOOL=ON

//Whether to build xcode-toolchain as part of LLVM
LLVM_TOOL_XCODE_TOOLCHAIN_BUILD:BOOL=ON

//Whether to build yaml2obj as part of LLVM
LLVM_TOOL_YAML2OBJ_BUILD:BOOL=ON

//Compile flags set to enable UBSan. Only used if LLVM_USE_SANITIZER
// contains 'Undefined'.
LLVM_UBSAN_FLAGS:STRING=-fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all

//Optimize llvm_unreachable() as undefined behavior (default),
// guaranteed trap when OFF
LLVM_UNREACHABLE_OPTIMIZE:BOOL=ON

//Enable solution folders in Visual Studio. Disable for Express
// versions.
LLVM_USE_FOLDERS:BOOL=ON

//Use Intel JIT API to inform Intel(R) VTune(TM) Amplifier XE 2011
// about JIT code
LLVM_USE_INTEL_JITEVENTS:BOOL=OFF

//Use opagent JIT interface to inform OProfile about JIT code
LLVM_USE_OPROFILE:BOOL=OFF

//Use perf JIT interface to inform perf about JIT code
LLVM_USE_PERF:BOOL=OFF

//Use relative paths in debug info
LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO:BOOL=OFF

//Use relative paths in sources and debug info
LLVM_USE_RELATIVE_PATHS_IN_FILES:BOOL=OFF

//Define the sanitizer used to build binaries and tests.
LLVM_USE_SANITIZER:STRING=

//Use -gsplit-dwarf when compiling llvm and --gdb-index when linking.
LLVM_USE_SPLIT_DWARF:BOOL=OFF

//Use static version of zstd. Can be TRUE, FALSE
LLVM_USE_STATIC_ZSTD:BOOL=FALSE

//Use symlinks instead of copying binaries
LLVM_USE_SYMLINKS:BOOL=ON

//Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON)
// (defaults to LLVM_TOOLS_INSTALL_DIR)
LLVM_UTILS_INSTALL_DIR:STRING=bin

//Show target and host info when tools are invoked with --version.
LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO:BOOL=ON

//Value profile counters to use per site for IR PGO with Clang
LLVM_VP_COUNTERS_PER_SITE:STRING=1.5

//Prefer path names with forward slashes on Windows.
LLVM_WINDOWS_PREFER_FORWARD_SLASH:BOOL=OFF

//Install directory of the Z3 solver.
LLVM_Z3_INSTALL_DIR:STRING=

//Path to a program.
LSB_RELEASE:FILEPATH=/usr/bin/lsb_release

//Path to a file.
LibEdit_INCLUDE_DIRS:PATH=LibEdit_INCLUDE_DIRS-NOTFOUND

//Path to a library.
LibEdit_LIBRARIES:FILEPATH=LibEdit_LIBRARIES-NOTFOUND

//Ninja version number
NINJA_VERSION:STRING=1.10.2

//Path to a program.
OCAMLFIND:FILEPATH=OCAMLFIND-NOTFOUND

//Extra compiler flags to send to the test compiler
OMPT_LOAD_CLIENT_TEST_CFLAGS:STRING=

//Enable building libomptarget for offloading.
OPENMP_ENABLE_LIBOMPTARGET:BOOL=ON

//Enable time profiling for libomp.
OPENMP_ENABLE_LIBOMP_PROFILING:BOOL=OFF

//Enable building ompt based tools for OpenMP.
OPENMP_ENABLE_OMPT_TOOLS:BOOL=ON

//Build dll with MSVC naming scheme.
OPENMP_MSVC_NAME_SCHEME:BOOL=OFF

//Extra compiler flags to send to the test compiler.
OPENMP_TEST_FLAGS:STRING=

//OpenMP compiler flag to use for testing OpenMP runtime libraries.
OPENMP_TEST_OPENMP_FLAGS:STRING=-fopenmp -pthread

//Path for binary subdirectory (defaults to 'bin')
OPENMP_TOOLS_INSTALL_DIR:PATH=bin

//The curses panel library
PANEL_LIBRARIES:FILEPATH=PANEL_LIBRARIES-NOTFOUND

//Path to a program.
PERL_EXECUTABLE:FILEPATH=/usr/bin/perl

//Arguments to supply to pkg-config
PKG_CONFIG_ARGN:STRING=

//pkg-config executable
PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config

//Enable IEEE binary128 as default long double format on PowerPC
// Linux.
PPC_LINUX_DEFAULT_IEEELONGDOUBLE:BOOL=OFF

//Failed to find python module 'pygments'
PY_PYGMENTS_FOUND:BOOL=OFF

//Failed to find python module 'pygments.lexers.c_cpp'
PY_PYGMENTS_LEXERS_C_CPP_FOUND:BOOL=OFF

//Failed to find python module 'yaml'
PY_YAML_FOUND:BOOL=OFF

//Allow use of C++ ABI details in ubsan
SANITIZER_ALLOW_CXXABI:BOOL=ON

//Specify C++ ABI library to use.
SANITIZER_CXX_ABI:STRING=default

//Report error on unresolved symbol references
SANITIZER_NO_UNDEFINED_SYMBOLS:BOOL=OFF

//Specify C++ library to use for tests.
SANITIZER_TEST_CXX:STRING=default

//Use static libc++abi.
SANITIZER_USE_STATIC_CXX_ABI:BOOL=OFF

//Use static LLVM unwinder.
SANITIZER_USE_STATIC_LLVM_UNWINDER:BOOL=OFF

//Use static libc++ for tests.
SANITIZER_USE_STATIC_TEST_CXX:BOOL=OFF

//Path to a program.
SWIG_EXECUTABLE:FILEPATH=SWIG_EXECUTABLE-NOTFOUND

//Path to TensorFlow pip install dir
TENSORFLOW_AOT_PATH:PATH=

//Plist name
TOOL_INFO_PLIST:STRING=Info.plist

//Path to a library.
Terminfo_LIBRARIES:FILEPATH=Terminfo_LIBRARIES-NOTFOUND

//Path to a file.
ZLIB_INCLUDE_DIR:PATH=/usr/include

//Path to a library.
ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND

//Path to a library.
ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libz.so

//Value Computed by CMake
benchmark_BINARY_DIR:STATIC=/tmp/llvm-16/build-llvm-16.0.0/third-party/benchmark

//Value Computed by CMake
benchmark_IS_TOP_LEVEL:STATIC=OFF

//Dependencies for the target
benchmark_LIB_DEPENDS:STATIC=general;rt;

//Value Computed by CMake
benchmark_SOURCE_DIR:STATIC=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/third-party/benchmark

//Dependencies for the target
benchmark_main_LIB_DEPENDS:STATIC=general;benchmark::benchmark;

clang_tidy_confusable_chars_gen:STRING=$

clang_tidy_confusable_chars_gen_target:STRING=clang-tidy-confusable-chars-gen

//Path to a library.
cuda-library:FILEPATH=cuda-library-NOTFOUND

//The directory containing a CMake configuration file for hsa-runtime64.
hsa-runtime64_DIR:PATH=hsa-runtime64_DIR-NOTFOUND

//Value Computed by CMake
libompd_BINARY_DIR:STATIC=/tmp/llvm-16/build-llvm-16.0.0/projects/openmp/libompd/src

//Value Computed by CMake
libompd_IS_TOP_LEVEL:STATIC=OFF

//Value Computed by CMake
libompd_SOURCE_DIR:STATIC=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/openmp/libompd/src

pseudo_gen:STRING=$

pseudo_gen_target:STRING=clang-pseudo-gen

//Path to a file.
zstd_INCLUDE_DIR:PATH=zstd_INCLUDE_DIR-NOTFOUND

//Path to a library.
zstd_LIBRARY:FILEPATH=zstd_LIBRARY-NOTFOUND

//Path to a library.
zstd_STATIC_LIBRARY:FILEPATH=zstd_STATIC_LIBRARY-NOTFOUND

########################
# INTERNAL cache entries
########################

//Test -Warray-bounds
-Warray-bounds:INTERNAL=
//Test -Warray-bounds-pointer-arithmetic
-Warray-bounds-pointer-arithmetic:INTERNAL=
//Test -Wbuiltin-memcpy-chk-size
-Wbuiltin-memcpy-chk-size:INTERNAL=
//Test -Wempty-body
-Wempty-body:INTERNAL=
//Test -Wformat-insufficient-args
-Wformat-insufficient-args:INTERNAL=
//Test -Wformat-security
-Wformat-security:INTERNAL=
//Test -Wreturn-stack-address
-Wreturn-stack-address:INTERNAL=
//Test -Wshadow
-Wshadow:INTERNAL=
//Test -Wsizeof-array-argument
-Wsizeof-array-argument:INTERNAL=
//Test -Wsizeof-array-decay
-Wsizeof-array-decay:INTERNAL=
//Test -Wsizeof-array-div
-Wsizeof-array-div:INTERNAL=
//Test -Wsizeof-pointer-div
-Wsizeof-pointer-div:INTERNAL=
//Test -Wsizeof-pointer-memaccess
-Wsizeof-pointer-memaccess:INTERNAL=
//Test -Wsuspicious-memaccess
-Wsuspicious-memaccess:INTERNAL=
//Test -Wuninitialized
-Wuninitialized:INTERNAL=
//Test -ftrivial-auto-var-init=pattern
-ftrivial-auto-var-init=pattern:INTERNAL=
//ADVANCED property for variable: BENCHMARK_CXX_FLAGS_COVERAGE
BENCHMARK_CXX_FLAGS_COVERAGE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: BENCHMARK_EXE_LINKER_FLAGS_COVERAGE
BENCHMARK_EXE_LINKER_FLAGS_COVERAGE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: BENCHMARK_SHARED_LINKER_FLAGS_COVERAGE
BENCHMARK_SHARED_LINKER_FLAGS_COVERAGE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Backtrace_HEADER
Backtrace_HEADER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Backtrace_INCLUDE_DIR
Backtrace_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Backtrace_LIBRARY
Backtrace_LIBRARY-ADVANCED:INTERNAL=1
//Result of TRY_COMPILE
CAN_TARGET_x86_64:INTERNAL=TRUE
//ADVANCED property for variable: CLANG_ENABLE_HLSL
CLANG_ENABLE_HLSL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_EXECUTABLE_VERSION
CLANG_EXECUTABLE_VERSION-ADVANCED:INTERNAL=1
//Have include sys/resource.h
CLANG_HAVE_RLIMITS:INTERNAL=1
CLANG_TABLEGEN_EXE:INTERNAL=clang-tblgen
//ADVANCED property for variable: CLANG_TOOLS_INSTALL_DIR
CLANG_TOOLS_INSTALL_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_AMDGPU_ARCH_BUILD
CLANG_TOOL_AMDGPU_ARCH_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_APINOTES_TEST_BUILD
CLANG_TOOL_APINOTES_TEST_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_ARCMT_TEST_BUILD
CLANG_TOOL_ARCMT_TEST_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_CHECK_BUILD
CLANG_TOOL_CLANG_CHECK_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_DIFF_BUILD
CLANG_TOOL_CLANG_DIFF_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_EXTDEF_MAPPING_BUILD
CLANG_TOOL_CLANG_EXTDEF_MAPPING_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_FORMAT_BUILD
CLANG_TOOL_CLANG_FORMAT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_FORMAT_VS_BUILD
CLANG_TOOL_CLANG_FORMAT_VS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_FUZZER_BUILD
CLANG_TOOL_CLANG_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_IMPORT_TEST_BUILD
CLANG_TOOL_CLANG_IMPORT_TEST_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_LINKER_WRAPPER_BUILD
CLANG_TOOL_CLANG_LINKER_WRAPPER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_OFFLOAD_BUNDLER_BUILD
CLANG_TOOL_CLANG_OFFLOAD_BUNDLER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_OFFLOAD_PACKAGER_BUILD
CLANG_TOOL_CLANG_OFFLOAD_PACKAGER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_REFACTOR_BUILD
CLANG_TOOL_CLANG_REFACTOR_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_RENAME_BUILD
CLANG_TOOL_CLANG_RENAME_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_REPL_BUILD
CLANG_TOOL_CLANG_REPL_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_SCAN_DEPS_BUILD
CLANG_TOOL_CLANG_SCAN_DEPS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_CLANG_SHLIB_BUILD
CLANG_TOOL_CLANG_SHLIB_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_C_ARCMT_TEST_BUILD
CLANG_TOOL_C_ARCMT_TEST_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_C_INDEX_TEST_BUILD
CLANG_TOOL_C_INDEX_TEST_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_DIAGTOOL_BUILD
CLANG_TOOL_DIAGTOOL_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_DRIVER_BUILD
CLANG_TOOL_DRIVER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_LIBCLANG_BUILD
CLANG_TOOL_LIBCLANG_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_NVPTX_ARCH_BUILD
CLANG_TOOL_NVPTX_ARCH_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_SCAN_BUILD_BUILD
CLANG_TOOL_SCAN_BUILD_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_SCAN_BUILD_PY_BUILD
CLANG_TOOL_SCAN_BUILD_PY_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CLANG_TOOL_SCAN_VIEW_BUILD
CLANG_TOOL_SCAN_VIEW_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ADDR2LINE
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_COMPILER
CMAKE_ASM_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_COMPILER_AR
CMAKE_ASM_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_COMPILER_RANLIB
CMAKE_ASM_COMPILER_RANLIB-ADVANCED:INTERNAL=1
CMAKE_ASM_COMPILER_WORKS:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_FLAGS
CMAKE_ASM_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_FLAGS_DEBUG
CMAKE_ASM_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_FLAGS_MINSIZEREL
CMAKE_ASM_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_FLAGS_RELEASE
CMAKE_ASM_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO
CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/tmp/llvm-16/build-llvm-16.0.0
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=24
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/home/bjodah/.local/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/home/bjodah/.local/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/home/bjodah/.local/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_DLLTOOL
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
//Path to cache edit program executable.
CMAKE_EDIT_COMMAND:INTERNAL=/home/bjodah/.local/bin/ccmake
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Test CMAKE_HAVE_LIBC_PTHREAD
CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
//Have library pthreads
CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
//Have library pthread
CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/tmp/llvm-16/llvm-project-llvmorg-16.0.0/llvm
//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=879
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/home/bjodah/.local/share/cmake-3.24
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_BUILTINS
COMPILER_RT_BUILD_BUILTINS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_CRT
COMPILER_RT_BUILD_CRT-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_GWP_ASAN
COMPILER_RT_BUILD_GWP_ASAN-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_LIBFUZZER
COMPILER_RT_BUILD_LIBFUZZER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_MEMPROF
COMPILER_RT_BUILD_MEMPROF-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_ORC
COMPILER_RT_BUILD_ORC-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_PROFILE
COMPILER_RT_BUILD_PROFILE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_SANITIZERS
COMPILER_RT_BUILD_SANITIZERS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC
COMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_XRAY
COMPILER_RT_BUILD_XRAY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_BUILD_XRAY_NO_PREINIT
COMPILER_RT_BUILD_XRAY_NO_PREINIT-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY
COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_DISABLE_AARCH64_FMV
COMPILER_RT_DISABLE_AARCH64_FMV-ADVANCED:INTERNAL=1
//Compiler supports 
COMPILER_RT_HAS_ASM_LSE:INTERNAL=False
//Compiler supports 
COMPILER_RT_HAS_ATOMIC_KEYWORD:INTERNAL=True
//Have include sys/auxv.h
COMPILER_RT_HAS_AUXV:INTERNAL=1
//Test COMPILER_RT_HAS_EXTERNAL_FLAG
COMPILER_RT_HAS_EXTERNAL_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_FCF_PROTECTION_FLAG
COMPILER_RT_HAS_FCF_PROTECTION_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FFREESTANDING_FLAG
COMPILER_RT_HAS_FFREESTANDING_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG
COMPILER_RT_HAS_FNO_BUILTIN_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_COVERAGE_MAPPING_FLAG
COMPILER_RT_HAS_FNO_COVERAGE_MAPPING_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG
COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG
COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_LTO_FLAG
COMPILER_RT_HAS_FNO_LTO_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_PARTIAL_INLINING_FLAG
COMPILER_RT_HAS_FNO_PARTIAL_INLINING_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG
COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG
COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG
COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_RTTI_FLAG
COMPILER_RT_HAS_FNO_RTTI_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG
COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG
COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG
COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FPIC_FLAG
COMPILER_RT_HAS_FPIC_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FPIE_FLAG
COMPILER_RT_HAS_FPIE_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FRTTI_FLAG
COMPILER_RT_HAS_FRTTI_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC
COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC:INTERNAL=1
//Have symbol __func__
COMPILER_RT_HAS_FUNC_SYMBOL:INTERNAL=1
//Test COMPILER_RT_HAS_FUNWIND_TABLES_FLAG
COMPILER_RT_HAS_FUNWIND_TABLES_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FUSE_LD_LLD_FLAG
COMPILER_RT_HAS_FUSE_LD_LLD_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG
COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG
COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG:INTERNAL=1
//Have library gcc_s
COMPILER_RT_HAS_GCC_S_LIB:INTERNAL=1
//Test COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG
COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_GR_FLAG
COMPILER_RT_HAS_GR_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_GS_FLAG
COMPILER_RT_HAS_GS_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_G_FLAG
COMPILER_RT_HAS_G_FLAG:INTERNAL=1
//Have library atomic
COMPILER_RT_HAS_LIBATOMIC:INTERNAL=
//Have library c
COMPILER_RT_HAS_LIBC:INTERNAL=1
//Have library c++
COMPILER_RT_HAS_LIBCXX:INTERNAL=1
//Have library dl
COMPILER_RT_HAS_LIBDL:INTERNAL=1
//Have library execinfo
COMPILER_RT_HAS_LIBEXECINFO:INTERNAL=
//Have library m
COMPILER_RT_HAS_LIBM:INTERNAL=1
//Have library pthread
COMPILER_RT_HAS_LIBPTHREAD:INTERNAL=1
//Have library rt
COMPILER_RT_HAS_LIBRT:INTERNAL=1
//Have library stdc++
COMPILER_RT_HAS_LIBSTDCXX:INTERNAL=1
//Test COMPILER_RT_HAS_MCRC32_FLAG
COMPILER_RT_HAS_MCRC32_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_MCRC_FLAG
COMPILER_RT_HAS_MCRC_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_MSSE3_FLAG
COMPILER_RT_HAS_MSSE3_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_MSSE4_2_FLAG
COMPILER_RT_HAS_MSSE4_2_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_MT_FLAG
COMPILER_RT_HAS_MT_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_NOSTDINCXX_FLAG
COMPILER_RT_HAS_NOSTDINCXX_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_NOSTDLIBXX_FLAG
COMPILER_RT_HAS_NOSTDLIBXX_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG
COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_Oy_FLAG
COMPILER_RT_HAS_Oy_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_STD_C11_FLAG
COMPILER_RT_HAS_STD_C11_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_SYSROOT_FLAG
COMPILER_RT_HAS_SYSROOT_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_VERSION_SCRIPT
COMPILER_RT_HAS_VERSION_SCRIPT:INTERNAL=1
//Compiler supports -fvisibility=hidden
COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG:INTERNAL=True
//Test COMPILER_RT_HAS_W4_FLAG
COMPILER_RT_HAS_W4_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_WALL_FLAG
COMPILER_RT_HAS_WALL_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG
COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG
COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WD4146_FLAG
COMPILER_RT_HAS_WD4146_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_WD4206_FLAG
COMPILER_RT_HAS_WD4206_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_WD4221_FLAG
COMPILER_RT_HAS_WD4221_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_WD4291_FLAG
COMPILER_RT_HAS_WD4291_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_WD4391_FLAG
COMPILER_RT_HAS_WD4391_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_WD4722_FLAG
COMPILER_RT_HAS_WD4722_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_WD4800_FLAG
COMPILER_RT_HAS_WD4800_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_WERROR_FLAG
COMPILER_RT_HAS_WERROR_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG
COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG
COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WGNU_FLAG
COMPILER_RT_HAS_WGNU_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WNON_VIRTUAL_DTOR_FLAG
COMPILER_RT_HAS_WNON_VIRTUAL_DTOR_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WNO_FORMAT
COMPILER_RT_HAS_WNO_FORMAT:INTERNAL=1
//Test COMPILER_RT_HAS_WNO_FORMAT_PEDANTIC
COMPILER_RT_HAS_WNO_FORMAT_PEDANTIC:INTERNAL=1
//Test COMPILER_RT_HAS_WNO_PEDANTIC
COMPILER_RT_HAS_WNO_PEDANTIC:INTERNAL=1
//Test COMPILER_RT_HAS_WSUGGEST_OVERRIDE_FLAG
COMPILER_RT_HAS_WSUGGEST_OVERRIDE_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WTHREAD_SAFETY_BETA_FLAG
COMPILER_RT_HAS_WTHREAD_SAFETY_BETA_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WTHREAD_SAFETY_FLAG
COMPILER_RT_HAS_WTHREAD_SAFETY_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WTHREAD_SAFETY_REFERENCE_FLAG
COMPILER_RT_HAS_WTHREAD_SAFETY_REFERENCE_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG
COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG
COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG:INTERNAL=1
//Test COMPILER_RT_HAS_WX_FLAG
COMPILER_RT_HAS_WX_FLAG:INTERNAL=
//Compiler supports -fxray-instrument
COMPILER_RT_HAS_XRAY_COMPILER_FLAG:INTERNAL=True
//Test COMPILER_RT_HAS_Z_TEXT
COMPILER_RT_HAS_Z_TEXT:INTERNAL=1
//Test COMPILER_RT_HAS_Zi_FLAG
COMPILER_RT_HAS_Zi_FLAG:INTERNAL=
//Test COMPILER_RT_HAS_x86_64_BFLOAT16
COMPILER_RT_HAS_x86_64_BFLOAT16:INTERNAL=
//Test COMPILER_RT_HAS_x86_64_FLOAT16
COMPILER_RT_HAS_x86_64_FLOAT16:INTERNAL=
//ADVANCED property for variable: COMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED
COMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED-ADVANCED:INTERNAL=1
//ADVANCED property for variable: COMPILER_RT_SCUDO_STANDALONE_SYSROOT_PATH
COMPILER_RT_SCUDO_STANDALONE_SYSROOT_PATH-ADVANCED:INTERNAL=1
//Test COMPILER_RT_TARGET_HAS_ATOMICS
COMPILER_RT_TARGET_HAS_ATOMICS:INTERNAL=1
//Test COMPILER_RT_TARGET_HAS_FCNTL_LCK
COMPILER_RT_TARGET_HAS_FCNTL_LCK:INTERNAL=1
//Test COMPILER_RT_TARGET_HAS_UNAME
COMPILER_RT_TARGET_HAS_UNAME:INTERNAL=1
//Result of TRY_COMPILE
COMPILE_HAVE_GNU_POSIX_REGEX:INTERNAL=FALSE
//Result of TRY_COMPILE
COMPILE_HAVE_POSIX_REGEX:INTERNAL=TRUE
//Result of TRY_COMPILE
COMPILE_HAVE_STEADY_CLOCK:INTERNAL=TRUE
//Result of TRY_COMPILE
COMPILE_HAVE_THREAD_SAFETY_ATTRIBUTES:INTERNAL=FALSE
//ADVANCED property for variable: CPACK_BINARY_DEB
CPACK_BINARY_DEB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_FREEBSD
CPACK_BINARY_FREEBSD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_IFW
CPACK_BINARY_IFW-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_NSIS
CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_RPM
CPACK_BINARY_RPM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_STGZ
CPACK_BINARY_STGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TBZ2
CPACK_BINARY_TBZ2-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TGZ
CPACK_BINARY_TGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TXZ
CPACK_BINARY_TXZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TZ
CPACK_BINARY_TZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_RPM
CPACK_SOURCE_RPM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TBZ2
CPACK_SOURCE_TBZ2-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TGZ
CPACK_SOURCE_TGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TXZ
CPACK_SOURCE_TXZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TZ
CPACK_SOURCE_TZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_ZIP
CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_64_BIT_DEVICE_CODE
CUDA_64_BIT_DEVICE_CODE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE
CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_BUILD_CUBIN
CUDA_BUILD_CUBIN-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_BUILD_EMULATION
CUDA_BUILD_EMULATION-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_CUDART_LIBRARY
CUDA_CUDART_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_CUDA_LIBRARY
CUDA_CUDA_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_GENERATED_OUTPUT_DIR
CUDA_GENERATED_OUTPUT_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_HOST_COMPILATION_CPP
CUDA_HOST_COMPILATION_CPP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_EXECUTABLE
CUDA_NVCC_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS
CUDA_NVCC_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS_DEBUG
CUDA_NVCC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS_MINSIZEREL
CUDA_NVCC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS_RELEASE
CUDA_NVCC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_NVCC_FLAGS_RELWITHDEBINFO
CUDA_NVCC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_PROPAGATE_HOST_FLAGS
CUDA_PROPAGATE_HOST_FLAGS-ADVANCED:INTERNAL=1
//This is the value of the last time CUDA_SDK_ROOT_DIR was set
// successfully.
CUDA_SDK_ROOT_DIR_INTERNAL:INTERNAL=CUDA_SDK_ROOT_DIR-NOTFOUND
//ADVANCED property for variable: CUDA_SEPARABLE_COMPILATION
CUDA_SEPARABLE_COMPILATION-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_TOOLKIT_INCLUDE
CUDA_TOOLKIT_INCLUDE-ADVANCED:INTERNAL=1
//This is the value of the last time CUDA_TOOLKIT_ROOT_DIR was
// set successfully.
CUDA_TOOLKIT_ROOT_DIR_INTERNAL:INTERNAL=
//This is the value of the last time CUDA_TOOLKIT_TARGET_DIR was
// set successfully.
CUDA_TOOLKIT_TARGET_DIR_INTERNAL:INTERNAL=
CUDA_USE_STATIC_CUDA_RUNTIME:INTERNAL=OFF
//ADVANCED property for variable: CUDA_VERBOSE_BUILD
CUDA_VERBOSE_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cublas_LIBRARY
CUDA_cublas_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cublasemu_LIBRARY
CUDA_cublasemu_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cufft_LIBRARY
CUDA_cufft_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cufftemu_LIBRARY
CUDA_cufftemu_LIBRARY-ADVANCED:INTERNAL=1
//Location of make2cmake.cmake
CUDA_make2cmake:INTERNAL=/home/bjodah/.local/share/cmake-3.24/Modules/FindCUDA/make2cmake.cmake
//Location of parse_cubin.cmake
CUDA_parse_cubin:INTERNAL=/home/bjodah/.local/share/cmake-3.24/Modules/FindCUDA/parse_cubin.cmake
//Location of run_nvcc.cmake
CUDA_run_nvcc:INTERNAL=/home/bjodah/.local/share/cmake-3.24/Modules/FindCUDA/run_nvcc.cmake
//ADVANCED property for variable: CURSES_CURSES_LIBRARY
CURSES_CURSES_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CURSES_FORM_LIBRARY
CURSES_FORM_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CURSES_INCLUDE_PATH
CURSES_INCLUDE_PATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CURSES_NCURSES_LIBRARY
CURSES_NCURSES_LIBRARY-ADVANCED:INTERNAL=1
//Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG
CXX_SUPPORTS_CLASS_MEMACCESS_FLAG:INTERNAL=
//Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG
CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_DEPRECATED_DECLARATIONS
CXX_SUPPORTS_DEPRECATED_DECLARATIONS:INTERNAL=1
//Test CXX_SUPPORTS_DEPRECATED_REGISTER
CXX_SUPPORTS_DEPRECATED_REGISTER:INTERNAL=1
//Test CXX_SUPPORTS_FDATA_SECTIONS
CXX_SUPPORTS_FDATA_SECTIONS:INTERNAL=1
//Test CXX_SUPPORTS_FFUNCTION_SECTIONS
CXX_SUPPORTS_FFUNCTION_SECTIONS:INTERNAL=1
//Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION:INTERNAL=1
//Test CXX_SUPPORTS_FPIC
CXX_SUPPORTS_FPIC:INTERNAL=1
//Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG
CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG
CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG
CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG
CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_STRICT_ALIASING
CXX_SUPPORTS_STRICT_ALIASING:INTERNAL=1
//Test CXX_SUPPORTS_STRINGOP_TRUNCATION
CXX_SUPPORTS_STRINGOP_TRUNCATION:INTERNAL=
//Test CXX_SUPPORTS_STRING_CONVERSION_FLAG
CXX_SUPPORTS_STRING_CONVERSION_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG
CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_UNKNOWN_PRAGMAS
CXX_SUPPORTS_UNKNOWN_PRAGMAS:INTERNAL=1
//Test CXX_SUPPORTS_UNWINDLIB_NONE_FLAG
CXX_SUPPORTS_UNWINDLIB_NONE_FLAG:INTERNAL=1
//Test CXX_SUPPORTS_VLA_EXTENSION
CXX_SUPPORTS_VLA_EXTENSION:INTERNAL=1
//Test CXX_SUPPORTS_WERROR_DATE_TIME
CXX_SUPPORTS_WERROR_DATE_TIME:INTERNAL=1
//Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW
CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW:INTERNAL=1
//Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR
CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR:INTERNAL=1
//Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL
CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL:INTERNAL=1
//Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG:INTERNAL=1
//Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG:INTERNAL=1
//Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG
C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG:INTERNAL=1
//Test C_SUPPORTS_FDATA_SECTIONS
C_SUPPORTS_FDATA_SECTIONS:INTERNAL=1
//Test C_SUPPORTS_FFUNCTION_SECTIONS
C_SUPPORTS_FFUNCTION_SECTIONS:INTERNAL=1
//Test C_SUPPORTS_FNO_FUNCTION_SECTIONS
C_SUPPORTS_FNO_FUNCTION_SECTIONS:INTERNAL=1
//Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION:INTERNAL=1
//Test C_SUPPORTS_FPIC
C_SUPPORTS_FPIC:INTERNAL=1
//Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG
C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG:INTERNAL=1
//Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG
C_SUPPORTS_MISLEADING_INDENTATION_FLAG:INTERNAL=1
//Test C_SUPPORTS_NODEFAULTLIBS_FLAG
C_SUPPORTS_NODEFAULTLIBS_FLAG:INTERNAL=1
//Test C_SUPPORTS_STRING_CONVERSION_FLAG
C_SUPPORTS_STRING_CONVERSION_FLAG:INTERNAL=1
//Test C_SUPPORTS_WERROR_DATE_TIME
C_SUPPORTS_WERROR_DATE_TIME:INTERNAL=1
//Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW
C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW:INTERNAL=1
//Test C_WCOMMENT_ALLOWS_LINE_WRAP
C_WCOMMENT_ALLOWS_LINE_WRAP:INTERNAL=1
//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: DOXYGEN_EXECUTABLE
DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
//Details about finding Backtrace
FIND_PACKAGE_MESSAGE_DETAILS_Backtrace:INTERNAL=[/usr/include][v()]
//Details about finding Perl
FIND_PACKAGE_MESSAGE_DETAILS_Perl:INTERNAL=[/usr/bin/perl][v5.16.3()]
//Details about finding PkgConfig
FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v0.27.1()]
//Details about finding Python3
FIND_PACKAGE_MESSAGE_DETAILS_Python3:INTERNAL=[/usr/bin/python3.6][cfound components: Interpreter ][v3.6.8(3.6)]
//Details about finding Threads
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
//Details about finding ZLIB
FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.7()]
//ADVANCED property for variable: GIT_EXECUTABLE
GIT_EXECUTABLE-ADVANCED:INTERNAL=1
//Test HAS_THREAD_LOCAL
HAS_THREAD_LOCAL:INTERNAL=1
//Test HAS_WERROR_GLOBAL_CTORS
HAS_WERROR_GLOBAL_CTORS:INTERNAL=1
//Have symbol __i386__
HAS_i386_DEF:INTERNAL=
//Have symbol accept4
HAVE_ACCEPT4:INTERNAL=1
//Have include CrashReporterClient.h
HAVE_CRASHREPORTERCLIENT_H:INTERNAL=
//Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
HAVE_CXX_ATOMICS64_WITHOUT_LIB:INTERNAL=1
//Test HAVE_CXX_ATOMICS_WITHOUT_LIB
HAVE_CXX_ATOMICS_WITHOUT_LIB:INTERNAL=1
//Test HAVE_CXX_FLAG_COVERAGE
HAVE_CXX_FLAG_COVERAGE:INTERNAL=
//Test HAVE_CXX_FLAG_FNO_EXCEPTIONS
HAVE_CXX_FLAG_FNO_EXCEPTIONS:INTERNAL=1
//Test HAVE_CXX_FLAG_FSTRICT_ALIASING
HAVE_CXX_FLAG_FSTRICT_ALIASING:INTERNAL=1
//Test HAVE_CXX_FLAG_PEDANTIC
HAVE_CXX_FLAG_PEDANTIC:INTERNAL=1
//Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
HAVE_CXX_FLAG_PEDANTIC_ERRORS:INTERNAL=1
//Test HAVE_CXX_FLAG_STD_CXX11
HAVE_CXX_FLAG_STD_CXX11:INTERNAL=1
//Test HAVE_CXX_FLAG_WALL
HAVE_CXX_FLAG_WALL:INTERNAL=1
//Test HAVE_CXX_FLAG_WD654
HAVE_CXX_FLAG_WD654:INTERNAL=
//Test HAVE_CXX_FLAG_WEXTRA
HAVE_CXX_FLAG_WEXTRA:INTERNAL=1
//Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS
HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS:INTERNAL=1
//Test HAVE_CXX_FLAG_WSHADOW
HAVE_CXX_FLAG_WSHADOW:INTERNAL=1
//Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
HAVE_CXX_FLAG_WSHORTEN_64_TO_32:INTERNAL=1
//Test HAVE_CXX_FLAG_WSTRICT_ALIASING
HAVE_CXX_FLAG_WSTRICT_ALIASING:INTERNAL=1
//Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE
HAVE_CXX_FLAG_WSUGGEST_OVERRIDE:INTERNAL=1
//Test HAVE_CXX_FLAG_WTHREAD_SAFETY
HAVE_CXX_FLAG_WTHREAD_SAFETY:INTERNAL=1
//Have symbol arc4random
HAVE_DECL_ARC4RANDOM:INTERNAL=
//Have symbol FE_ALL_EXCEPT
HAVE_DECL_FE_ALL_EXCEPT:INTERNAL=1
//Have symbol FE_INEXACT
HAVE_DECL_FE_INEXACT:INTERNAL=1
//Have symbol strerror_s
HAVE_DECL_STRERROR_S:INTERNAL=
//Have symbol __deregister_frame
HAVE_DEREGISTER_FRAME:INTERNAL=1
//Have symbol dladdr
HAVE_DLADDR:INTERNAL=1
//Have include dlfcn.h
HAVE_DLFCN_H:INTERNAL=1
//Have symbol dlopen
HAVE_DLOPEN:INTERNAL=1
//Have include errno.h
HAVE_ERRNO_H:INTERNAL=1
//Have include fcntl.h
HAVE_FCNTL_H:INTERNAL=1
//Have include fenv.h
HAVE_FENV_H:INTERNAL=1
//Have symbol futimens
HAVE_FUTIMENS:INTERNAL=1
//Have symbol futimes
HAVE_FUTIMES:INTERNAL=1
//Have symbol getpagesize
HAVE_GETPAGESIZE:INTERNAL=1
//Have symbol getrlimit
HAVE_GETRLIMIT:INTERNAL=1
//Have symbol getrusage
HAVE_GETRUSAGE:INTERNAL=1
//Have include sys/inotify.h
HAVE_INOTIFY:INTERNAL=1
//Have symbol isatty
HAVE_ISATTY:INTERNAL=1
//Have library compression
HAVE_LIBCOMPRESSION:INTERNAL=
//Have library dl
HAVE_LIBDL:INTERNAL=1
//Have library pfm
HAVE_LIBPFM_INITIALIZE:INTERNAL=
//Have library pthread
HAVE_LIBPTHREAD:INTERNAL=1
//Have library rt
HAVE_LIBRT:INTERNAL=1
//Have library rt
HAVE_LIB_RT:INTERNAL=1
//Have include link.h
HAVE_LINK_H:INTERNAL=1
//Have include linux/magic.h
HAVE_LINUX_MAGIC_H:INTERNAL=1
//Have include mach/mach.h
HAVE_MACH_MACH_H:INTERNAL=
//Have symbol mallctl
HAVE_MALLCTL:INTERNAL=
//Have symbol mallinfo
HAVE_MALLINFO:INTERNAL=1
//Have symbol mallinfo2
HAVE_MALLINFO2:INTERNAL=
//Have include malloc/malloc.h
HAVE_MALLOC_MALLOC_H:INTERNAL=
//Have symbol malloc_zone_statistics
HAVE_MALLOC_ZONE_STATISTICS:INTERNAL=
//Have symbol __NR_process_vm_readv
HAVE_NR_PROCESS_VM_READV:INTERNAL=1
//Have symbol posix_spawn
HAVE_POSIX_SPAWN:INTERNAL=1
//Have symbol ppoll
HAVE_PPOLL:INTERNAL=1
//Have symbol pread
HAVE_PREAD:INTERNAL=1
//Have symbol process_vm_readv
HAVE_PROCESS_VM_READV:INTERNAL=1
//Have symbol proc_pid_rusage
HAVE_PROC_PID_RUSAGE:INTERNAL=
//Have symbol pthread_getname_np
HAVE_PTHREAD_GETNAME_NP:INTERNAL=1
//Have include pthread.h
HAVE_PTHREAD_H:INTERNAL=1
//Have library pthread
HAVE_PTHREAD_MUTEX_LOCK:INTERNAL=1
//Have library pthread
HAVE_PTHREAD_RWLOCK_INIT:INTERNAL=1
//Have symbol pthread_setname_np
HAVE_PTHREAD_SETNAME_NP:INTERNAL=1
//Have symbol ptsname_r
HAVE_PTSNAME_R:INTERNAL=1
//Have symbol __register_frame
HAVE_REGISTER_FRAME:INTERNAL=1
//Have include rpc/xdr.h
HAVE_RPC_XDR_H:INTERNAL=1
//Have symbol sbrk
HAVE_SBRK:INTERNAL=1
//Have symbol setenv
HAVE_SETENV:INTERNAL=1
//Have symbol setrlimit
HAVE_SETRLIMIT:INTERNAL=1
//Have symbol sigaltstack
HAVE_SIGALTSTACK:INTERNAL=1
//Have include signal.h
HAVE_SIGNAL_H:INTERNAL=1
//Have symbol strerror
HAVE_STRERROR:INTERNAL=1
//Have symbol strerror_r
HAVE_STRERROR_R:INTERNAL=1
//Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC
HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC:INTERNAL=
//Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC:INTERNAL=1
//Have symbol sysconf
HAVE_SYSCONF:INTERNAL=1
//Have include sysexits.h
HAVE_SYSEXITS_H:INTERNAL=1
//Have includes sys/types.h;sys/event.h
HAVE_SYS_EVENT_H:INTERNAL=
//Have include sys/ioctl.h
HAVE_SYS_IOCTL_H:INTERNAL=1
//Have include sys/mman.h
HAVE_SYS_MMAN_H:INTERNAL=1
//Have include sys/param.h
HAVE_SYS_PARAM_H:INTERNAL=1
//Have include sys/resource.h
HAVE_SYS_RESOURCE_H:INTERNAL=1
//Have include sys/stat.h
HAVE_SYS_STAT_H:INTERNAL=1
//Have include sys/time.h
HAVE_SYS_TIME_H:INTERNAL=1
//Have include sys/types.h
HAVE_SYS_TYPES_H:INTERNAL=1
//Have include termios.h
HAVE_TERMIOS_H:INTERNAL=1
//Have include unistd.h
HAVE_UNISTD_H:INTERNAL=1
//Have include unwind.h
HAVE_UNWIND_H:INTERNAL=1
//Have symbol __unw_add_dynamic_fde
HAVE_UNW_ADD_DYNAMIC_FDE:INTERNAL=
//Have include valgrind/valgrind.h
HAVE_VALGRIND_VALGRIND_H:INTERNAL=
//Have symbol compress2
HAVE_ZLIB:INTERNAL=1
//Have symbol _Unwind_Backtrace
HAVE__UNWIND_BACKTRACE:INTERNAL=1
//Have symbol __x86_64__
IS_X64:INTERNAL=1
//Have function __atomic_load_1
LIBARCHER_HAVE_BUILTIN_ATOMIC:INTERNAL=
//Have library atomic
LIBARCHER_HAVE_LIBATOMIC:INTERNAL=
//ADVANCED property for variable: LIBCLANG_LIBRARY_VERSION
LIBCLANG_LIBRARY_VERSION-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LIBLZMA_INCLUDE_DIR
LIBLZMA_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LIBLZMA_LIBRARY_DEBUG
LIBLZMA_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LIBLZMA_LIBRARY_RELEASE
LIBLZMA_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES
LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES-ADVANCED:INTERNAL=1
LIBOMPTARGET_SEARCH_LIBFFI_CFLAGS:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_CFLAGS_I:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_CFLAGS_OTHER:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_FOUND:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_INCLUDEDIR:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_LIBDIR:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_LIBS:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_LIBS_L:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_LIBS_OTHER:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_LIBS_PATHS:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_MODULE_NAME:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_PREFIX:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_STATIC_CFLAGS:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_STATIC_CFLAGS_I:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_STATIC_CFLAGS_OTHER:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_STATIC_LIBDIR:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_STATIC_LIBS:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_STATIC_LIBS_L:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_STATIC_LIBS_OTHER:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_STATIC_LIBS_PATHS:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_VERSION:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_libffi_INCLUDEDIR:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_libffi_LIBDIR:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_libffi_PREFIX:INTERNAL=
LIBOMPTARGET_SEARCH_LIBFFI_libffi_VERSION:INTERNAL=
//Have symbol aligned_alloc
LIBOMP_HAVE_ALIGNED_ALLOC:INTERNAL=1
//Test LIBOMP_HAVE_AS_NEEDED_FLAG
LIBOMP_HAVE_AS_NEEDED_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_ATTRIBUTE_RTM
LIBOMP_HAVE_ATTRIBUTE_RTM:INTERNAL=1
//Test LIBOMP_HAVE_ATTRIBUTE_WAITPKG
LIBOMP_HAVE_ATTRIBUTE_WAITPKG:INTERNAL=1
//Have function __atomic_load_1
LIBOMP_HAVE_BUILTIN_ATOMIC:INTERNAL=
//Test LIBOMP_HAVE_FNO_EXCEPTIONS_FLAG
LIBOMP_HAVE_FNO_EXCEPTIONS_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_FNO_RTTI_FLAG
LIBOMP_HAVE_FNO_RTTI_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_FTLS_MODEL_FLAG
LIBOMP_HAVE_FTLS_MODEL_FLAG:INTERNAL=1
//Have include immintrin.h
LIBOMP_HAVE_IMMINTRIN_H:INTERNAL=1
//Have library atomic
LIBOMP_HAVE_LIBATOMIC:INTERNAL=
//Have library m
LIBOMP_HAVE_LIBM:INTERNAL=1
//Test LIBOMP_HAVE_M32_FLAG
LIBOMP_HAVE_M32_FLAG:INTERNAL=
//Test LIBOMP_HAVE_MMIC_FLAG
LIBOMP_HAVE_MMIC_FLAG:INTERNAL=
//Test LIBOMP_HAVE_MSSE2_FLAG
LIBOMP_HAVE_MSSE2_FLAG:INTERNAL=1
//Have symbol posix_memalign
LIBOMP_HAVE_POSIX_MEMALIGN:INTERNAL=1
//Test LIBOMP_HAVE_PSAPI
LIBOMP_HAVE_PSAPI:INTERNAL=
//Test LIBOMP_HAVE_RTM_INTRINSICS
LIBOMP_HAVE_RTM_INTRINSICS:INTERNAL=1
//Have symbol shm_open
LIBOMP_HAVE_SHM_OPEN_NO_LRT:INTERNAL=
//Have symbol shm_open
LIBOMP_HAVE_SHM_OPEN_WITH_LRT:INTERNAL=1
//Test LIBOMP_HAVE_STATIC_LIBGCC_FLAG
LIBOMP_HAVE_STATIC_LIBGCC_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_VERSION_SCRIPT_FLAG
LIBOMP_HAVE_VERSION_SCRIPT_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_VERSION_SYMBOLS
LIBOMP_HAVE_VERSION_SYMBOLS:INTERNAL=1
//Test LIBOMP_HAVE_WAITPKG_INTRINSICS
LIBOMP_HAVE_WAITPKG_INTRINSICS:INTERNAL=1
//Test LIBOMP_HAVE_WCAST_QUAL_FLAG
LIBOMP_HAVE_WCAST_QUAL_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_WCLASS_MEMACCESS_FLAG
LIBOMP_HAVE_WCLASS_MEMACCESS_FLAG:INTERNAL=
//Test LIBOMP_HAVE_WCOVERED_SWITCH_DEFAULT_FLAG
LIBOMP_HAVE_WCOVERED_SWITCH_DEFAULT_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_WEAK_ATTRIBUTE
LIBOMP_HAVE_WEAK_ATTRIBUTE:INTERNAL=1
//Test LIBOMP_HAVE_WFRAME_ADDRESS_FLAG
LIBOMP_HAVE_WFRAME_ADDRESS_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_WINT_TO_VOID_POINTER_CAST_FLAG
LIBOMP_HAVE_WINT_TO_VOID_POINTER_CAST_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_WRETURN_TYPE_C_LINKAGE_FLAG
LIBOMP_HAVE_WRETURN_TYPE_C_LINKAGE_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_WSTRICT_ALIASING_FLAG
LIBOMP_HAVE_WSTRICT_ALIASING_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_WSTRINGOP_OVERFLOW_FLAG
LIBOMP_HAVE_WSTRINGOP_OVERFLOW_FLAG:INTERNAL=
//Test LIBOMP_HAVE_WSTRINGOP_TRUNCATION_FLAG
LIBOMP_HAVE_WSTRINGOP_TRUNCATION_FLAG:INTERNAL=
//Test LIBOMP_HAVE_WSWITCH_FLAG
LIBOMP_HAVE_WSWITCH_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_WUNINITIALIZED_FLAG
LIBOMP_HAVE_WUNINITIALIZED_FLAG:INTERNAL=1
//Have include xmmintrin.h
LIBOMP_HAVE_XMMINTRIN_H:INTERNAL=1
//Test LIBOMP_HAVE_X_FLAG
LIBOMP_HAVE_X_FLAG:INTERNAL=1
//Test LIBOMP_HAVE_Z_NOEXECSTACK_FLAG
LIBOMP_HAVE_Z_NOEXECSTACK_FLAG:INTERNAL=1
//Have symbol _aligned_malloc
LIBOMP_HAVE__ALIGNED_MALLOC:INTERNAL=
//Test LIBOMP_HAVE__MM_MALLOC
LIBOMP_HAVE__MM_MALLOC:INTERNAL=1
//Test LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS
LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS:INTERNAL=1
//ADVANCED property for variable: LIBXML2_INCLUDE_DIR
LIBXML2_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LIBXML2_LIBRARY
LIBXML2_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LIBXML2_XMLLINT_EXECUTABLE
LIBXML2_XMLLINT_EXECUTABLE-ADVANCED:INTERNAL=1
//Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS
LINKER_SUPPORTS_COLOR_DIAGNOSTICS:INTERNAL=
//STRING
LLDB_TEST_COMMON_ARGS:INTERNAL=-u;CXXFLAGS;-u;CFLAGS;--env;ARCHIVER=/usr/local/llvm-16.0.0/bin/llvm-ar;--env;OBJCOPY=/usr/local/llvm-16.0.0/bin/llvm-objcopy
//ADVANCED property for variable: LLD_TOOLS_INSTALL_DIR
LLD_TOOLS_INSTALL_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_BUILD_INSTRUMENTED
LLVM_BUILD_INSTRUMENTED-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_BUILD_INSTRUMENTED_COVERAGE
LLVM_BUILD_INSTRUMENTED_COVERAGE-ADVANCED:INTERNAL=1
LLVM_CONFIG_HAS_RTTI:INTERNAL=NO
//ADVANCED property for variable: LLVM_ENABLE_IR_PGO
LLVM_ENABLE_IR_PGO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_ENABLE_PROJECTS_USED
LLVM_ENABLE_PROJECTS_USED-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_EXAMPLES_INSTALL_DIR
LLVM_EXAMPLES_INSTALL_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS
LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS-ADVANCED:INTERNAL=1
//Test LLVM_HAS_ATOMICS
LLVM_HAS_ATOMICS:INTERNAL=1
//Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX
LLVM_HAS_NOGLOBAL_CTOR_MUTEX:INTERNAL=1
//Have library xar
LLVM_HAVE_LIBXAR:INTERNAL=
//ADVANCED property for variable: LLVM_INCLUDE_DXIL_TESTS
LLVM_INCLUDE_DXIL_TESTS-ADVANCED:INTERNAL=1
//Test LLVM_LIBSTDCXX_MIN
LLVM_LIBSTDCXX_MIN:INTERNAL=1
//Test LLVM_LIBSTDCXX_SOFT_ERROR
LLVM_LIBSTDCXX_SOFT_ERROR:INTERNAL=1
LLVM_LINKER_DETECTED:INTERNAL=YES
LLVM_LINKER_IS_GNULD:INTERNAL=YES
//ADVANCED property for variable: LLVM_TARGET_TRIPLE_ENV
LLVM_TARGET_TRIPLE_ENV-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOLS_INSTALL_DIR
LLVM_TOOLS_INSTALL_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_BUGPOINT_BUILD
LLVM_TOOL_BUGPOINT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_BUGPOINT_PASSES_BUILD
LLVM_TOOL_BUGPOINT_PASSES_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_DSYMUTIL_BUILD
LLVM_TOOL_DSYMUTIL_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_DXIL_DIS_BUILD
LLVM_TOOL_DXIL_DIS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_GOLD_BUILD
LLVM_TOOL_GOLD_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLC_BUILD
LLVM_TOOL_LLC_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLI_BUILD
LLVM_TOOL_LLI_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_AR_BUILD
LLVM_TOOL_LLVM_AR_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_AS_BUILD
LLVM_TOOL_LLVM_AS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_AS_FUZZER_BUILD
LLVM_TOOL_LLVM_AS_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_BCANALYZER_BUILD
LLVM_TOOL_LLVM_BCANALYZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_CAT_BUILD
LLVM_TOOL_LLVM_CAT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_CFI_VERIFY_BUILD
LLVM_TOOL_LLVM_CFI_VERIFY_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_CONFIG_BUILD
LLVM_TOOL_LLVM_CONFIG_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_COV_BUILD
LLVM_TOOL_LLVM_COV_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_CVTRES_BUILD
LLVM_TOOL_LLVM_CVTRES_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_CXXDUMP_BUILD
LLVM_TOOL_LLVM_CXXDUMP_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_CXXFILT_BUILD
LLVM_TOOL_LLVM_CXXFILT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_CXXMAP_BUILD
LLVM_TOOL_LLVM_CXXMAP_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_C_TEST_BUILD
LLVM_TOOL_LLVM_C_TEST_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DEBUGINFOD_BUILD
LLVM_TOOL_LLVM_DEBUGINFOD_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DEBUGINFOD_FIND_BUILD
LLVM_TOOL_LLVM_DEBUGINFOD_FIND_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DEBUGINFO_ANALYZER_BUILD
LLVM_TOOL_LLVM_DEBUGINFO_ANALYZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DIFF_BUILD
LLVM_TOOL_LLVM_DIFF_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DIS_BUILD
LLVM_TOOL_LLVM_DIS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DIS_FUZZER_BUILD
LLVM_TOOL_LLVM_DIS_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DLANG_DEMANGLE_FUZZER_BUILD
LLVM_TOOL_LLVM_DLANG_DEMANGLE_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DRIVER_BUILD
LLVM_TOOL_LLVM_DRIVER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DWARFDUMP_BUILD
LLVM_TOOL_LLVM_DWARFDUMP_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DWARFUTIL_BUILD
LLVM_TOOL_LLVM_DWARFUTIL_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_DWP_BUILD
LLVM_TOOL_LLVM_DWP_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_EXEGESIS_BUILD
LLVM_TOOL_LLVM_EXEGESIS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_EXTRACT_BUILD
LLVM_TOOL_LLVM_EXTRACT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_GSYMUTIL_BUILD
LLVM_TOOL_LLVM_GSYMUTIL_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_IFS_BUILD
LLVM_TOOL_LLVM_IFS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_ISEL_FUZZER_BUILD
LLVM_TOOL_LLVM_ISEL_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_ITANIUM_DEMANGLE_FUZZER_BUILD
LLVM_TOOL_LLVM_ITANIUM_DEMANGLE_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_JITLINK_BUILD
LLVM_TOOL_LLVM_JITLINK_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_JITLISTENER_BUILD
LLVM_TOOL_LLVM_JITLISTENER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_LIBTOOL_DARWIN_BUILD
LLVM_TOOL_LLVM_LIBTOOL_DARWIN_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_LINK_BUILD
LLVM_TOOL_LLVM_LINK_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_LIPO_BUILD
LLVM_TOOL_LLVM_LIPO_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_LTO2_BUILD
LLVM_TOOL_LLVM_LTO2_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_LTO_BUILD
LLVM_TOOL_LLVM_LTO_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_MCA_BUILD
LLVM_TOOL_LLVM_MCA_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_MC_ASSEMBLE_FUZZER_BUILD
LLVM_TOOL_LLVM_MC_ASSEMBLE_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_MC_BUILD
LLVM_TOOL_LLVM_MC_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_MC_DISASSEMBLE_FUZZER_BUILD
LLVM_TOOL_LLVM_MC_DISASSEMBLE_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_MICROSOFT_DEMANGLE_FUZZER_BUILD
LLVM_TOOL_LLVM_MICROSOFT_DEMANGLE_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_ML_BUILD
LLVM_TOOL_LLVM_ML_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_MODEXTRACT_BUILD
LLVM_TOOL_LLVM_MODEXTRACT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_MT_BUILD
LLVM_TOOL_LLVM_MT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_NM_BUILD
LLVM_TOOL_LLVM_NM_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_OBJCOPY_BUILD
LLVM_TOOL_LLVM_OBJCOPY_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_OBJDUMP_BUILD
LLVM_TOOL_LLVM_OBJDUMP_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_OPT_FUZZER_BUILD
LLVM_TOOL_LLVM_OPT_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_OPT_REPORT_BUILD
LLVM_TOOL_LLVM_OPT_REPORT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_PDBUTIL_BUILD
LLVM_TOOL_LLVM_PDBUTIL_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_PROFDATA_BUILD
LLVM_TOOL_LLVM_PROFDATA_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_PROFGEN_BUILD
LLVM_TOOL_LLVM_PROFGEN_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_RC_BUILD
LLVM_TOOL_LLVM_RC_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_READOBJ_BUILD
LLVM_TOOL_LLVM_READOBJ_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_REDUCE_BUILD
LLVM_TOOL_LLVM_REDUCE_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_REMARKUTIL_BUILD
LLVM_TOOL_LLVM_REMARKUTIL_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_REMARK_SIZE_DIFF_BUILD
LLVM_TOOL_LLVM_REMARK_SIZE_DIFF_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_RTDYLD_BUILD
LLVM_TOOL_LLVM_RTDYLD_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_RUST_DEMANGLE_FUZZER_BUILD
LLVM_TOOL_LLVM_RUST_DEMANGLE_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_SHLIB_BUILD
LLVM_TOOL_LLVM_SHLIB_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_SIM_BUILD
LLVM_TOOL_LLVM_SIM_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_SIZE_BUILD
LLVM_TOOL_LLVM_SIZE_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_SPECIAL_CASE_LIST_FUZZER_BUILD
LLVM_TOOL_LLVM_SPECIAL_CASE_LIST_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_SPLIT_BUILD
LLVM_TOOL_LLVM_SPLIT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_STRESS_BUILD
LLVM_TOOL_LLVM_STRESS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_STRINGS_BUILD
LLVM_TOOL_LLVM_STRINGS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_SYMBOLIZER_BUILD
LLVM_TOOL_LLVM_SYMBOLIZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_TAPI_DIFF_BUILD
LLVM_TOOL_LLVM_TAPI_DIFF_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_TLI_CHECKER_BUILD
LLVM_TOOL_LLVM_TLI_CHECKER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_UNDNAME_BUILD
LLVM_TOOL_LLVM_UNDNAME_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_XRAY_BUILD
LLVM_TOOL_LLVM_XRAY_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_YAML_NUMERIC_PARSER_FUZZER_BUILD
LLVM_TOOL_LLVM_YAML_NUMERIC_PARSER_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LLVM_YAML_PARSER_FUZZER_BUILD
LLVM_TOOL_LLVM_YAML_PARSER_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_LTO_BUILD
LLVM_TOOL_LTO_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_OBJ2YAML_BUILD
LLVM_TOOL_OBJ2YAML_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_OPT_BUILD
LLVM_TOOL_OPT_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_OPT_VIEWER_BUILD
LLVM_TOOL_OPT_VIEWER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_REMARKS_SHLIB_BUILD
LLVM_TOOL_REMARKS_SHLIB_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_SANCOV_BUILD
LLVM_TOOL_SANCOV_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_SANSTATS_BUILD
LLVM_TOOL_SANSTATS_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_VERIFY_USELISTORDER_BUILD
LLVM_TOOL_VERIFY_USELISTORDER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_VFABI_DEMANGLE_FUZZER_BUILD
LLVM_TOOL_VFABI_DEMANGLE_FUZZER_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_XCODE_TOOLCHAIN_BUILD
LLVM_TOOL_XCODE_TOOLCHAIN_BUILD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_TOOL_YAML2OBJ_BUILD
LLVM_TOOL_YAML2OBJ_BUILD-ADVANCED:INTERNAL=1
//Have symbol __GLIBC__
LLVM_USING_GLIBC:INTERNAL=1
//ADVANCED property for variable: LLVM_UTILS_INSTALL_DIR
LLVM_UTILS_INSTALL_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_VP_COUNTERS_PER_SITE
LLVM_VP_COUNTERS_PER_SITE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LibEdit_INCLUDE_DIRS
LibEdit_INCLUDE_DIRS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LibEdit_LIBRARIES
LibEdit_LIBRARIES-ADVANCED:INTERNAL=1
NCURSES_CFLAGS:INTERNAL=
NCURSES_CFLAGS_I:INTERNAL=
NCURSES_CFLAGS_OTHER:INTERNAL=
NCURSES_FOUND:INTERNAL=
NCURSES_INCLUDEDIR:INTERNAL=
NCURSES_LIBDIR:INTERNAL=
NCURSES_LIBS:INTERNAL=
NCURSES_LIBS_L:INTERNAL=
NCURSES_LIBS_OTHER:INTERNAL=
NCURSES_LIBS_PATHS:INTERNAL=
NCURSES_MODULE_NAME:INTERNAL=
NCURSES_PREFIX:INTERNAL=
NCURSES_STATIC_CFLAGS:INTERNAL=
NCURSES_STATIC_CFLAGS_I:INTERNAL=
NCURSES_STATIC_CFLAGS_OTHER:INTERNAL=
NCURSES_STATIC_LIBDIR:INTERNAL=
NCURSES_STATIC_LIBS:INTERNAL=
NCURSES_STATIC_LIBS_L:INTERNAL=
NCURSES_STATIC_LIBS_OTHER:INTERNAL=
NCURSES_STATIC_LIBS_PATHS:INTERNAL=
NCURSES_VERSION:INTERNAL=
NCURSES_ncurses_INCLUDEDIR:INTERNAL=
NCURSES_ncurses_LIBDIR:INTERNAL=
NCURSES_ncurses_PREFIX:INTERNAL=
NCURSES_ncurses_VERSION:INTERNAL=
//ADVANCED property for variable: OCAMLFIND
OCAMLFIND-ADVANCED:INTERNAL=1
//Test OPENMP_HAVE_ONEAPI_COMPILER
OPENMP_HAVE_ONEAPI_COMPILER:INTERNAL=
//Test OPENMP_HAVE_STD_CPP17_FLAG
OPENMP_HAVE_STD_CPP17_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WALL_FLAG
OPENMP_HAVE_WALL_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WCAST_QUAL_FLAG
OPENMP_HAVE_WCAST_QUAL_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WENUM_CONSTEXPR_CONVERSION_FLAG
OPENMP_HAVE_WENUM_CONSTEXPR_CONVERSION_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WERROR_FLAG
OPENMP_HAVE_WERROR_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WEXTRA_FLAG
OPENMP_HAVE_WEXTRA_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WFORMAT_PEDANTIC_FLAG
OPENMP_HAVE_WFORMAT_PEDANTIC_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WIMPLICIT_FALLTHROUGH_FLAG
OPENMP_HAVE_WIMPLICIT_FALLTHROUGH_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WMAYBE_UNINITIALIZED_FLAG
OPENMP_HAVE_WMAYBE_UNINITIALIZED_FLAG:INTERNAL=
//Test OPENMP_HAVE_WPEDANTIC_FLAG
OPENMP_HAVE_WPEDANTIC_FLAG:INTERNAL=1
//Test OPENMP_HAVE_WSIGN_COMPARE_FLAG
OPENMP_HAVE_WSIGN_COMPARE_FLAG:INTERNAL=1
//ADVANCED property for variable: OPENMP_TOOLS_INSTALL_DIR
OPENMP_TOOLS_INSTALL_DIR-ADVANCED:INTERNAL=1
PC_LIBEDIT_CFLAGS:INTERNAL=
PC_LIBEDIT_CFLAGS_I:INTERNAL=
PC_LIBEDIT_CFLAGS_OTHER:INTERNAL=
PC_LIBEDIT_FOUND:INTERNAL=
PC_LIBEDIT_INCLUDEDIR:INTERNAL=
PC_LIBEDIT_LIBDIR:INTERNAL=
PC_LIBEDIT_LIBS:INTERNAL=
PC_LIBEDIT_LIBS_L:INTERNAL=
PC_LIBEDIT_LIBS_OTHER:INTERNAL=
PC_LIBEDIT_LIBS_PATHS:INTERNAL=
PC_LIBEDIT_MODULE_NAME:INTERNAL=
PC_LIBEDIT_PREFIX:INTERNAL=
PC_LIBEDIT_STATIC_CFLAGS:INTERNAL=
PC_LIBEDIT_STATIC_CFLAGS_I:INTERNAL=
PC_LIBEDIT_STATIC_CFLAGS_OTHER:INTERNAL=
PC_LIBEDIT_STATIC_LIBDIR:INTERNAL=
PC_LIBEDIT_STATIC_LIBS:INTERNAL=
PC_LIBEDIT_STATIC_LIBS_L:INTERNAL=
PC_LIBEDIT_STATIC_LIBS_OTHER:INTERNAL=
PC_LIBEDIT_STATIC_LIBS_PATHS:INTERNAL=
PC_LIBEDIT_VERSION:INTERNAL=
PC_LIBEDIT_libedit_INCLUDEDIR:INTERNAL=
PC_LIBEDIT_libedit_LIBDIR:INTERNAL=
PC_LIBEDIT_libedit_PREFIX:INTERNAL=
PC_LIBEDIT_libedit_VERSION:INTERNAL=
PC_LIBXML_CFLAGS:INTERNAL=
PC_LIBXML_CFLAGS_I:INTERNAL=
PC_LIBXML_CFLAGS_OTHER:INTERNAL=
PC_LIBXML_FOUND:INTERNAL=
PC_LIBXML_INCLUDEDIR:INTERNAL=
PC_LIBXML_LIBDIR:INTERNAL=
PC_LIBXML_LIBS:INTERNAL=
PC_LIBXML_LIBS_L:INTERNAL=
PC_LIBXML_LIBS_OTHER:INTERNAL=
PC_LIBXML_LIBS_PATHS:INTERNAL=
PC_LIBXML_MODULE_NAME:INTERNAL=
PC_LIBXML_PREFIX:INTERNAL=
PC_LIBXML_STATIC_CFLAGS:INTERNAL=
PC_LIBXML_STATIC_CFLAGS_I:INTERNAL=
PC_LIBXML_STATIC_CFLAGS_OTHER:INTERNAL=
PC_LIBXML_STATIC_LIBDIR:INTERNAL=
PC_LIBXML_STATIC_LIBS:INTERNAL=
PC_LIBXML_STATIC_LIBS_L:INTERNAL=
PC_LIBXML_STATIC_LIBS_OTHER:INTERNAL=
PC_LIBXML_STATIC_LIBS_PATHS:INTERNAL=
PC_LIBXML_VERSION:INTERNAL=
PC_LIBXML_libxml-2.0_INCLUDEDIR:INTERNAL=
PC_LIBXML_libxml-2.0_LIBDIR:INTERNAL=
PC_LIBXML_libxml-2.0_PREFIX:INTERNAL=
PC_LIBXML_libxml-2.0_VERSION:INTERNAL=
//ADVANCED property for variable: PERL_EXECUTABLE
PERL_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PKG_CONFIG_ARGN
PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
//Result of try_run()
RUN_HAVE_POSIX_REGEX:INTERNAL=0
//Result of try_run()
RUN_HAVE_STEADY_CLOCK:INTERNAL=0
//STRINGS property for variable: SANITIZER_CXX_ABI
SANITIZER_CXX_ABI-STRINGS:INTERNAL=none;default;libstdc++;libc++;libcxxabi
//STRINGS property for variable: SANITIZER_TEST_CXX
SANITIZER_TEST_CXX-STRINGS:INTERNAL=none;default;libstdc++;libc++
//Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG:INTERNAL=1
//Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG
SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG:INTERNAL=1
//Test SUPPORTS_VARIADIC_MACROS_FLAG
SUPPORTS_VARIADIC_MACROS_FLAG:INTERNAL=1
//ADVANCED property for variable: SWIG_EXECUTABLE
SWIG_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Terminfo_LIBRARIES
Terminfo_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZLIB_INCLUDE_DIR
ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG
ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE
ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//Have symbol backtrace
_Backtrace_SYM_FOUND:INTERNAL=1
//linker supports push/pop state
_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
//CMAKE_INSTALL_PREFIX during last run
_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/home/bjodah/.local/llvm-16
_Python3_EXECUTABLE:INTERNAL=/usr/bin/python3.6
//Python3 Properties
_Python3_INTERPRETER_PROPERTIES:INTERNAL=Python;3;6;8;64;m;cpython-36m-x86_64-linux-gnu;/usr/lib64/python3.6;/usr/lib64/python3.6;/usr/lib/python3.6/site-packages;/usr/lib64/python3.6/site-packages
_Python3_INTERPRETER_SIGNATURE:INTERNAL=b6830b8a27b116ec04b91b52a075b840
//Path to a library.
_Python3_LIBRARY_RELEASE:INTERNAL=_Python3_LIBRARY_RELEASE-NOTFOUND
__pkg_config_checked_LIBOMPTARGET_SEARCH_LIBFFI:INTERNAL=1
__pkg_config_checked_NCURSES:INTERNAL=1
__pkg_config_checked_PC_LIBEDIT:INTERNAL=1
__pkg_config_checked_PC_LIBXML:INTERNAL=1
//Result of TRY_COMPILE
errc_compiled:INTERNAL=TRUE
//Result of try_run()
errc_exit_code:INTERNAL=0
//Have symbol os_signpost_interval_begin
macos_signposts_available:INTERNAL=
//Result of TRY_COMPILE
try_compile_result:INTERNAL=TRUE
//ADVANCED property for variable: zstd_INCLUDE_DIR
zstd_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: zstd_LIBRARY
zstd_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: zstd_STATIC_LIBRARY
zstd_STATIC_LIBRARY-ADVANCED:INTERNAL=1
jhuber6 commented 1 year ago

There was a recent bug that sounds like the same underlying issue https://github.com/llvm/llvm-project/issues/61399. That one was closed with the author saying that their build suddenly worked so I do not know wht the change was. There are options to disable libomptarget entirely, or just the device runtime if you would like to use those. OPENMP_ENABLE_LIBOMPTARGET=OFF and LIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF respectively.

hpcpony commented 1 year ago

I have not been able to determine why the 16.0.0 libomptarget stuff won't build on CentOS 7.9 but based on the above suggestions there's a way to turn off the broken parts and get something working.

The following will build all the way through:

cmake                                                                                                  \
? -DLLVM_TARGETS_TO_BUILD=X86                                                                          \
? -DCMAKE_C_COMPILER=${HOST_GCC}/bin/gcc                                                               \
? -DCMAKE_CXX_COMPILER=${HOST_GCC}/bin/g++                                                             \
? -DCMAKE_BUILD_TYPE="Release"                                                                         \
? -DLIBOMP_ARCH="x86_64"                                                                               \
? -DOPENMP_ENABLE_LIBOMPTARGET="OFF"                                                                   \
? -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}                                                             \
? -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;cross-project-tests;lld;lldb;mlir;openmp;polly;pstl" \
? -DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind"                                                       \
? -DGCC_INSTALL_PREFIX=${HOST_GCC}                                                                     \
? -DCMAKE_CXX_LINK_FLAGS="-L${HOST_GCC}/lib64 -Wl,-rpath,${HOST_GCC}/lib64"                            \
? ../llvm

A few things to note:

1) I use gcc 11.3.0 to do the build. NOT the default 4.8.5 typical of CentOS 7.9. I use additionally installed swig/4.0.1 and cmake/3.23.2.

2) This does not use -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB="OFF". When I tried including it I got the following:

CMake Warning:
  Manually-specified variables were not used by the project:

    LIBOMPTARGET_BUILD_DEVICERTL_BCLIB

Omitting it and just using -DOPENMP_ENABLE_LIBOMPTARGET="OFF" seemed sufficient to exclude the stuff that was crashing.

3) I did not build flang. See #61543

4) I did not build libc, libcxx, libclc. After getting around the earlier errors I ran into a new one where libc apparently relies on "sys/random.h" which doesn't exist in CentOS 7.9

[ 15%] Building CXX object libc/src/sys/random/linux/CMakeFiles/libc.src.sys.random.linux.getrandom.dir/getrandom.cpp.o
In file included from /scratch/src/llvm-project-16.0.0.src/libc/src/sys/random/linux/getrandom.cpp:9:               
/scratch/src/llvm-project-16.0.0.src/libc/src/sys/random/getrandom.h:12:10: fatal error: 'sys/random.h' file not found
#include <sys/random.h>
         ^~~~~~~~~~~~~~
error generated.

The LLVM libc web page (https://libc.llvm.org/) says:

Warning

The libc is not complete. If you need a fully functioning C library right now, you should continue to use your standard system libraries.

So presumably it's not a big loss.

I don't know if libcxx or libclc is also a problem. I just didn't feel like messing with them.

I have not really exercised the llvm 16.0.0 build results beyond "hello world". I don't claim this is the best and/or only way to do things, but if someone needs an existence proof that 16.0.0 (or at least certain parts) can be built on CentOS 7.9 here's a place to start.

jhuber6 commented 1 year ago

I have not been able to determine why the 16.0.0 libomptarget stuff won't build on CentOS 7.9 but based on the above suggestions there's a way to turn off the broken parts and get something working.

Yes, unfortunately I haven't encountered any errors like this so it's difficult for me to reproduce anything.

A few things to note:

2. This does not use -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB="OFF".  When I tried including it I got the following:
CMake Warning:
  Manually-specified variables were not used by the project:

    LIBOMPTARGET_BUILD_DEVICERTL_BCLIB

This is most likely because you have libomptarget entirely turned off, so we never use this.

Warning The libc is not complete. If you need a fully functioning C library right now, you should continue to use your standard system libraries.

So presumably it's not a big loss.

I don't know if libcxx or libclc is also a problem. I just didn't feel like messing with them.

The libc support is definitely a work in progress. Right now you can use it to statically resolve a few libc symbols that would normally be resolved dynamically, but a full replacement is some time off. libclc is in a weird state, it's basically a dump of some old AMD device runtime code that's sparsely updated. I'm not very familiar with its statues. libcxx should be more complete as far as I know.

As far the actual bug, I'm really not sure where to go considering you can't even seem to reproduce it without running the build. If we had a reproducer in IR we could probably track it down, but as it stands I'm just confused.

hpcpony commented 1 year ago

I decided to trim down the amount of LLVM built, and generated a "Debug" build in hopes of seeing what's going on.

[user@host4 build.host4.openmp.2]$ cmake                                        \
? -DLLVM_TARGETS_TO_BUILD=X86                                                    \
? -DCMAKE_C_COMPILER=${HOST_GCC}/bin/gcc                                         \
? -DCMAKE_CXX_COMPILER=${HOST_GCC}/bin/g++                                       \
? -DCMAKE_BUILD_TYPE="Debug"                                                     \
? -DLIBOMP_ARCH="x86_64"                                                         \
? -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}                                       \
? -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN="OFF" -DLIBOMPTARGET_BUILD_CUDA_PLUGIN="OFF" \
? -DLLVM_ENABLE_PROJECTS="clang;openmp"                                          \
? -DGCC_INSTALL_PREFIX=${HOST_GCC}                                               \
? -DCMAKE_CXX_LINK_FLAGS="-L${HOST_GCC}/lib64 -Wl,-rpath,${HOST_GCC}/lib64"      \
? ../llvm
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
   .
   .
   .
-- Found LIBOMPTARGET_DEP_LIBFFI: /usr/lib64/libffi.so  
Failed to 'dlopen' libcuda.so
-- Could NOT find LIBOMPTARGET_DEP_CUDA_DRIVER (missing: LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES) 
Failed to 'dlopen' libhsa-runtime64.so
-- Could NOT find LIBOMPTARGET_DEP_VEO (missing: LIBOMPTARGET_DEP_VEO_LIBRARIES LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS) 
-- OMPT target enabled
-- OpenMP tools dir in libomptarget: /scratch/src/llvm-project-16.0.0.src/build.host4.openmp.2/projects/openmp/runtime/src
-- LIBOMPTARGET: Building offloading runtime library libomptarget.
-- LIBOMPTARGET: Not building aarch64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building AMDGPU offloading plugin: LIBOMPTARGET_BUILD_AMDGPU_PLUGIN is false
-- LIBOMPTARGET: Not building CUDA offloading plugin: LIBOMPTARGET_BUILD_CUDA_PLUGIN is false
-- LIBOMPTARGET: Not building PPC64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building nec-aurora plugin: libveo or libveosinfo not found.
-- LIBOMPTARGET: Building x86_64 offloading plugin.
-- LIBOMPTARGET: Not building aarch64 NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building AMDGPU NextGen offloading plugin: LIBOMPTARGET_BUILD_AMDGPU_PLUGIN is false
-- LIBOMPTARGET: Not building CUDA NextGen offloading plugin: LIBOMPTARGET_BUILD_CUDA_PLUGIN is false
-- LIBOMPTARGET: Not building PPC64 NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Building x86_64 NextGen offloading plugin.
-- LIBOMPTARGET: Building DeviceRTL. Using clang from in-tree build
-- LIBOMPTARGET: Building the llvm-omp-device-info tool
-- LIBOMPTARGET: Building the llvm-omp-kernel-replay tool
-- Looking for __atomic_load_1
-- Looking for __atomic_load_1 - not found
   .
   .
   .
Scanning dependencies of target omptarget-nvptx-sm_35-bc
gmake[2]: Leaving directory `/scratch/src/llvm-project-16.0.0.src/build.host4.openmp.2'
gmake  -f projects/openmp/libomptarget/DeviceRTL/CMakeFiles/omptarget-nvptx-sm_35-bc.dir/build.make projects/openmp/libomptarget/DeviceRTL/CMakeFiles/omptarget-nvptx-sm_35-bc.dir/build
gmake[2]: Entering directory `/scratch/src/llvm-project-16.0.0.src/build.host4.openmp.2'
[ 59%] Building LLVM bitcode Configuration.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Debug.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Kernel.cpp-sm_35.bc
[ 59%] Building LLVM bitcode LibC.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Mapping.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Misc.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Parallelism.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Reduction.cpp-sm_35.bc
[ 59%] Building LLVM bitcode State.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Synchronization.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Tasking.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Utils.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Workshare.cpp-sm_35.bc
[ 59%] Linking LLVM bitcode libomptarget-nvptx-sm_35.bc
[ 60%] Internalizing LLVM bitcode libomptarget-nvptx-sm_35.bc
[ 60%] Optimizing LLVM bitcode libomptarget-nvptx-sm_35.bc
opt: /scratch/src/llvm-project-16.0.0.src/llvm/lib/Support/StringMap.cpp:185: void llvm::StringMapImpl::RemoveKey(llvm::StringMapEntryBase*): Assertion `V == V2 && "Didn't find key?"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module /scratch/src/llvm-project-16.0.0.src/build.host4.openmp.2/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_35.bc -o /scratch/src/llvm-project-16.0.0.src/build.host4.openmp.2/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_35.bc
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt             0x000000000294ad0a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 69
1  opt             0x000000000294b104
2  opt             0x0000000002948ca1 llvm::sys::RunSignalHandlers() + 131
3  opt             0x000000000294a72d
4  libpthread.so.0 0x00007fdc12192630
5  libc.so.6       0x00007fdc11089387 gsignal + 55
6  libc.so.6       0x00007fdc1108aa78 abort + 328
7  libc.so.6       0x00007fdc110821a6
8  libc.so.6       0x00007fdc11082252
9  opt             0x00000000028ca13d llvm::StringMapImpl::RemoveKey(llvm::StringMapEntryBase*) + 147
10 opt             0x0000000001ef2d81
11 opt             0x0000000001ef27df llvm::ValueSymbolTable::removeValueName(llvm::StringMapEntry<llvm::Value*>*) + 35
12 opt             0x0000000001c92bba llvm::SymbolTableListTraits<llvm::Instruction>::removeNodeFromList(llvm::Instruction*) + 108
13 opt             0x0000000001c9469c
14 opt             0x0000000001c9406b
15 opt             0x0000000001df094b llvm::Instruction::eraseFromParent() + 63
16 opt             0x00000000021495f2
17 opt             0x000000000214a47c llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 328
18 opt             0x0000000002e23926
19 opt             0x0000000001ea8e0a llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 244
20 opt             0x0000000000930b0e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 5643
21 opt             0x000000000095d084 main + 6171
22 libc.so.6       0x00007fdc11075555 __libc_start_main + 245
23 opt             0x000000000092a469
/bin/sh: line 1: 17390 Aborted                 ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module /scratch/src/llvm-project-16.0.0.src/build.host4.openmp.2/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_35.bc -o /scratch/src/llvm-project-16.0.0.src/build.host4.openmp.2/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_35.bc

Interesting to note that this doesn't actually crash. It's aborts on an assert. I'm guessing that's because this is a "Debug" build so some asserts are on that usually aren't. Anyway this verifies that the "Debug" build fails as well as the "Release".

It had occured to me that the strange behavior in #61399 and the fact that I was seeing crashes in different code might indicate an intermittent bug. Sure enough..

[user@host4 DeviceRTL]$ foreach x (0 1 2 3 4 5 6 7 8 9)
foreach? echo "====== $x"
foreach? ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
foreach? end
====== 0
====== 1
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt             0x000000000294ad0a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 69
1  opt             0x000000000294b104
2  opt             0x0000000002948ca1 llvm::sys::RunSignalHandlers() + 131
3  opt             0x000000000294a72d
4  libpthread.so.0 0x00007fb96ecc6630
5  opt             0x00000000028c9e28 llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) + 162
6  opt             0x0000000001ef2f07
7  opt             0x0000000001ef2c01
8  opt             0x0000000001ef28d7 llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) + 245
9  opt             0x0000000001eea06d llvm::Value::setNameImpl(llvm::Twine const&) + 771
10 opt             0x0000000001eea0c9 llvm::Value::setName(llvm::Twine const&) + 35
11 opt             0x0000000001de35a5
12 opt             0x0000000000a3c58b
13 opt             0x0000000000a3b0fe
14 opt             0x0000000000a3b260
15 opt             0x0000000002ab0680 llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) + 1078
16 opt             0x0000000002ab116c llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) + 1974
17 opt             0x0000000002ab0234 llvm::PredicateInfoBuilder::buildPredicateInfo() + 730
18 opt             0x0000000002ab1619 llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) + 179
19 opt             0x000000000214d6b4
20 opt             0x000000000214a2cb
21 opt             0x000000000214b1db
22 opt             0x000000000214d243
23 opt             0x0000000002148a76
24 opt             0x000000000214a47c llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 328
25 opt             0x0000000002e23926
26 opt             0x0000000001ea8e0a llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 244
27 opt             0x0000000000930b0e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 5643
28 opt             0x000000000095d084 main + 6171
29 libc.so.6       0x00007fb96dba9555 __libc_start_main + 245
30 opt             0x000000000092a469
Segmentation fault
====== 2
====== 3
====== 4
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt             0x000000000294ad0a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 69
1  opt             0x000000000294b104
2  opt             0x0000000002948ca1 llvm::sys::RunSignalHandlers() + 131
3  opt             0x000000000294a72d
4  libpthread.so.0 0x00007efed799d630
5  opt             0x00000000028c9e28 llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) + 162
6  opt             0x0000000001ef2f07
7  opt             0x0000000001ef2c01
8  opt             0x0000000001ef28d7 llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) + 245
9  opt             0x0000000001eea06d llvm::Value::setNameImpl(llvm::Twine const&) + 771
10 opt             0x0000000001eea0c9 llvm::Value::setName(llvm::Twine const&) + 35
11 opt             0x0000000001de35a5
12 opt             0x0000000000a3c58b
13 opt             0x0000000000a3b0fe
14 opt             0x0000000000a3b260
15 opt             0x0000000002ab0680 llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) + 1078
16 opt             0x0000000002ab116c llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) + 1974
17 opt             0x0000000002ab0234 llvm::PredicateInfoBuilder::buildPredicateInfo() + 730
18 opt             0x0000000002ab1619 llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) + 179
19 opt             0x000000000214d6b4
20 opt             0x000000000214a2cb
21 opt             0x000000000214b1db
22 opt             0x000000000214d243
23 opt             0x0000000002148a76
24 opt             0x000000000214a47c llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 328
25 opt             0x0000000002e23926
26 opt             0x0000000001ea8e0a llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 244
27 opt             0x0000000000930b0e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 5643
28 opt             0x000000000095d084 main + 6171
29 libc.so.6       0x00007efed6880555 __libc_start_main + 245
30 opt             0x000000000092a469
Segmentation fault
====== 5
====== 6
====== 7
====== 8
====== 9

I tried to run from within gdb but I could never get it to crash.

So I ran some individually until I got one that crashed and gave me a core dump.

[user@host4 DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt             0x000000000294ad0a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 69
1  opt             0x000000000294b104
2  opt             0x0000000002948ca1 llvm::sys::RunSignalHandlers() + 131
3  opt             0x000000000294a72d
4  libpthread.so.0 0x00007f9249b68630
5  opt             0x00000000028c9e28 llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) + 162
6  opt             0x0000000001ef2f07
7  opt             0x0000000001ef2c01
8  opt             0x0000000001ef28d7 llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) + 245
9  opt             0x0000000001eea06d llvm::Value::setNameImpl(llvm::Twine const&) + 771
10 opt             0x0000000001eea0c9 llvm::Value::setName(llvm::Twine const&) + 35
11 opt             0x0000000001de35a5
12 opt             0x0000000000a3c58b
13 opt             0x0000000000a3b0fe
14 opt             0x0000000000a3b260
15 opt             0x0000000002ab0680 llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) + 1078
16 opt             0x0000000002ab116c llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) + 1974
17 opt             0x0000000002ab0234 llvm::PredicateInfoBuilder::buildPredicateInfo() + 730
18 opt             0x0000000002ab1619 llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) + 179
19 opt             0x000000000214d6b4
20 opt             0x000000000214a2cb
21 opt             0x000000000214b1db
22 opt             0x000000000214d243
23 opt             0x0000000002148a76
24 opt             0x000000000214a47c llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 328
25 opt             0x0000000002e23926
26 opt             0x0000000001ea8e0a llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 244
27 opt             0x0000000000930b0e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 5643
28 opt             0x000000000095d084 main + 6171
29 libc.so.6       0x00007f9248a4b555 __libc_start_main + 245
30 opt             0x000000000092a469
Segmentation fault (core dumped)

Get into gdb to see what going on ....

[user@host4 DeviceRTL]$ gdb ../../../../bin/opt core.19352
GNU gdb (GDB) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../../../../bin/opt...
[New LWP 19352]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internali'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  llvm::StringMapImpl::LookupBucketFor (this=0x9443510, Name=...) at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Support/StringMap.cpp:94
94      StringMapEntryBase *BucketItem = TheTable[BucketNo];
(gdb) where
#0  llvm::StringMapImpl::LookupBucketFor (this=0x9443510, Name=...) at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Support/StringMap.cpp:94
#1  0x0000000001ef2f07 in llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::try_emplace<llvm::Value*> (this=0x9443510, Key=...)
    at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/ADT/StringMap.h:330
#2  0x0000000001ef2c01 in llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::insert (this=0x9443510, KV={...})
    at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/ADT/StringMap.h:296
#3  0x0000000001ef28d7 in llvm::ValueSymbolTable::createValueName (this=0x9443510, Name=..., V=0xa063750)
    at /scratch/src/llvm-project-16.0.0.src/llvm/lib/IR/ValueSymbolTable.cpp:107
#4  0x0000000001eea06d in llvm::Value::setNameImpl (this=0xa063750, NewName=...) at /scratch/src/llvm-project-16.0.0.src/llvm/lib/IR/Value.cpp:372
#5  0x0000000001eea0c9 in llvm::Value::setName (this=0xa063750, NewName=...) at /scratch/src/llvm-project-16.0.0.src/llvm/lib/IR/Value.cpp:376
#6  0x0000000001de35a5 in llvm::IRBuilderDefaultInserter::InsertHelper (this=0x7fffc57557a0, I=0xa063750, Name=..., BB=0x78f09e0, InsertPt=...)
    at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/IR/IRBuilder.h:70
#7  0x0000000000a3c58b in llvm::IRBuilderBase::Insert<llvm::CallInst> (this=0x7fffc5755720, I=0xa063750, Name=...)
    at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/IR/IRBuilder.h:146
#8  0x0000000000a3b0fe in llvm::IRBuilderBase::CreateCall (this=0x7fffc5755720, FTy=0x77ca5e8, Callee=0x78f2f68, Args=..., Name=..., FPMathTag=0x0)
    at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/IR/IRBuilder.h:2301
#9  0x0000000000a3b260 in llvm::IRBuilderBase::CreateCall (this=0x7fffc5755720, Callee=..., Args=..., Name=..., FPMathTag=0x0)
    at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/IR/IRBuilder.h:2318
#10 0x0000000002ab0680 in llvm::PredicateInfoBuilder::materializeStack (this=0x7fffc5756350, Counter=@0x7fffc5755f7c: 1, RenameStack=..., OrigOp=0x7981588)
    at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Transforms/Utils/PredicateInfo.cpp:576
#11 0x0000000002ab116c in llvm::PredicateInfoBuilder::renameUses (this=0x7fffc5756350, OpsToRename=...)
    at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Transforms/Utils/PredicateInfo.cpp:727
#12 0x0000000002ab0234 in llvm::PredicateInfoBuilder::buildPredicateInfo (this=0x7fffc5756350)
    at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Transforms/Utils/PredicateInfo.cpp:531
#13 0x0000000002ab1619 in llvm::PredicateInfo::PredicateInfo (this=0xa0629a0, F=..., DT=..., AC=...)
    at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Transforms/Utils/PredicateInfo.cpp:766
#14 0x000000000214d6b4 in std::make_unique<llvm::PredicateInfo, llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&> ()
    at /scratch/opt/LLVM/gcc-11.3.0/include/c++/11.3.0/bits/unique_ptr.h:962
#15 0x000000000214a2cb in operator() (__closure=0x7fffc5758790, F=...) at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Transforms/IPO/SCCP.cpp:397
#16 0x000000000214b1db in llvm::function_ref<llvm::AnalysisResultsForFn(llvm::Function&)>::callback_fn<llvm::IPSCCPPass::run(llvm::Module&, llvm::ModuleAnalysisManager&)::<lambda(llvm::Function&)> >(intptr_t, llvm::Function &) (callable=140736506202000, params#0=...) at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/ADT/STLFunctionalExtras.h:46
#17 0x000000000214d243 in llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>::operator()(llvm::Function&) const (this=0x7fffc57586e0, params#0=...)
    at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/ADT/STLFunctionalExtras.h:68
#18 0x0000000002148a76 in runIPSCCP(llvm::Module &, const llvm::DataLayout &, llvm::FunctionAnalysisManager *, std::function<const llvm::TargetLibraryInfo&(llvm::Function&)>, std::function<llvm::TargetTransformInfo&(llvm::Function&)>, std::function<llvm::AssumptionCache&(llvm::Function&)>, llvm::function_ref<llvm::AnalysisResultsForFn(llvm::Function&)>, bool) (M=..., DL=..., 
    FAM=0x7fffc5759d40, GetTLI=..., GetTTI=..., GetAC=..., getAnalysis=..., IsFuncSpecEnabled=true)
    at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Transforms/IPO/SCCP.cpp:125
#19 0x000000000214a47c in llvm::IPSCCPPass::run (this=0x77d56f8, M=..., AM=...) at /scratch/src/llvm-project-16.0.0.src/llvm/lib/Transforms/IPO/SCCP.cpp:400
#20 0x0000000002e23926 in llvm::detail::PassModel<llvm::Module, llvm::IPSCCPPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (this=0x77d56f0, IR=..., AM=...) at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/IR/PassManagerInternal.h:89
#21 0x0000000001ea8e0a in llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (this=0x7fffc5758a50, IR=..., 
    AM=...) at /scratch/src/llvm-project-16.0.0.src/llvm/include/llvm/IR/PassManager.h:517
#22 0x0000000000930b0e in llvm::runPassPipeline (Arg0=..., M=..., TM=0x0, TLII=0x7fffc575aa50, Out=0x77ccee0, ThinLTOLinkOut=0x0, OptRemarkFile=0x0, PassPipeline=..., PassPlugins=..., 
    OK=llvm::opt_tool::OK_OutputBitcode, VK=llvm::opt_tool::VK_VerifyOut, ShouldPreserveAssemblyUseListOrder=false, ShouldPreserveBitcodeUseListOrder=true, EmitSummaryIndex=false, 
    EmitModuleHash=false, EnableDebugify=false, VerifyDIPreserve=false) at /scratch/src/llvm-project-16.0.0.src/llvm/tools/opt/NewPMDriver.cpp:518
#23 0x000000000095d084 in main (argc=7, argv=0x7fffc575b6a8) at /scratch/src/llvm-project-16.0.0.src/llvm/tools/opt/opt.cpp:719
(gdb) list 78,100
78  /// LookupBucketFor - Look up the bucket that the specified string should end
79  /// up in.  If it already exists as a key in the map, the Item pointer for the
80  /// specified bucket will be non-null.  Otherwise, it will be null.  In either
81  /// case, the FullHashValue field of the bucket will be set to the hash value
82  /// of the string.
83  unsigned StringMapImpl::LookupBucketFor(StringRef Name) {
84    // Hash table unallocated so far?
85    if (NumBuckets == 0)
86      init(16);
87    unsigned FullHashValue = djbHash(Name, 0);
88    unsigned BucketNo = FullHashValue & (NumBuckets - 1);
89    unsigned *HashTable = getHashTable(TheTable, NumBuckets);
90  
91    unsigned ProbeAmt = 1;
92    int FirstTombstone = -1;
93    while (true) {
94      StringMapEntryBase *BucketItem = TheTable[BucketNo];
95      // If we found an empty bucket, this key isn't in the table yet, return it.
96      if (LLVM_LIKELY(!BucketItem)) {
97        // If we found a tombstone, we want to reuse the tombstone instead of an
98        // empty bucket.  This reduces probing.
99        if (FirstTombstone != -1) {
100         HashTable[FirstTombstone] = FullHashValue;
(gdb) print name
'name' has unknown type; cast it to its declared type
(gdb) print Name
$6 = {static npos = 18446744073709551615, Data = 0x7fffc5755428 "chunk.0", Length = 7}
(gdb) print NumBuckets
$7 = 154561072
(gdb) print/x NumBuckets
$8 = 0x9366a30
(gdb) print FullHashValue
$9 = 3219214839
(gdb) print BucketNo
$10 = 153108519
(gdb) quit

I didn't dig into all the LLVM source and am not an expert, but it looks like line 88 is assuming that NumBuckets is a power of two in order to mask off some bits?

I guess that doesn't really answer the question, but hopfully it's a step in the right direction.

jhuber6 commented 1 year ago

Could you provide the source file? If it's intermittent then I should hopefully be able to reproduce it eventually.

hpcpony commented 1 year ago

The source is all straight from the 16.0.0 release (and built as shown above):

https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/llvm-project-16.0.0.src.tar.xz

As for attaching my executable for "opt" I was told not to do that. (I don't understand the issue, but it's not my call). Sorry.

jhuber6 commented 1 year ago

I was referring to the libomptarget-nvptx-sm_35.bc file. I've never encountered this problem myself during development so I'd like to see if there's something special about the files you're producing. The LLVM IR shouldn't leak any sensitive information, possibly a file path, but the crash report above already showed that. You could possible use opt -strip-debug to be more safe if you're concerned.

hpcpony commented 1 year ago

I'm a little confused. The command that crashes is:

../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc

I'm assuming that the "-o" is the output file. I never get that because the command crashes. I do have the (input file?) internalized_libomptarget-nvptx-sm_35.bc file, but since it's not human readable (their broad criteria) I doubt they'd let me upload it here. (I looked at it and everything seems fine but I'm not willing to put my neck on the line. Sorry, I'm caught in the middle.)

jhuber6 commented 1 year ago

Use opt -S internalized_libomptarget-nvptx-sm_35.bc -o internalized_libomptarget-nvptx-sm_35.ll and it will become human readable.

hpcpony commented 1 year ago

So I needed to rebuild things so that path names were (completely) benign and though the build did break (this time on sm_70) with:

opt: /scr/build/src/llvm-16.0.0/llvm-project-16.0.0.src/llvm/lib/Support/StringMap.cpp:185: void llvm::StringMapImpl::RemoveKey(llvm::StringMapEntryBase*): Assertion `V == V2 && "Didn't find key?"' failed.

In over 50 attempts I have been unable to run the command by hand and have it seg fault. There's only 2 things that I see different in this attempt:

1) this build uses a newly compiled gcc 11.3.0 2) the build is on a local disk not NFS mount.

Neither of these seem like they should be an issue but I want to recreate the same crashes before I send you any source files from a particular build.

I'm going away for a week or so and will pick things up when I get back.

hpcpony commented 1 year ago

I'm back. Picking up where we left off, I've run stuff that I can share. I redid everything with 16.0.1 just in case things had somehow gotten fixed along the way. (They didn't)

Here' the build that eventually segfaults:

[hpcpony@host4 build.host4]$ cmake                                                 \
? -DLLVM_TARGETS_TO_BUILD=X86                                                      \
? -DCMAKE_C_COMPILER=${HOST_GCC}/bin/gcc                                           \
? -DCMAKE_CXX_COMPILER=${HOST_GCC}/bin/g++                                         \
? -DCMAKE_BUILD_TYPE="Debug"                                                       \
? -DLIBOMP_ARCH="x86_64"                                                           \
? -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}                                         \
? -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN="OFF" -DLIBOMPTARGET_BUILD_CUDA_PLUGIN="OFF"  \
? -DLLVM_ENABLE_PROJECTS="clang;openmp"                                            \
? -DGCC_INSTALL_PREFIX=${HOST_GCC}                                                 \
? -DCMAKE_CXX_LINK_FLAGS="-L${HOST_GCC}/lib64 -Wl,-rpath,${HOST_GCC}/lib64"        \
? ../llvm
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
   .
   .
   .
-- OMPT target enabled
-- OpenMP tools dir in libomptarget: /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/build.host4/projects/openmp/runtime/src
-- LIBOMPTARGET: Building offloading runtime library libomptarget.
-- LIBOMPTARGET: Not building aarch64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building AMDGPU offloading plugin: LIBOMPTARGET_BUILD_AMDGPU_PLUGIN is false
-- LIBOMPTARGET: Not building CUDA offloading plugin: LIBOMPTARGET_BUILD_CUDA_PLUGIN is false
-- LIBOMPTARGET: Not building PPC64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building nec-aurora plugin: libveo or libveosinfo not found.
-- LIBOMPTARGET: Building x86_64 offloading plugin.
-- LIBOMPTARGET: Not building aarch64 NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building AMDGPU NextGen offloading plugin: LIBOMPTARGET_BUILD_AMDGPU_PLUGIN is false
-- LIBOMPTARGET: Not building CUDA NextGen offloading plugin: LIBOMPTARGET_BUILD_CUDA_PLUGIN is false
-- LIBOMPTARGET: Not building PPC64 NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le NextGen offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Building x86_64 NextGen offloading plugin.
-- LIBOMPTARGET: Building DeviceRTL. Using clang from in-tree build
-- LIBOMPTARGET: Building the llvm-omp-device-info tool
-- LIBOMPTARGET: Building the llvm-omp-kernel-replay tool
   .
   .
   .
Scanning dependencies of target omptarget-nvptx-sm_35-bc
[ 59%] Building LLVM bitcode Configuration.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Debug.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Kernel.cpp-sm_35.bc
[ 59%] Building LLVM bitcode LibC.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Mapping.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Misc.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Parallelism.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Reduction.cpp-sm_35.bc
[ 59%] Building LLVM bitcode State.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Synchronization.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Tasking.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Utils.cpp-sm_35.bc
[ 59%] Building LLVM bitcode Workshare.cpp-sm_35.bc
[ 59%] Linking LLVM bitcode libomptarget-nvptx-sm_35.bc
[ 60%] Internalizing LLVM bitcode libomptarget-nvptx-sm_35.bc
[ 60%] Optimizing LLVM bitcode libomptarget-nvptx-sm_35.bc
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/build.host4/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_35.bc -o /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/build.host4/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_35.bc
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt             0x000000000294c4dc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 69
1  opt             0x000000000294c8d6
2  opt             0x000000000294a473 llvm::sys::RunSignalHandlers() + 131
3  opt             0x000000000294beff
4  libpthread.so.0 0x00007f7e8468a630
5  opt             0x00000000028cb5fa llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) + 162
6  opt             0x0000000001ef4675
7  opt             0x0000000001ef436f
8  opt             0x0000000001ef4045 llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) + 245
9  opt             0x0000000001eeb7db llvm::Value::setNameImpl(llvm::Twine const&) + 771
10 opt             0x0000000001eeb837 llvm::Value::setName(llvm::Twine const&) + 35
11 opt             0x0000000001de4d13
12 opt             0x0000000000a3c58b
13 opt             0x0000000000a3b0fe
14 opt             0x0000000000a3b260
15 opt             0x0000000002ab1edc llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) + 1078
16 opt             0x0000000002ab29c8 llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) + 1974
17 opt             0x0000000002ab1a90 llvm::PredicateInfoBuilder::buildPredicateInfo() + 730
18 opt             0x0000000002ab2e75 llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) + 179
19 opt             0x000000000214ee22
20 opt             0x000000000214ba39
21 opt             0x000000000214c949
22 opt             0x000000000214e9b1
23 opt             0x000000000214a1e4
24 opt             0x000000000214bbea llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 328
25 opt             0x0000000002e25182
26 opt             0x0000000001eaa578 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 244
27 opt             0x0000000000930b0e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 5643
28 opt             0x000000000095d084 main + 6171
29 libc.so.6       0x00007f7e8356d555 __libc_start_main + 245
30 opt             0x000000000092a469
/bin/sh: line 1:  9844 Segmentation fault      ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/build.host4/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_35.bc -o /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/build.host4/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_35.bc

After the build, running the 'opt' program by hand I can eventually cause the same segfault and get a coredump:

[hpcpony@host4 DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
[hpcpony@host4 DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
[hpcpony@host4 DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
[hpcpony@host4 DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
[hpcpony@host4 DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
[hpcpony@host4 DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
[hpcpony@host4 DeviceRTL]$ ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: ../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.bc
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt             0x000000000294c4dc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 69
1  opt             0x000000000294c8d6
2  opt             0x000000000294a473 llvm::sys::RunSignalHandlers() + 131
3  opt             0x000000000294beff
4  libpthread.so.0 0x00007fc4d046b630
5  opt             0x00000000028cb5fa llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) + 162
6  opt             0x0000000001ef4675
7  opt             0x0000000001ef436f
8  opt             0x0000000001ef4045 llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) + 245
9  opt             0x0000000001eeb7db llvm::Value::setNameImpl(llvm::Twine const&) + 771
10 opt             0x0000000001eeb837 llvm::Value::setName(llvm::Twine const&) + 35
11 opt             0x0000000001de4d13
12 opt             0x0000000000a3c58b
13 opt             0x0000000000a3b0fe
14 opt             0x0000000000a3b260
15 opt             0x0000000002ab1edc llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) + 1078
16 opt             0x0000000002ab29c8 llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) + 1974
17 opt             0x0000000002ab1a90 llvm::PredicateInfoBuilder::buildPredicateInfo() + 730
18 opt             0x0000000002ab2e75 llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) + 179
19 opt             0x000000000214ee22
20 opt             0x000000000214ba39
21 opt             0x000000000214c949
22 opt             0x000000000214e9b1
23 opt             0x000000000214a1e4
24 opt             0x000000000214bbea llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 328
25 opt             0x0000000002e25182
26 opt             0x0000000001eaa578 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 244
27 opt             0x0000000000930b0e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 5643
28 opt             0x000000000095d084 main + 6171
29 libc.so.6       0x00007fc4cf34e555 __libc_start_main + 245
30 opt             0x000000000092a469
Segmentation fault (core dumped)

Getting into 'gdb' and looking where things were when the segfault occurred:

[hpcpony@host4 DeviceRTL]$ gdb ../../../../bin/opt core.9666
GNU gdb (GDB) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../../../../bin/opt...
[New LWP 9666]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `../../../../bin/opt -O3 -openmp-opt-disable -attributor-enable=module internali'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  llvm::StringMapImpl::LookupBucketFor (this=0x9aca940, Name=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Support/StringMap.cpp:94
94      StringMapEntryBase *BucketItem = TheTable[BucketNo];
   .
   .
   .
(gdb) where
#0  llvm::StringMapImpl::LookupBucketFor (this=0x9aca940, Name=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Support/StringMap.cpp:94
#1  0x0000000001ef4675 in llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::try_emplace<llvm::Value*> (this=0x9aca940, Key=...)
    at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/ADT/StringMap.h:330
#2  0x0000000001ef436f in llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::insert (this=0x9aca940, KV=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/ADT/StringMap.h:296
#3  0x0000000001ef4045 in llvm::ValueSymbolTable::createValueName (this=0x9aca940, Name=..., V=0x91b59d0) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/IR/ValueSymbolTable.cpp:107
#4  0x0000000001eeb7db in llvm::Value::setNameImpl (this=0x91b59d0, NewName=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/IR/Value.cpp:372
#5  0x0000000001eeb837 in llvm::Value::setName (this=0x91b59d0, NewName=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/IR/Value.cpp:376
#6  0x0000000001de4d13 in llvm::IRBuilderDefaultInserter::InsertHelper (this=0x7fff42fe9f10, I=0x91b59d0, Name=..., BB=0x75cafa0, InsertPt=...)
    at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/IR/IRBuilder.h:70
#7  0x0000000000a3c58b in llvm::IRBuilderBase::Insert<llvm::CallInst> (this=0x7fff42fe9e90, I=0x91b59d0, Name=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/IR/IRBuilder.h:146
#8  0x0000000000a3b0fe in llvm::IRBuilderBase::CreateCall (this=0x7fff42fe9e90, FTy=0x73842d0, Callee=0x73c8118, Args=..., Name=..., FPMathTag=0x0)
    at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/IR/IRBuilder.h:2301
#9  0x0000000000a3b260 in llvm::IRBuilderBase::CreateCall (this=0x7fff42fe9e90, Callee=..., Args=..., Name=..., FPMathTag=0x0)
    at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/IR/IRBuilder.h:2318
#10 0x0000000002ab1edc in llvm::PredicateInfoBuilder::materializeStack (this=0x7fff42feaac0, Counter=@0x7fff42fea6ec: 1, RenameStack=..., OrigOp=0x7581bb8)
    at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Transforms/Utils/PredicateInfo.cpp:576
#11 0x0000000002ab29c8 in llvm::PredicateInfoBuilder::renameUses (this=0x7fff42feaac0, OpsToRename=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Transforms/Utils/PredicateInfo.cpp:727
#12 0x0000000002ab1a90 in llvm::PredicateInfoBuilder::buildPredicateInfo (this=0x7fff42feaac0) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Transforms/Utils/PredicateInfo.cpp:531
#13 0x0000000002ab2e75 in llvm::PredicateInfo::PredicateInfo (this=0x91b4c20, F=..., DT=..., AC=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Transforms/Utils/PredicateInfo.cpp:766
#14 0x000000000214ee22 in std::make_unique<llvm::PredicateInfo, llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&> () at /scr/llvm/opt/gcc-11.3.0/include/c++/11.3.0/bits/unique_ptr.h:962
#15 0x000000000214ba39 in operator() (__closure=0x7fff42fecf00, F=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Transforms/IPO/SCCP.cpp:397
#16 0x000000000214c949 in llvm::function_ref<llvm::AnalysisResultsForFn(llvm::Function&)>::callback_fn<llvm::IPSCCPPass::run(llvm::Module&, llvm::ModuleAnalysisManager&)::<lambda(llvm::Function&)> >(intptr_t, llvm::Function &) (callable=140734317383424, params#0=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/ADT/STLFunctionalExtras.h:46
#17 0x000000000214e9b1 in llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>::operator()(llvm::Function&) const (this=0x7fff42fece50, params#0=...)
    at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/ADT/STLFunctionalExtras.h:68
#18 0x000000000214a1e4 in runIPSCCP(llvm::Module &, const llvm::DataLayout &, llvm::FunctionAnalysisManager *, std::function<const llvm::TargetLibraryInfo&(llvm::Function&)>, std::function<llvm::TargetTransformInfo&(llvm::Function&)>, std::function<llvm::AssumptionCache&(llvm::Function&)>, llvm::function_ref<llvm::AnalysisResultsForFn(llvm::Function&)>, bool) (M=..., DL=..., FAM=0x7fff42fee4b0, GetTLI=..., GetTTI=..., 
    GetAC=..., getAnalysis=..., IsFuncSpecEnabled=true) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Transforms/IPO/SCCP.cpp:125
#19 0x000000000214bbea in llvm::IPSCCPPass::run (this=0x738f898, M=..., AM=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/lib/Transforms/IPO/SCCP.cpp:400
#20 0x0000000002e25182 in llvm::detail::PassModel<llvm::Module, llvm::IPSCCPPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (
    this=0x738f890, IR=..., AM=...) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/IR/PassManagerInternal.h:89
#21 0x0000000001eaa578 in llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (this=0x7fff42fed1c0, IR=..., AM=...)
    at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/include/llvm/IR/PassManager.h:517
#22 0x0000000000930b0e in llvm::runPassPipeline (Arg0=..., M=..., TM=0x0, TLII=0x7fff42fef1c0, Out=0x7386ed0, ThinLTOLinkOut=0x0, OptRemarkFile=0x0, PassPipeline=..., PassPlugins=..., 
    OK=llvm::opt_tool::OK_OutputBitcode, VK=llvm::opt_tool::VK_VerifyOut, ShouldPreserveAssemblyUseListOrder=false, ShouldPreserveBitcodeUseListOrder=true, EmitSummaryIndex=false, EmitModuleHash=false, 
    EnableDebugify=false, VerifyDIPreserve=false) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/tools/opt/NewPMDriver.cpp:518
#23 0x000000000095d084 in main (argc=7, argv=0x7fff42fefe18) at /scr/llvm/src/llvm-16.0.1/llvm-project-16.0.1.src/llvm/tools/opt/opt.cpp:719
(gdb) list 78,105
78  /// LookupBucketFor - Look up the bucket that the specified string should end
79  /// up in.  If it already exists as a key in the map, the Item pointer for the
80  /// specified bucket will be non-null.  Otherwise, it will be null.  In either
81  /// case, the FullHashValue field of the bucket will be set to the hash value
82  /// of the string.
83  unsigned StringMapImpl::LookupBucketFor(StringRef Name) {
84    // Hash table unallocated so far?
85    if (NumBuckets == 0)
86      init(16);
87    unsigned FullHashValue = djbHash(Name, 0);
88    unsigned BucketNo = FullHashValue & (NumBuckets - 1);
89    unsigned *HashTable = getHashTable(TheTable, NumBuckets);
90  
91    unsigned ProbeAmt = 1;
92    int FirstTombstone = -1;
93    while (true) {
94      StringMapEntryBase *BucketItem = TheTable[BucketNo];
95      // If we found an empty bucket, this key isn't in the table yet, return it.
96      if (LLVM_LIKELY(!BucketItem)) {
97        // If we found a tombstone, we want to reuse the tombstone instead of an
98        // empty bucket.  This reduces probing.
99        if (FirstTombstone != -1) {
100         HashTable[FirstTombstone] = FullHashValue;
101         return FirstTombstone;
102       }
103 
104       HashTable[BucketNo] = FullHashValue;
105       return BucketNo;
(gdb) print NumBuckets
$1 = 4294967295
(gdb) print/x NumBuckets
$2 = 0xffffffff
(gdb) print FullHashValue
$3 = 3219214839
(gdb) print BucketNo
$4 = 3219214838
(gdb) print/x BucketNo
$5 = 0xbfe151f6

Per jhuber6's request I generated a text version of the input file to 'opt' (the complete file should be attached):

[hpcpony@host4 DeviceRTL]$ ../../../../bin/opt -S internalized_libomptarget-nvptx-sm_35.bc -o libomptarget-nvptx-sm_35.ll
[hpcpony@host4 DeviceRTL]$ head libomptarget-nvptx-sm_35.ll
; ModuleID = 'internalized_libomptarget-nvptx-sm_35.bc'
source_filename = "llvm-link"
target datalayout = "e-i64:64-i128:128-v16:16-v32:32-n16:32:64"
target triple = "nvptx64-nvidia-cuda"

%struct.DeviceEnvironmentTy = type { i32, i32, i32, i32 }
%"struct.llvm::omp::GV" = type { i32, i32, i32, i32, i32, i32, i32 }
%struct.DebugEntryRAII = type { i8 }
%"struct.ompx::state::TeamStateTy" = type { %"struct.ompx::state::ICVStateTy", i32, i32, ptr }
%"struct.ompx::state::ICVStateTy" = type { i32, i32, i32, i32, i32, i32 }

That's all I've got. I'd certainly like to know if someone identifies the problem. Unfortunately, I've spent too much time on this (or so I've been told ;^) and need to move on to other things.

libomptarget-nvptx-sm_35.txt

jhuber6 commented 1 year ago

I ran opt -O3 -openmp-opt-disable -attributor-enable=module on the provided file 1000 times and didn't observe any failures. My opt is from upstream. The traces suggest it comes from IPSCC which I'm not sure why it would fail, I'd love to be able to reproduce this but I just haven't observed any failures locally so it's really difficult.

hpcpony commented 1 year ago

Well at least we tried. I'm at a loss. Thanks for looking into it.

On Thu, Apr 6, 2023, 19:30 Joseph Huber @.***> wrote:

I ran opt -O3 -openmp-opt-disable -attributor-enable=module on the provided file 1000 times and didn't observe any failures. My opt is from upstream. The traces suggest it comes from IPSCC which I'm not sure why it would fail, I'd love to be able to reproduce this but I just haven't observed any failures locally so it's really difficult.

— Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-project/issues/61521#issuecomment-1499755343, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALWTX43OFYTXNZ5JJOX2XWDW75G3HANCNFSM6AAAAAAWAJMFKQ . You are receiving this because you authored the thread.Message ID: @.***>

jhuber6 commented 1 year ago

Let me know if you're able to build LLVM off the main branch at some point and if the problem persists.

Yaraslaut commented 1 year ago

I am having similar issue on main (https://github.com/llvm/llvm-project/commit/0d1864a754919deae84605aae2b5db8722ae69d4) Weird part is that if I execute command separately no segfault is happening

[114/289] Optimizing LLVM bitcode libomptarget-nvptx-sm_62.bc
FAILED: projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_62.bc /home/mnyata/repository/llvm/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_62.bc
cd /home/mnyata/repository/llvm/llvm-project/build/projects/openmp/libomptarget/DeviceRTL && /home/mnyata/repository/llvm/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /home/mnyata/repository/llvm/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_62.bc -o /home/mnyata/repository/llvm/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_62.bc
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/mnyata/repository/llvm/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /home/mnyata/repository/llvm/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_62.bc -o /home/mnyata/repository/llvm/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_62.bc
 #0 0x0000000001bd668b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x1bd668b)
 #1 0x0000000001bd4124 SignalHandler(int) Signals.cpp:0:0
 #2 0x00002b4fd0707630 __restore_rt sigaction.c:0:0
 #3 0x00002b4fd118c213 __memcmp_sse4_1 (/lib64/libc.so.6+0x16a213)
 #4 0x0000000001b64920 llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x1b64920)
 #5 0x000000000167538f llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x167538f)
 #6 0x000000000166f527 llvm::Value::setNameImpl(llvm::Twine const&) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x166f527)
 #7 0x000000000166f669 llvm::Value::setName(llvm::Twine const&) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x166f669)
 #8 0x0000000001dba5c6 llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x1dba5c6)
 #9 0x0000000001dc3853 llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x1dc3853)
#10 0x0000000001dc4531 llvm::PredicateInfoBuilder::buildPredicateInfo() (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x1dc4531)
#11 0x0000000001dc4813 llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x1dc4813)
#12 0x00000000024ff240 runIPSCCP(llvm::Module&, llvm::DataLayout const&, llvm::AnalysisManager<llvm::Function>*, std::function<llvm::TargetLibraryInfo const& (llvm::Function&)>, std::function<llvm::TargetTransformInfo& (llvm::Function&)>, std::function<llvm::AssumptionCache& (llvm::Function&)>, llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>, bool) (.constprop.0) SCCP.cpp:0:0
#13 0x000000000250157c llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x250157c)
#14 0x0000000001ddb0ee llvm::detail::PassModel<llvm::Module, llvm::IPSCCPPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) crtstuff.c:0:0
#15 0x00000000007f9c53 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x7f9c53)
#16 0x0000000000754c7a main (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x754c7a)
#17 0x00002b4fd1044555 __libc_start_main (/lib64/libc.so.6+0x22555)
#18 0x00000000007eded2 _start (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x7eded2)
/bin/sh: line 1: 20052 Segmentation fault      /home/mnyata/repository/llvm/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /home/mnyata/repository/llvm/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_62.bc -o /home/mnyata/repository/llvm/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_62.bc
[119/289] Optimizing LLVM bitcode libomptarget-nvptx-sm_70.bc
ninja: build stopped: subcommand failed.
➜  llvm-project git:(main) ✗ ./build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module ./build/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_52.bc -o /home/mnyata/repository/llvm/llvm-proje
ct/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_60.bc

Also after I attempt to build two times, on third attempt build is successfull.

bryanpkc commented 1 year ago

There are options to disable libomptarget entirely, or just the device runtime if you would like to use those. OPENMP_ENABLE_LIBOMPTARGET=OFF and LIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF respectively.

This problem is also seen on AArch64. It's not possible to use LIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF by itself. I also had to turn off the device plugins with LIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF and LIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF. The device plugins have hardcoded dependencies on the respective device runtime bitcode libraries.

jhuber6 commented 1 year ago

I am having similar issue on main (https://github.com/llvm/llvm-project/commit/0d1864a754919deae84605aae2b5db8722ae69d4) Weird part is that if I execute command separately no segfault is happening

If you can somehow find a way to reproduce any of this it would be greatly appreciated. As it stands it's very difficult to fix something I can't reproduce.

The device plugins have hardcoded dependencies on the respective device runtime bitcode libraries.

I'm fairly certain those aren't listed as dependencies anymore, I don't remember the status of the 16.0 release.

bryanpkc commented 1 year ago

The device plugins have hardcoded dependencies on the respective device runtime bitcode libraries. I'm fairly certain those aren't listed as dependencies anymore, I don't remember the status of the 16.0 release.

You're right; I was building an earlier commit. Your patch to remove those dependencies were included in LLVM 16 RC3. Thanks.

Yaraslaut commented 1 year ago

I am having similar issue on main (0d1864a) Weird part is that if I execute command separately no segfault is happening

If you can somehow find a way to reproduce any of this it would be greatly appreciated. As it stands it's very difficult to fix something I can't reproduce.

The device plugins have hardcoded dependencies on the respective device runtime bitcode libraries.

I'm fairly certain those aren't listed as dependencies anymore, I don't remember the status of the 16.0 release.

File which is giving me segfaults : internalized_libomptarget-nvptx-sm_60.txt

opt --version 
LLVM (http://llvm.org/):
  LLVM version 17.0.0git
  DEBUG build with assertions.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: haswell

Some inconsistent behaviour

for i in {1..10}; do /home/mnyata/repository/llvm/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module ./test.bc -o res.bc | echo "DONE"; done
DONE
DONE
opt: /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/StringMap.h:352: std::pair<llvm::StringMapIterator<ValueTy>, bool> llvm::StringMap<ValueTy, AllocatorTy>::try_emplace(llvm::StringRef, ArgsTy&& ...) [with ArgsTy = {llvm::Value*}; ValueTy = llvm::Value*; AllocatorTy = llvm::MallocAllocator]: Assertion `NumItems + NumTombstones <= NumBuckets' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/mnyata/repository/llvm/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module ./test.bc -o res.bc
 #0 0x00000000026d09de llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:602:22
 #1 0x00000000026d0dc4 PrintStackTraceSignalHandler(void*) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:675:1
 #2 0x00000000026ce82d llvm::sys::RunSignalHandlers() /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/Signals.cpp:104:20
 #3 0x00000000026d0400 SignalHandler(int) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
 #4 0x00002ab1bc26b630 __restore_rt sigaction.c:0:0
 #5 0x00002ab1bcbbc387 raise (/lib64/libc.so.6+0x36387)
 #6 0x00002ab1bcbbda78 abort (/lib64/libc.so.6+0x37a78)
 #7 0x00002ab1bcbb51a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #8 0x00002ab1bcbb5252 (/lib64/libc.so.6+0x2f252)
 #9 0x0000000001f7ed84 std::pair<llvm::StringMapIterator<llvm::Value*>, bool> llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::try_emplace<llvm::Value*>(llvm::StringRef, llvm::Value*&&) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/StringMap.h:354:27
#10 0x0000000001f7e941 llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::insert(std::pair<llvm::StringRef, llvm::Value*>) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/StringMap.h:308:3
#11 0x0000000001f7e619 llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) /home/mnyata/repository/llvm/llvm-project/llvm/lib/IR/ValueSymbolTable.cpp:107:30
#12 0x0000000001f7559f llvm::Value::setNameImpl(llvm::Twine const&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/IR/Value.cpp:375:15
#13 0x0000000001f755fb llvm::Value::setName(llvm::Twine const&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/IR/Value.cpp:380:39
#14 0x0000000001e67dd9 llvm::IRBuilderDefaultInserter::InsertHelper(llvm::Instruction*, llvm::Twine const&, llvm::BasicBlock*, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, false>) const /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/IRBuilder.h:71:3
#15 0x0000000000a6e6a9 llvm::CallInst* llvm::IRBuilderBase::Insert<llvm::CallInst>(llvm::CallInst*, llvm::Twine const&) const /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/IRBuilder.h:147:22
#16 0x0000000000a6d1ba llvm::IRBuilderBase::CreateCall(llvm::FunctionType*, llvm::Value*, llvm::ArrayRef<llvm::Value*>, llvm::Twine const&, llvm::MDNode*) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/IRBuilder.h:2316:3
#17 0x0000000000a6d31c llvm::IRBuilderBase::CreateCall(llvm::FunctionCallee, llvm::ArrayRef<llvm::Value*>, llvm::Twine const&, llvm::MDNode*) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/IRBuilder.h:2332:22
#18 0x00000000028e3de2 llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp:576:23
#19 0x00000000028e48ce llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp:727:20
#20 0x00000000028e3996 llvm::PredicateInfoBuilder::buildPredicateInfo() /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp:532:1
#21 0x00000000028e4d7d llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp:767:1
#22 0x00000000028e7ff2 std::_MakeUniq<llvm::PredicateInfo>::__single_object std::make_unique<llvm::PredicateInfo, llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&>(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) /home/opt/easybuild/software/GCCcore/11.2.0/include/c++/11.2.0/bits/unique_ptr.h:962:69
#23 0x0000000003317f2b llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&)::'lambda2'(llvm::Function&)::operator()(llvm::Function&) const /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp:395:73
#24 0x0000000003318768 llvm::AnalysisResultsForFn llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>::callback_fn<llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&)::'lambda2'(llvm::Function&)>(long, llvm::Function&) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:47:3
#25 0x000000000331990f llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>::operator()(llvm::Function&) const /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:3
#26 0x00000000033166bc runIPSCCP(llvm::Module&, llvm::DataLayout const&, llvm::AnalysisManager<llvm::Function>*, std::function<llvm::TargetLibraryInfo const& (llvm::Function&)>, std::function<llvm::TargetTransformInfo& (llvm::Function&)>, std::function<llvm::AssumptionCache& (llvm::Function&)>, llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>, bool) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp:124:23
#27 0x00000000033180dc llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp:398:17
#28 0x00000000029bf462 llvm::detail::PassModel<llvm::Module, llvm::IPSCCPPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:90:3
#29 0x0000000001f2fd42 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/PassManager.h:521:20
#30 0x000000000095b73c llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) /home/mnyata/repository/llvm/llvm-project/llvm/tools/opt/NewPMDriver.cpp:522:10
#31 0x00000000009890f7 main /home/mnyata/repository/llvm/llvm-project/llvm/tools/opt/opt.cpp:701:27
#32 0x00002ab1bcba8555 __libc_start_main (/lib64/libc.so.6+0x22555)
#33 0x0000000000958e32 _start (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x958e32)
DONE
DONE
DONE
DONE
DONE
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/mnyata/repository/llvm/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module ./test.bc -o res.bc
 #0 0x00000000026d09de llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:602:22
 #1 0x00000000026d0dc4 PrintStackTraceSignalHandler(void*) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:675:1
 #2 0x00000000026ce82d llvm::sys::RunSignalHandlers() /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/Signals.cpp:104:20
 #3 0x00000000026d0400 SignalHandler(int) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
 #4 0x00002b9aeeb1f630 __restore_rt sigaction.c:0:0
 #5 0x00002b9aef5a4213 __memcmp_sse4_1 (/lib64/libc.so.6+0x16a213)
 #6 0x000000000096049c llvm::StringRef::compareMemory(char const*, char const*, unsigned long) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/StringRef.h:69:37
 #7 0x00000000009605e7 llvm::StringRef::equals(llvm::StringRef) const /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/StringRef.h:165:36
 #8 0x0000000000960946 llvm::operator==(llvm::StringRef, llvm::StringRef) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/StringRef.h:870:3
 #9 0x000000000264e4b3 llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Support/StringMap.cpp:121:7
#10 0x0000000001f7ec47 std::pair<llvm::StringMapIterator<llvm::Value*>, bool> llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::try_emplace<llvm::Value*>(llvm::StringRef, llvm::Value*&&) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/StringMap.h:341:40
#11 0x0000000001f7e941 llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::insert(std::pair<llvm::StringRef, llvm::Value*>) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/StringMap.h:308:3
#12 0x0000000001f7e619 llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*) /home/mnyata/repository/llvm/llvm-project/llvm/lib/IR/ValueSymbolTable.cpp:107:30
#13 0x0000000001f7559f llvm::Value::setNameImpl(llvm::Twine const&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/IR/Value.cpp:375:15
#14 0x0000000001f755fb llvm::Value::setName(llvm::Twine const&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/IR/Value.cpp:380:39
#15 0x0000000001e67dd9 llvm::IRBuilderDefaultInserter::InsertHelper(llvm::Instruction*, llvm::Twine const&, llvm::BasicBlock*, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, false>) const /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/IRBuilder.h:71:3
#16 0x0000000000a6e6a9 llvm::CallInst* llvm::IRBuilderBase::Insert<llvm::CallInst>(llvm::CallInst*, llvm::Twine const&) const /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/IRBuilder.h:147:22
#17 0x0000000000a6d1ba llvm::IRBuilderBase::CreateCall(llvm::FunctionType*, llvm::Value*, llvm::ArrayRef<llvm::Value*>, llvm::Twine const&, llvm::MDNode*) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/IRBuilder.h:2316:3
#18 0x0000000000a6d31c llvm::IRBuilderBase::CreateCall(llvm::FunctionCallee, llvm::ArrayRef<llvm::Value*>, llvm::Twine const&, llvm::MDNode*) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/IRBuilder.h:2332:22
#19 0x00000000028e3de2 llvm::PredicateInfoBuilder::materializeStack(unsigned int&, llvm::SmallVectorImpl<llvm::ValueDFS>&, llvm::Value*) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp:576:23
#20 0x00000000028e48ce llvm::PredicateInfoBuilder::renameUses(llvm::SmallVectorImpl<llvm::Value*>&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp:727:20
#21 0x00000000028e3996 llvm::PredicateInfoBuilder::buildPredicateInfo() /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp:532:1
#22 0x00000000028e4d7d llvm::PredicateInfo::PredicateInfo(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp:767:1
#23 0x00000000028e7ff2 std::_MakeUniq<llvm::PredicateInfo>::__single_object std::make_unique<llvm::PredicateInfo, llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&>(llvm::Function&, llvm::DominatorTree&, llvm::AssumptionCache&) /home/opt/easybuild/software/GCCcore/11.2.0/include/c++/11.2.0/bits/unique_ptr.h:962:69
#24 0x0000000003317f2b llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&)::'lambda2'(llvm::Function&)::operator()(llvm::Function&) const /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp:395:73
#25 0x0000000003318768 llvm::AnalysisResultsForFn llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>::callback_fn<llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&)::'lambda2'(llvm::Function&)>(long, llvm::Function&) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:47:3
#26 0x000000000331990f llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>::operator()(llvm::Function&) const /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:3
#27 0x00000000033166bc runIPSCCP(llvm::Module&, llvm::DataLayout const&, llvm::AnalysisManager<llvm::Function>*, std::function<llvm::TargetLibraryInfo const& (llvm::Function&)>, std::function<llvm::TargetTransformInfo& (llvm::Function&)>, std::function<llvm::AssumptionCache& (llvm::Function&)>, llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>, bool) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp:124:23
#28 0x00000000033180dc llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/mnyata/repository/llvm/llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp:398:17
#29 0x00000000029bf462 llvm::detail::PassModel<llvm::Module, llvm::IPSCCPPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:90:3
#30 0x0000000001f2fd42 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/mnyata/repository/llvm/llvm-project/llvm/include/llvm/IR/PassManager.h:521:20
#31 0x000000000095b73c llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) /home/mnyata/repository/llvm/llvm-project/llvm/tools/opt/NewPMDriver.cpp:522:10
#32 0x00000000009890f7 main /home/mnyata/repository/llvm/llvm-project/llvm/tools/opt/opt.cpp:701:27
#33 0x00002b9aef45c555 __libc_start_main (/lib64/libc.so.6+0x22555)
#34 0x0000000000958e32 _start (/home/mnyata/repository/llvm/llvm-project/build/bin/opt+0x958e32)
DONE
DONE
DONE

when I check fault on other machine it is not happening with :

opt --version
LLVM (http://llvm.org/):
  LLVM version 16.0.0
  Optimized build.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: skylake
jhuber6 commented 1 year ago

I similarly cannot reproduce with this. Did all instances of this prior come from a debug build?

LLVM (http://llvm.org/):
  LLVM version 17.0.0git
  Optimized build with assertions.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: znver3
Yaraslaut commented 1 year ago

I similarly cannot reproduce with this. Did all instances of this prior come from a debug build?

LLVM (http://llvm.org/):
  LLVM version 17.0.0git
  Optimized build with assertions.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: znver3

No, initial build was in Release type

Yaraslaut commented 1 year ago

So, I also checked on

  LLVM version 16.0.4
  Optimized build.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: znver4

no fault happening

ahrbe1 commented 1 year ago

I'm bumping into a crash optimizing libomptarget-nvptx-sm_89.bc when trying to build facebook infer from source (https://github.com/facebook/infer) on Centos 7. Infer uses llvm 16.0.0 under the hood. I've managed to build a dockerfile which seems to be able to reliably reproduce this, though it takes my machine about 25 minutes to get to the error. The cmake compile options used are from the infer build script here (https://github.com/facebook/infer/blob/main/facebook-clang-plugins/clang/setup.sh). YMMV. See attached:

[875/876] Linking CXX static library /root/llvm-project/build/lib/clang/16/lib/linux/libclang_rt.fuzzer_no_main-x86_64.a
[876/876] Linking CXX static library /root/llvm-project/build/lib/clang/16/lib/linux/libclang_rt.fuzzer-x86_64.a
[3924/4413] Optimizing LLVM bitcode libomptarget-nvptx-sm_89.bc
FAILED: projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_89.bc /root/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_89.bc
cd /root/llvm-project/build/projects/openmp/libomptarget/DeviceRTL && /root/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /root/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_89.bc -o /root/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_89.bc
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /root/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /root/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_89.bc -o /root/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_89.bc
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt             0x000000000264b451 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 225
1  opt             0x0000000002648a44
2  libpthread.so.0 0x00007f922a3a6630
3  libc.so.6       0x00007f92292080fe
4  opt             0x0000000001e9c760 llvm::ValueSymbolTable::~ValueSymbolTable() + 64
5  opt             0x0000000001dc8dac llvm::Function::~Function() + 172
6  opt             0x0000000001dc8e84 llvm::Function::eraseFromParent() + 84
7  opt             0x0000000001f73b9d llvm::DeadArgumentEliminationPass::removeDeadStuffFromFunction(llvm::Function*) + 7661
8  opt             0x0000000001f7450b llvm::DeadArgumentEliminationPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 283
9  opt             0x00000000029aa13e
10 opt             0x0000000001e6af8d llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 909
11 opt             0x000000000099fafc llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 4284
12 opt             0x00000000008f61ed main + 9613
13 libc.so.6       0x00007f92291a9555 __libc_start_main + 245
14 opt             0x0000000000991ddb
/bin/sh: line 1: 14867 Bus error               (core dumped) /root/llvm-project/build/bin/opt -O3 -openmp-opt-disable -attributor-enable=module /root/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/internalized_libomptarget-nvptx-sm_89.bc -o /root/llvm-project/build/projects/openmp/libomptarget/DeviceRTL/libomptarget-nvptx-sm_89.bc

Dockerfile:

FROM centos:7

RUN yum update -y
RUN yum install -y wget git make patch unzip automake autoconf libcap-devel unzip \
    gmp-devel sqlite-devel which zlib-devel bzip2 perl-Digest-SHA gcc python3 python3-pip

RUN yum install -y centos-release-scl yum-utils
RUN yum-config-manager --enable rhel-server-rhscl-7-rpms
RUN yum install -y devtoolset-11

WORKDIR /root
RUN wget https://github.com/Kitware/CMake/releases/download/v3.27.0/cmake-3.27.0-linux-x86_64.tar.gz
RUN tar -xf cmake-3.27.0-linux-x86_64.tar.gz && mv cmake-3.27.0-linux-x86_64 /opt/
ENV PATH=/opt/cmake-3.27.0-linux-x86_64/bin:$PATH

RUN wget https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip
RUN unzip ninja-linux.zip && mv ninja /usr/bin/ninja

RUN wget https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/llvm-project-16.0.0.src.tar.xz
RUN tar -xf llvm-project-16.0.0.src.tar.xz && mv llvm-project-16.0.0.src llvm-project
RUN mkdir llvm-project/build

WORKDIR llvm-project/build

RUN source scl_source enable devtoolset-11 && cmake \ 
    -G "Ninja" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_C_FLAGS="$CFLAGS $CMAKE_C_FLAGS" \
    -DCMAKE_CXX_FLAGS="$CXXFLAGS $CPPFLAGS $CMAKE_CXX_FLAGS" \
    -DLLVM_BUILD_EXTERNAL_COMPILER_RT=On \
    -DLLVM_BUILD_TOOLS=Off \
    -DLLVM_ENABLE_ASSERTIONS=Off \
    -DLLVM_ENABLE_EH=On \
    -DLLVM_ENABLE_RTTI=On \
    -DLLVM_INCLUDE_DOCS=Off \
    -DLLVM_INCLUDE_EXAMPLES=Off \
    -DLLVM_INCLUDE_TESTS=Off \
    -DLLVM_TARGETS_TO_BUILD="X86;AArch64;ARM;Mips" \
    -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;openmp" \
    -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
    -DCMAKE_JOB_POOLS:STRING="compile=8;link=1" \
    -DCMAKE_JOB_POOL_COMPILE:STRING="compile" \
    -DCMAKE_JOB_POOL_LINK:STRING="link" \
    -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS $CMAKE_SHARED_LINKER_FLAGS -lstdc++ -fPIC" \
    ../llvm

RUN source scl_source enable devtoolset-11 && ninja

This seems to happen at least with devtoolset 7, 9, and 11. I have not tested the others.

llvmbot commented 1 year ago

@llvm/issue-subscribers-openmp

jhuber6 commented 1 year ago

This issue is very annoying. I'm already thinking about changing the whole build process fundamentally for this because of problems brought up in other issues. Might be worthwhile to change this logic to a new runtime target called openmp-devicertl and then run it through clang rather than invoking all these tools manually.

fyrie6870 commented 1 year ago

any updates? getting this when trying to build infer as well.

jhuber6 commented 1 year ago

any updates? getting this when trying to build infer as well.

Unfortunately not, but you can skip building this by setting -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF for now assuming you don't need it.

fyrie6870 commented 1 year ago

any updates? getting this when trying to build infer as well.

Unfortunately not, but you can skip building this by setting -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF for now assuming you don't need it.

Thank you so much! Can confirm this fixed the issue for me.

tardigradus commented 11 months ago

-DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF

Am I correct in assuming that I can use this setting for nodes which just have CPUs and thus no potential offloading targets?

jhuber6 commented 11 months ago

-DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF

Am I correct in assuming that I can use this setting for nodes which just have CPUs and thus no potential offloading targets?

You can offload to CPUs with that enabled just fine, this disables the GPU runtime. We are hopefully going to completely rework the infra here in the near future so hopefully this gets resolved along the way.