[clang] [flang] [llvm] [mlir] [Flang]Fix for changed code at the end of AllocaIP. (PR #92430)
ye-luo wrote: progress? https://github.com/llvm/llvm-project/pull/92430 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [CMake] Change GCC_INSTALL_PREFIX from warning to fatal error (PR #85891)
ye-luo wrote: `-DRUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=--gcc-install-dir=$GCC_ROOT;-DCMAKE_CXX_FLAGS=--gcc-install-dir=$GCC_ROOT"` worked for me https://github.com/llvm/llvm-project/pull/85891 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [CMake] Change GCC_INSTALL_PREFIX from warning to fatal error (PR #85891)
ye-luo wrote: The term deprecated refers to a functionality that still exists in software whose use is not recommended. Contradictorily, GCC_INSTALL_PREFIX got me fatal error now without a clear message explaining how to keep it working. I had to dig deep to figure it out. Will "temporary" `USE_DEPRECATED_GCC_INSTALL_PREFIX` make its way to 19 release? Then it should be documented. Why `USE_DEPRECATED_GCC_INSTALL_PREFIX` is even needed in the first place? It adds further complexity. Why not just delete `GCC_INSTALL_PREFIX`? https://github.com/llvm/llvm-project/pull/85891 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: Fixed the issue https://github.com/llvm/llvm-project/commit/0fa04b6e2cd2169a8e3d22ae879394dbf07c0466 Unrelated to building as projects. https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: I'm OK with the first two ``` -DLLVM_RUNTIME_TARGETS=default;amdgcn-amd-amdhsa;nvptx64-nvidia-cuda Enables the runtimes for the target triples, default is what you get without specifying anything ``` I actually think default should automatically include amdgcn and nvptx when I have amdgcn and nvptx backend turned on. ``` -DLLVM_ENABLE_RUNTIMES="openmp" This specifies the default target builds the openmp runtime. ``` Then openmp cmake can react to the contents of `LLVM_RUNTIME_TARGETS` by adding device runtime for `x86,amdgcn,nvptx` https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: Could you explain what each line do exactly? https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: > > @jdoerfert I would like to see the device code compilation (on device > > runtime) and host runtime compilation fully separate. Then I can build the > > runtime with gcc or sanitizer without disturbing device code compilation. > > Could you elaborate on this? One of my long-term goals is to build the OpenMP > device runtime similarly to how I build the GPU C library. That is, we have a > `runtimes` build that simply does `--target=amdgcn-amd-amdhsa` on C/C++ > source using standard `clang`. We could maybe split this out into a separate > runtime and declare the offloading runtime on the CPU to be a project instead? I need a clean way to add `-fsantize=address` to the libomptarget host runtime and plugins without disturbing the device compilation. So if you move all the device compilation to a separate runtime, it also achieve my goal I guess. https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: > > @jhuber6 could you build openmp as a project instead of runtime? > > Ah, I could try that. Though I believe that Johannes is going to completely > deprecate the projects build once moving to llvm/offload. @jdoerfert I would like to see the device code compilation (on device runtime) and host runtime compilation fully separate. Then I can build the runtime with gcc or sanitizer without disturbing device code compilation. https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: @jhuber6 could you build openmp as a project instead of runtime? https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: Still a myth on my side, I saw ``` [ 89%] Linking CXX shared library ../../../../../lib/libomptarget.rtl.cuda.so [ 90%] Linking CXX shared library ../../../../../lib/libomptarget.rtl.amdgpu.so -- Installing: /soft/compilers/llvm/main-20240305/lib/x86_64-unknown-linux-gnu/libomptarget.rtl.cuda.so.19.0git -- Set runtime path of "/soft/compilers/llvm/main-20240305/lib/x86_64-unknown-linux-gnu/libomptarget.rtl.cuda.so.19.0git" to "$ORIGIN" -- Installing: /soft/compilers/llvm/main-20240305/lib/x86_64-unknown-linux-gnu/libomptarget.rtl.cuda.so ``` but there is no installing of the `rtl.amdgpu.so`. I'm building llvm on a different machine. https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: @jhuber6 unfortunately after 2fb764d2dae288f24335dfc168b5491a1017fc83 ``` ls /soft/compilers/llvm/master-nightly/lib/x86_64-unknown-linux-gnu/libomptarget.rtl* /soft/compilers/llvm/master-nightly/lib/x86_64-unknown-linux-gnu/libomptarget.rtl.cuda.so /soft/compilers/llvm/master-nightly/lib/x86_64-unknown-linux-gnu/libomptarget.rtl.x86_64.so /soft/compilers/llvm/master-nightly/lib/x86_64-unknown-linux-gnu/libomptarget.rtl.cuda.so.19.0git /soft/compilers/llvm/master-nightly/lib/x86_64-unknown-linux-gnu/libomptarget.rtl.x86_64.so.19.0git ``` amdgpu plut is missing. https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: It seems being installed twice both under `lib` and `lib/x86_64-unknown-linux-gnu`. files are the identical as diff show nothing. https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [openmp] [OpenMP] Respect LLVM per-target install directories (PR #83282)
ye-luo wrote: ``` yeluo@epyc-server:/soft/llvm/main-20240301/lib$ ls libomp* -l lrwxrwxrwx 1 yeluo yeluo 34 Mar 1 11:18 libomptarget.rtl.amdgpu.so -> libomptarget.rtl.amdgpu.so.19.0git -r--r--r-- 1 yeluo yeluo 67532024 Mar 1 11:04 libomptarget.rtl.amdgpu.so.19.0git lrwxrwxrwx 1 yeluo yeluo 32 Mar 1 11:18 libomptarget.rtl.cuda.so -> libomptarget.rtl.cuda.so.19.0git -r--r--r-- 1 yeluo yeluo 67440504 Mar 1 11:04 libomptarget.rtl.cuda.so.19.0git lrwxrwxrwx 1 yeluo yeluo 34 Mar 1 11:18 libomptarget.rtl.x86_64.so -> libomptarget.rtl.x86_64.so.19.0git -r--r--r-- 1 yeluo yeluo 67349472 Mar 1 11:04 libomptarget.rtl.x86_64.so.19.0git lrwxrwxrwx 1 yeluo yeluo 23 Mar 1 11:18 libomptarget.so -> libomptarget.so.19.0git -r--r--r-- 1 yeluo yeluo 2686592 Mar 1 11:04 libomptarget.so.19.0git ``` Should libomptarget follow the relocation of libomp. https://github.com/llvm/llvm-project/pull/83282 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [LinkerWrapper] Forward more arguments to the CPU offloading linker (PR #75757)
https://github.com/ye-luo approved this pull request. https://github.com/llvm/llvm-project/pull/75757 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [LinkerWrapper] Forward more arguments to the CPU offloading linker (PR #75757)
https://github.com/ye-luo closed https://github.com/llvm/llvm-project/pull/75757 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 38822b9 - Revert "[clang] Adding Platform/Architecture Specific Resource Header Installation Targets"
Author: Ye Luo Date: 2022-04-23T09:32:53-05:00 New Revision: 38822b98fa3b9d740b9a68b0de34296205d20819 URL: https://github.com/llvm/llvm-project/commit/38822b98fa3b9d740b9a68b0de34296205d20819 DIFF: https://github.com/llvm/llvm-project/commit/38822b98fa3b9d740b9a68b0de34296205d20819.diff LOG: Revert "[clang] Adding Platform/Architecture Specific Resource Header Installation Targets" Caused build failure see github issue #55002 This reverts commit 2512a875ccac158bc9b654b09e3347db167e33df. Added: Modified: clang/lib/Headers/CMakeLists.txt Removed: diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt index e506ecb7a8c0e..f1106b97bb382 100644 --- a/clang/lib/Headers/CMakeLists.txt +++ b/clang/lib/Headers/CMakeLists.txt @@ -1,107 +1,19 @@ -# core_files list contains the headers shared by all platforms. -# Please consider adding new platform specific headers -# to platform specific lists below. -set(core_files - builtins.h - float.h - inttypes.h - iso646.h - limits.h - module.modulemap - stdalign.h - stdarg.h - stdatomic.h - stdbool.h - stddef.h - __stddef_max_align_t.h - stdint.h - stdnoreturn.h - tgmath.h - unwind.h - varargs.h - ) - -set(arm_common_files - # Headers shared by Arm and AArch64 +set(files + adxintrin.h + altivec.h + ammintrin.h + amxintrin.h arm_acle.h - ) - -set(arm_only_files arm_cmse.h armintr.h - ) - -set(aarch64_only_files arm64intr.h - ) - -set(cuda_files - __clang_cuda_builtin_vars.h - __clang_cuda_math.h - __clang_cuda_cmath.h - __clang_cuda_complex_builtins.h - __clang_cuda_device_functions.h - __clang_cuda_intrinsics.h - __clang_cuda_texture_intrinsics.h - __clang_cuda_libdevice_declares.h - __clang_cuda_math_forward_declares.h - __clang_cuda_runtime_wrapper.h - ) - -set(hexagon_files - hexagon_circ_brev_intrinsics.h - hexagon_protos.h - hexagon_types.h - hvx_hexagon_protos.h - ) - -set(hip_files - __clang_hip_libdevice_declares.h - __clang_hip_cmath.h - __clang_hip_math.h - __clang_hip_runtime_wrapper.h - ) - -set(mips_msa_files - msa.h - ) - -set(opencl_files - opencl-c.h - opencl-c-base.h - ) - -set(ppc_files - altivec.h - htmintrin.h - htmxlintrin.h - ) - -set(systemz_files - s390intrin.h - vecintrin.h - ) - -set(ve_files - velintrin.h - velintrin_gen.h - velintrin_approx.h - ) - -set(webassembly_files - wasm_simd128.h - ) - -set(x86_files -# Intrinsics - adxintrin.h - ammintrin.h - amxintrin.h avx2intrin.h avx512bf16intrin.h - avx512bitalgintrin.h avx512bwintrin.h + avx512bitalgintrin.h + avx512vlbitalgintrin.h avx512cdintrin.h + avx512vpopcntdqintrin.h avx512dqintrin.h avx512erintrin.h avx512fintrin.h @@ -109,55 +21,86 @@ set(x86_files avx512ifmaintrin.h avx512ifmavlintrin.h avx512pfintrin.h - avx512vbmi2intrin.h avx512vbmiintrin.h avx512vbmivlintrin.h + avx512vbmi2intrin.h + avx512vlvbmi2intrin.h avx512vlbf16intrin.h - avx512vlbitalgintrin.h avx512vlbwintrin.h avx512vlcdintrin.h avx512vldqintrin.h avx512vlfp16intrin.h avx512vlintrin.h - avx512vlvbmi2intrin.h - avx512vlvnniintrin.h - avx512vlvp2intersectintrin.h - avx512vnniintrin.h avx512vp2intersectintrin.h - avx512vpopcntdqintrin.h + avx512vlvp2intersectintrin.h avx512vpopcntdqvlintrin.h + avx512vnniintrin.h + avx512vlvnniintrin.h avxintrin.h avxvnniintrin.h bmi2intrin.h bmiintrin.h + builtins.h + __clang_cuda_builtin_vars.h + __clang_cuda_math.h + __clang_cuda_cmath.h + __clang_cuda_complex_builtins.h + __clang_cuda_device_functions.h + __clang_cuda_intrinsics.h + __clang_cuda_texture_intrinsics.h + __clang_cuda_libdevice_declares.h + __clang_cuda_math_forward_declares.h + __clang_cuda_runtime_wrapper.h + __clang_hip_libdevice_declares.h + __clang_hip_cmath.h + __clang_hip_math.h + __clang_hip_runtime_wrapper.h cetintrin.h + cet.h cldemoteintrin.h - clflushoptintrin.h - clwbintrin.h clzerointrin.h crc32intrin.h + cpuid.h + clflushoptintrin.h + clwbintrin.h emmintrin.h enqcmdintrin.h f16cintrin.h + float.h fma4intrin.h fmaintrin.h fxsrintrin.h gfniintrin.h + hexagon_circ_brev_intrinsics.h + hexagon_protos.h + hexagon_types.h + hvx_hexagon_protos.h hresetintrin.h + htmintrin.h + htmxlintrin.h ia32intrin.h immintrin.h + intrin.h + inttypes.h invpcidintrin.h + iso646.h keylockerintrin.h + limits.h lwpintrin.h lzcntintrin.h mm3dnow.h mmintrin.h + mm_malloc.h + module.modulemap movdirintrin.h + msa.h mwaitxintrin.h nmmintrin.h - pconfigintrin.h + opencl-c.h + opencl-c-base.h pkuintrin.h pmmintrin.h + pconfigintrin.h popcntintrin.h prfchwintrin.h ptwriteintrin.h @@ -165,18 +108,33 @@ set(x86_files rtmintrin.h serializeintrin.h sgxintrin.h + s390intrin.h shaintrin.h smmintrin.h + stdalign.h +