[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2024-02-06 Thread Matt Arsenault via cfe-commits
@@ -104,3 +106,14 @@ void fun() { (void) b; (void) var_host_only; } + +extern __global__ void external_func(); +extern void* const external_dep[] = { arsenm wrote: Sounds broken that the behavior would differ between array and non-array ? https://github.c

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-20 Thread Levon Ter-Grigoryan via cfe-commits
https://github.com/PatriosTheGreat updated https://github.com/llvm/llvm-project/pull/73549 >From 1c24a6774f08c9943cce1a2eee96a6a92b11fd02 Mon Sep 17 00:00:00 2001 From: Levon Ter-Grigoryan Date: Mon, 27 Nov 2023 18:09:22 +0100 Subject: [PATCH] [CUDA][HIP] Exclude external variables from constan

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-18 Thread Matt Arsenault via cfe-commits
https://github.com/arsenm commented: Is #75799 related? https://github.com/llvm/llvm-project/pull/73549 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-18 Thread Levon Ter-Grigoryan via cfe-commits
@@ -104,3 +106,14 @@ void fun() { (void) b; (void) var_host_only; } + +extern __global__ void external_func(); +extern void* const external_dep[] = { + (void*)(external_func) +}; +extern void* const external_arr[] = {}; + +void* host_fun() { + (void) external_dep; + (voi

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-18 Thread Levon Ter-Grigoryan via cfe-commits
https://github.com/PatriosTheGreat deleted https://github.com/llvm/llvm-project/pull/73549 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-18 Thread Levon Ter-Grigoryan via cfe-commits
@@ -104,3 +106,14 @@ void fun() { (void) b; (void) var_host_only; } + +extern __global__ void external_func(); +extern void* const external_dep[] = { + (void*)(external_func) +}; +extern void* const external_arr[] = {}; + +void* host_fun() { + (void) external_dep; + (voi

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-18 Thread Levon Ter-Grigoryan via cfe-commits
PatriosTheGreat wrote: FYI https://github.com/llvm/llvm-project/pull/73549 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-07 Thread Yaxun Liu via cfe-commits
@@ -104,3 +106,14 @@ void fun() { (void) b; (void) var_host_only; } + +extern __global__ void external_func(); +extern void* const external_dep[] = { yxsamliu wrote: It seems nvcc allows non-array type const var to be used in device code but not array typ

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-05 Thread Artem Belevich via cfe-commits
@@ -104,3 +106,14 @@ void fun() { (void) b; (void) var_host_only; } + +extern __global__ void external_func(); +extern void* const external_dep[] = { Artem-B wrote: This array is nomiannly host-only entity and should not be emitted on GPU at all, IMO. In

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-12-05 Thread Artem Belevich via cfe-commits
@@ -104,3 +106,14 @@ void fun() { (void) b; (void) var_host_only; } + +extern __global__ void external_func(); +extern void* const external_dep[] = { + (void*)(external_func) +}; +extern void* const external_arr[] = {}; + +void* host_fun() { + (void) external_dep; + (voi

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-11-30 Thread Levon Ter-Grigoryan via cfe-commits
@@ -104,3 +106,17 @@ void fun() { (void) b; (void) var_host_only; } + +// NEG-NOT: external_func +extern __global__ void external_func(); +// NEG-NOT: @external_dep +extern void* const external_dep[] = { + (void*)(external_func) +}; +// NEG-NOT: @external_arr -

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-11-30 Thread Levon Ter-Grigoryan via cfe-commits
https://github.com/PatriosTheGreat updated https://github.com/llvm/llvm-project/pull/73549 >From 0259038bcb4297a89c700ea2a21b80e7a22480db Mon Sep 17 00:00:00 2001 From: Levon Ter-Grigoryan Date: Mon, 27 Nov 2023 18:09:22 +0100 Subject: [PATCH] [CUDA][HIP] Exclude external variables from constan

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-11-30 Thread Matt Arsenault via cfe-commits
@@ -104,3 +106,17 @@ void fun() { (void) b; (void) var_host_only; } + +// NEG-NOT: external_func +extern __global__ void external_func(); +// NEG-NOT: @external_dep +extern void* const external_dep[] = { + (void*)(external_func) +}; +// NEG-NOT: @external_arr -

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-11-30 Thread Levon Ter-Grigoryan via cfe-commits
@@ -104,3 +106,17 @@ void fun() { (void) b; (void) var_host_only; } + +// NEG-NOT: external_func +extern __global__ void external_func(); +// NEG-NOT: @external_dep +extern void* const external_dep[] = { + (void*)(external_func) +}; +// NEG-NOT: @external_arr -

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-11-28 Thread Matt Arsenault via cfe-commits
@@ -104,3 +106,17 @@ void fun() { (void) b; (void) var_host_only; } + +// NEG-NOT: external_func +extern __global__ void external_func(); +// NEG-NOT: @external_dep +extern void* const external_dep[] = { + (void*)(external_func) +}; +// NEG-NOT: @external_arr -

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-11-27 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Levon Ter-Grigoryan (PatriosTheGreat) Changes Promoting __constant__ to external variables includes them to PTX which then leads to nvlinker failure. See changes at device-use-host-var test. Befor this change those variables was included t

[clang] [CUDA][HIP] Exclude external variables from constant promotion. (PR #73549)

2023-11-27 Thread Levon Ter-Grigoryan via cfe-commits
https://github.com/PatriosTheGreat created https://github.com/llvm/llvm-project/pull/73549 Promoting __constant__ to external variables includes them to PTX which then leads to nvlinker failure. See changes at device-use-host-var test. Befor this change those variables was included to PTX witho