[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-22 Thread Yaxun Liu via cfe-commits
https://github.com/yxsamliu closed https://github.com/llvm/llvm-project/pull/81700 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-22 Thread Yaxun Liu via cfe-commits
https://github.com/yxsamliu updated https://github.com/llvm/llvm-project/pull/81700 >From 1e9c29c4794ed6d60cf54c902cd0f854afd1aace Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Tue, 13 Feb 2024 10:00:21 -0500 Subject: [PATCH] [HIP] Allow partial linking for `-fgpu-rdc` `-fgpu-rdc` mod

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-21 Thread Yaxun Liu via cfe-commits
yxsamliu wrote: > This makes sense overall, though it's very complicated. Generally we just > need to make sure these things are private to one group of files. There's a > lot more to parse here compared to the `linker-wrapper`. > > Do any of these tests check when called with `-r`? I'm assumi

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-21 Thread Yaxun Liu via cfe-commits
https://github.com/yxsamliu updated https://github.com/llvm/llvm-project/pull/81700 >From d84645f035609e7ece76c1f2eb06637826b7b22a Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Tue, 13 Feb 2024 10:00:21 -0500 Subject: [PATCH] [HIP] Allow partial linking for `-fgpu-rdc` `-fgpu-rdc` mod

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-15 Thread Yaxun Liu via cfe-commits
@@ -36,6 +47,146 @@ static std::string normalizeForBundler(const llvm::Triple &T, : T.normalize(); } +// Collect undefined __hip_fatbin* and __hip_gpubin_handle* symbols from all +// input object or archive files. +class HIPUndefinedFatBinSymbols { +publi

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-15 Thread Yaxun Liu via cfe-commits
@@ -36,6 +47,146 @@ static std::string normalizeForBundler(const llvm::Triple &T, : T.normalize(); } +// Collect undefined __hip_fatbin* and __hip_gpubin_handle* symbols from all +// input object or archive files. +class HIPUndefinedFatBinSymbols { +publi

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-15 Thread Yaxun Liu via cfe-commits
@@ -36,6 +47,146 @@ static std::string normalizeForBundler(const llvm::Triple &T, : T.normalize(); } +// Collect undefined __hip_fatbin* and __hip_gpubin_handle* symbols from all +// input object or archive files. +class HIPUndefinedFatBinSymbols { +publi

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-14 Thread Joseph Huber via cfe-commits
https://github.com/jhuber6 commented: This makes sense overall, though it's very complicated. Generally we just need to make sure these things are private to one group of files. There's a lot more to parse here compared to the `linker-wrapper`. Do any of these tests check when called with `-r`

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-14 Thread Artem Belevich via cfe-commits
https://github.com/Artem-B approved this pull request. Overall LGTM. Please wait for @jhuber6's to double check the partial linking mechanics details. https://github.com/llvm/llvm-project/pull/81700 ___ cfe-commits mailing list cfe-commits@lists.llvm.

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-14 Thread Artem Belevich via cfe-commits
@@ -36,6 +47,146 @@ static std::string normalizeForBundler(const llvm::Triple &T, : T.normalize(); } +// Collect undefined __hip_fatbin* and __hip_gpubin_handle* symbols from all +// input object or archive files. +class HIPUndefinedFatBinSymbols { +publi

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-14 Thread Artem Belevich via cfe-commits
@@ -36,6 +47,146 @@ static std::string normalizeForBundler(const llvm::Triple &T, : T.normalize(); } +// Collect undefined __hip_fatbin* and __hip_gpubin_handle* symbols from all +// input object or archive files. +class HIPUndefinedFatBinSymbols { +publi

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-14 Thread Artem Belevich via cfe-commits
@@ -36,6 +47,146 @@ static std::string normalizeForBundler(const llvm::Triple &T, : T.normalize(); } +// Collect undefined __hip_fatbin* and __hip_gpubin_handle* symbols from all +// input object or archive files. +class HIPUndefinedFatBinSymbols { +publi

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-14 Thread Artem Belevich via cfe-commits
https://github.com/Artem-B edited https://github.com/llvm/llvm-project/pull/81700 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-14 Thread Yaxun Liu via cfe-commits
https://github.com/yxsamliu updated https://github.com/llvm/llvm-project/pull/81700 >From 6006975bbff9fc0f6fb9b8e24a52d4963ceb774c Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Tue, 13 Feb 2024 10:00:21 -0500 Subject: [PATCH] [HIP] Allow partial linking for `-fgpu-rdc` `-fgpu-rdc` mod

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-13 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff ec5f4a4bc6f27b044bc73668414ecefe9690d283 318117089831345caa13d8b4eeea23d0aa2c8588 --

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-13 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Yaxun (Sam) Liu (yxsamliu) Changes `-fgpu-rdc` mode allows device functions call device functions in different TU. However, currently all device objects have to be linked together since only one fat binary is supported. This is time consu

[clang] [HIP] Allow partial linking for `-fgpu-rdc` (PR #81700)

2024-02-13 Thread Yaxun Liu via cfe-commits
https://github.com/yxsamliu created https://github.com/llvm/llvm-project/pull/81700 `-fgpu-rdc` mode allows device functions call device functions in different TU. However, currently all device objects have to be linked together since only one fat binary is supported. This is time consuming fo