@@ -334,6 +335,15 @@ template<> struct simplify_type {
}
};
+template <> struct GraphTraits {
wenju-he wrote:
> For the specific problem here, I'd consider expanding all constant
> expressions in the function upfront, and then not having to deal with it.
wenju-he wrote:
> I think it would be better if we could eliminate ConstantExpr addrspacecasts
> from the IR altogether, which would avoid most of the complexity here. I
> would also somewhat prefer to push this DFS into a helper function, but can
> live with it inline as-is
thank you for the
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/70611
>From 7c41be75c1ef661e757bfaca8d693b3937df649e Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Mon, 30 Oct 2023 08:36:52 +0800
Subject: [PATCH 1/2] [InferAddressSpaces] Fix constant replace to avoid
modifying oth
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/70611
>From 7c41be75c1ef661e757bfaca8d693b3937df649e Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Mon, 30 Oct 2023 08:36:52 +0800
Subject: [PATCH 1/3] [InferAddressSpaces] Fix constant replace to avoid
modifying oth
https://github.com/wenju-he ready_for_review
https://github.com/llvm/llvm-project/pull/70611
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,40 @@
+; RUN: opt -assume-default-is-flat-addrspace -print-module-scope
-print-after-all -S -disable-output -passes=infer-address-spaces <%s 2>&1 |
FileCheck %s
+
+; CHECK: IR Dump After InferAddressSpacesPass on f2
+
+; Check that after running infer-address-spaces o
@@ -0,0 +1,40 @@
+; RUN: opt -assume-default-is-flat-addrspace -print-module-scope
-print-after-all -S -disable-output -passes=infer-address-spaces <%s 2>&1 |
FileCheck %s
+
+; CHECK: IR Dump After InferAddressSpacesPass on f2
+
+; Check that after running infer-address-spaces o
@@ -334,6 +335,15 @@ template<> struct simplify_type {
}
};
+template <> struct GraphTraits {
wenju-he wrote:
> In any case, this should not be in a public IR header.
I've reverted the change in this file.
https://github.com/llvm/llvm-project/pull/70611
_
@@ -334,6 +335,15 @@ template<> struct simplify_type {
}
};
+template <> struct GraphTraits {
wenju-he wrote:
I measured llvm-project compile time impact of this change to llvm/IR/User.h on
intel icx 8358 cpu.
Build command:
`
cmake -GNinja -DLLVM_ENABLE_
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/70611
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/70611
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -334,6 +335,15 @@ template<> struct simplify_type {
}
};
+template <> struct GraphTraits {
wenju-he wrote:
added 3 more runs on RHEL9 today, the compile time diff is very small.
https://github.com/llvm/llvm-project/pull/70611
___
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/73887
>From e369b5d62094c9b48f3c33075d764c115a208a74 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Thu, 30 Nov 2023 09:57:06 +0800
Subject: [PATCH] [IR] Disallow ZeroInit for spirv.Image
According to spirv spec, OpCo
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/73887
>From e369b5d62094c9b48f3c33075d764c115a208a74 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Thu, 30 Nov 2023 09:57:06 +0800
Subject: [PATCH] [IR] Disallow ZeroInit for spirv.Image
According to spirv spec, OpCo
wenju-he wrote:
> image-unoptimized.ll
backtrace:
```
#0 0x01d2f0e1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
(/export/users/wenjuhe/llvm/llvm-project/build/bin/llc+0x1d2f0e1)
#1 0x01d2c644 SignalHandler(int) Signals.cpp:0:0
#2 0x7fd516a7ddb0 __restore_rt (/lib6
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/132338
>From 6ce54aa767f8cdff2f938cdce8656e495a1346f0 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Thu, 20 Mar 2025 22:01:55 -0700
Subject: [PATCH 1/2] [libclc] link_bc target should depends on target
builtins.link.
@@ -342,22 +342,32 @@ function(add_libclc_builtin_set)
set( builtins_opt_lib_tgt builtins.opt.${ARG_ARCH_SUFFIX} )
- # Add opt target
- add_custom_command( OUTPUT ${builtins_opt_lib_tgt}.bc
-COMMAND ${opt_exe} ${ARG_OPT_FLAGS} -o ${builtins_opt_lib_tgt}.bc
- ${bu
@@ -313,8 +314,8 @@ function(add_libclc_builtin_set)
INTERNALIZE
TARGET ${builtins_link_lib_tgt}
INPUTS $
-${ARG_INTERNAL_LINK_DEPENDENCIES}
- DEPENDENCIES ${builtins_link_lib_tmp_tgt}
+$
wenju-he wrote:
thanks, changed t
wenju-he wrote:
@frasercrmck could you please try this PR on https://github.com/intel/llvm repo?
My experiment:
clang --version
clang version 21.0.0git (https://github.com/llvm/llvm-project
f5ee10538b68835112323c241ca7db67ca78bf62)
before PR:
find . -name "builtins.link*.bc" -printf "%s\n" |
@@ -342,22 +342,32 @@ function(add_libclc_builtin_set)
set( builtins_opt_lib_tgt builtins.opt.${ARG_ARCH_SUFFIX} )
- # Add opt target
- add_custom_command( OUTPUT ${builtins_opt_lib_tgt}.bc
-COMMAND ${opt_exe} ${ARG_OPT_FLAGS} -o ${builtins_opt_lib_tgt}.bc
- ${bu
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/132338
>From 6ce54aa767f8cdff2f938cdce8656e495a1346f0 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Thu, 20 Mar 2025 22:01:55 -0700
Subject: [PATCH] [libclc] link_bc target should depends on target
builtins.link.clc-
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/130882
>From 1727cb49ebbee324ecad0a766ec341eb1aed082b Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Tue, 11 Mar 2025 19:05:25 -0700
Subject: [PATCH 1/6] [libclc] Skip opt command if opt_flags is empty
When the flag i
wenju-he wrote:
I've tested on Windows for half a day, it seems this PR can fix the issue.
https://github.com/llvm/llvm-project/pull/132338
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/132338
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
wenju-he wrote:
@frasercrmck could you please review? thanks
https://github.com/llvm/llvm-project/pull/132338
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
wenju-he wrote:
@frasercrmck please help to merge, thanks. I don't have merge access.
https://github.com/llvm/llvm-project/pull/130882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/130882
>From 1727cb49ebbee324ecad0a766ec341eb1aed082b Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Tue, 11 Mar 2025 19:05:25 -0700
Subject: [PATCH 1/4] [libclc] Skip opt command if opt_flags is empty
When the flag i
wenju-he wrote:
> Am I right in thinking that CMake 3.27's `DEPENDS_EXPLICIT_ONLY` would also
> fix this? If so it might be worth documenting this explicitly, both in the
> PR/commit and in the code? We might be able to refactor this in the future,
> when LLVM updates its minimum version to 3.
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/130882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/130882
>From 1727cb49ebbee324ecad0a766ec341eb1aed082b Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Tue, 11 Mar 2025 19:05:25 -0700
Subject: [PATCH 1/5] [libclc] Skip opt command if opt_flags is empty
When the flag i
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/130755
>From 1f8b5bfbfea6b562e9cae088256e8e5dddf0a335 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Tue, 11 Mar 2025 04:24:36 -0700
Subject: [PATCH 1/3] [libclc] Fix commands in compile_to_bc are executed
sequentiall
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/130882
>From 1727cb49ebbee324ecad0a766ec341eb1aed082b Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Tue, 11 Mar 2025 19:05:25 -0700
Subject: [PATCH 1/2] [libclc] Skip opt command if opt_flags is empty
When the flag i
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/130882
>From 1727cb49ebbee324ecad0a766ec341eb1aed082b Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Tue, 11 Mar 2025 19:05:25 -0700
Subject: [PATCH 1/3] [libclc] Skip opt command if opt_flags is empty
When the flag i
@@ -342,21 +342,32 @@ function(add_libclc_builtin_set)
set( builtins_opt_lib_tgt builtins.opt.${ARG_ARCH_SUFFIX} )
- # Add opt target
- add_custom_command( OUTPUT ${builtins_opt_lib_tgt}.bc
-COMMAND ${opt_exe} ${ARG_OPT_FLAGS} -o ${builtins_opt_lib_tgt}.bc
- ${bu
wenju-he wrote:
> Another option would be to unconditionally have builtin.opt targets but if no
> flags are passed, just make them empty targets that rely only on builtin.link
> targets.
Thanks for the suggestion. Done. Please review again.
https://github.com/llvm/llvm-project/pull/130882
__
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/130755
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he created
https://github.com/llvm/llvm-project/pull/134529
None
>From ac389b8b92fbb77c8884515d8f7293b4af17dfa5 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Sun, 6 Apr 2025 18:30:42 +0800
Subject: [PATCH] [clang-format] Add 'cl' to enable OpenCL kernel file
formattin
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/134529
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/130755
>From 1f8b5bfbfea6b562e9cae088256e8e5dddf0a335 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Tue, 11 Mar 2025 04:24:36 -0700
Subject: [PATCH 1/4] [libclc] Fix commands in compile_to_bc are executed
sequentiall
@@ -283,7 +294,7 @@ function(add_libclc_builtin_set)
set( builtins_comp_lib_tgt builtins.comp.${ARG_ARCH_SUFFIX} )
add_custom_target( ${builtins_comp_lib_tgt}
-DEPENDS ${bytecode_files}
+DEPENDS ${compile_tgts}
wenju-he wrote:
thanks, I'll add ${b
https://github.com/wenju-he created
https://github.com/llvm/llvm-project/pull/134489
Similar to how cl_khr_fp64 and cl_khr_fp16 implementations are put in a same
file for math built-ins, this PR do the same to atom_* built-ins.
The main motivation is to prevent that two files with same base na
wenju-he wrote:
@frasercrmck could you please review, thanks.
https://github.com/llvm/llvm-project/pull/134489
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/132338
>From 6ce54aa767f8cdff2f938cdce8656e495a1346f0 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Thu, 20 Mar 2025 22:01:55 -0700
Subject: [PATCH 1/3] [libclc] link_bc target should depends on target
builtins.link.
wenju-he wrote:
@frasercrmck should we check CMAKE_VERSION and use DEPENDS_EXPLICIT_ONLY if the
version is 3.27 or higher? I suppose DEPENDS_EXPLICIT_ONLY would be more
light-weighted. And we need to keep both DEPENDS_EXPLICIT_ONLY and adding new
target path, until llvm uplifts cmake version t
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/134529
>From ac389b8b92fbb77c8884515d8f7293b4af17dfa5 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Sun, 6 Apr 2025 18:30:42 +0800
Subject: [PATCH 1/4] [clang-format] Add 'cl' to enable OpenCL kernel file
formatting
@@ -126,6 +126,7 @@ def main():
"pb.txt",
"textproto",
"asciipb", # TextProto
+"cl", # OpenCL
wenju-he wrote:
done, moved after line 108.
> Do we want to add "clcpp", # OpenCL C++?
I actually don't know about
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/134529
>From ac389b8b92fbb77c8884515d8f7293b4af17dfa5 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Sun, 6 Apr 2025 18:30:42 +0800
Subject: [PATCH 1/3] [clang-format] Add 'cl' to enable OpenCL kernel file
formatting
wenju-he wrote:
> > > I feel like there are more places where this needs to be addressed if we
> > > are going to add it.
> >
> >
> > I added support in language detection for OpenCL in
> > [88c1174](https://github.com/llvm/llvm-project/commit/88c11747fcc8db1921dfd8f73c9330c662f7fd91).
> > I
@@ -63,13 +65,15 @@ function(compile_to_bc)
${ARG_DEPENDENCIES}
DEPFILE ${ARG_OUTPUT}.d
)
+ add_custom_target( ${ARG_TARGET} DEPENDS ${ARG_OUTPUT}${TMP_SUFFIX} )
wenju-he wrote:
I have simplified the code by removing ${ARG_TARGET}-as
The issue we
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/134529
>From ac389b8b92fbb77c8884515d8f7293b4af17dfa5 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Sun, 6 Apr 2025 18:30:42 +0800
Subject: [PATCH 1/4] [clang-format] Add 'cl' to enable OpenCL kernel file
formatting
@@ -6,6 +6,17 @@
//
//===--===//
+// cl_khr_global_int32_base_atomics
wenju-he wrote:
done, you're right that they should be all guarded since they are extensions.
Thanks.
https://github.c
@@ -283,7 +294,7 @@ function(add_libclc_builtin_set)
set( builtins_comp_lib_tgt builtins.comp.${ARG_ARCH_SUFFIX} )
add_custom_target( ${builtins_comp_lib_tgt}
-DEPENDS ${bytecode_files}
+DEPENDS ${compile_tgts}
wenju-he wrote:
done, added back ${b
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/130755
>From 1f8b5bfbfea6b562e9cae088256e8e5dddf0a335 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Tue, 11 Mar 2025 04:24:36 -0700
Subject: [PATCH 1/5] [libclc] Fix commands in compile_to_bc are executed
sequentiall
@@ -256,19 +261,25 @@ function(add_libclc_builtin_set)
get_filename_component( file_dir ${file} DIRECTORY )
+string( REPLACE "/" "-" replaced ${file} )
+set( tgt compile_tgt-${ARG_ARCH_SUFFIX}${replaced})
+
compile_to_bc(
+ TARGET ${tgt}
TRIPLE ${
wenju-he wrote:
@owenca could you please help me to merge? Thanks. I don't have commit
permission.
https://github.com/llvm/llvm-project/pull/134529
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/134489
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
wenju-he wrote:
@frasercrmck please help to review? thanks.
https://github.com/llvm/llvm-project/pull/135710
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he closed
https://github.com/llvm/llvm-project/pull/135301
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
wenju-he wrote:
> Note I'm in the process of introducing elementwise clz/ctz builtins which
> would accomplish this and achieve vector intrinsics. See #131995. It might be
> worth waiting for that change instead?
thanks @frasercrmck
LGTM. Please refactor clz after #131995
close this PR.
http
wenju-he wrote:
> > LGTM. That means we compile for the last OpenCL version, which is 3.0, and
> > enable all OpenCL extensions/features, right?
>
> Yes. Otherwise you have to still write the code to work with the lowest
> common denominator.
done in commit
https://github.com/llvm/llvm-proje
wenju-he wrote:
> An OpenCL 1.2 module could still call a builtin that makes internal use of
> CLC `ctz`, for example.
Yes, you're right.
https://github.com/llvm/llvm-project/pull/135733
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/135733
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/135733
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/135733
>From 64d7bfdceb5a0a6fbf34bb15cd7d6cbeb9214881 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Mon, 14 Apr 2025 19:20:25 -0700
Subject: [PATCH 1/5] [libclc] Set OpenCL version to 3.0
This PR is cherry-pick of ht
wenju-he wrote:
> I'd expect the libclc build (or any other runtime support library) to
> consistently use the same language version independent of the target. If the
> target doesn't support that version (which IIRC isn't actually a hard error
> anywhere) and fails to compile on some feature,
@@ -387,21 +387,39 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
message( STATUS " device: ${d} ( ${${d}_aliases} )" )
-if ( ARCH STREQUAL spirv OR ARCH STREQUAL spirv64 )
+# 1.2 is Clang's default OpenCL C language standard to compile for.
+set( opencl_lang_std
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/135733
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -429,7 +411,9 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
set( LIBCLC_ARCH_OBJFILE_DIR "${LIBCLC_OBJFILE_DIR}/${arch_suffix}" )
file( MAKE_DIRECTORY ${LIBCLC_ARCH_OBJFILE_DIR} )
-list( APPEND build_flags -cl-std=${opencl_lang_std} )
+# Build for OpenCL 3.0 an
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/135733
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/135733
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/135733
>From 64d7bfdceb5a0a6fbf34bb15cd7d6cbeb9214881 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Mon, 14 Apr 2025 19:20:25 -0700
Subject: [PATCH 1/6] [libclc] Set OpenCL version to 3.0
This PR is cherry-pick of ht
https://github.com/wenju-he created
https://github.com/llvm/llvm-project/pull/137932
3-component vector type is supported for them per OpenCL spec.
>From cafb374de8d77c82fa450b732a122663090f6e34 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Wed, 30 Apr 2025 00:44:50 -0700
Subject: [PATCH] [lib
wenju-he wrote:
close this PR. Original intention of disabling opt -O3 on downstream project
was changed.
https://github.com/llvm/llvm-project/pull/130882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/l
https://github.com/wenju-he closed
https://github.com/llvm/llvm-project/pull/130882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
wenju-he wrote:
@frasercrmck please help to review, thanks
https://github.com/llvm/llvm-project/pull/137932
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -9,15 +9,31 @@
#define __CLC_DST_ADDR_SPACE local
#define __CLC_SRC_ADDR_SPACE global
#define __CLC_BODY
-#include
+#include
+#undef __CLC_DST_ADDR_SPACE
wenju-he wrote:
done, thanks for the suggestion
https://github.com/llvm/llvm-project/pull/137932
__
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/137932
>From cafb374de8d77c82fa450b732a122663090f6e34 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Wed, 30 Apr 2025 00:44:50 -0700
Subject: [PATCH 1/3] [libclc] Add v3 variants of
async_work_group_copy/async_work_gr
wenju-he wrote:
> We could probably come up with some kind of combined `gentype.inc` that does
> them both at once
good idea.
https://github.com/llvm/llvm-project/pull/137932
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llv
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/134489
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,24 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
@@ -0,0 +1,24 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
@@ -0,0 +1,24 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/134489
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/wenju-he edited
https://github.com/llvm/llvm-project/pull/134489
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,24 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
@@ -0,0 +1,24 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
@@ -63,13 +65,15 @@ function(compile_to_bc)
${ARG_DEPENDENCIES}
DEPFILE ${ARG_OUTPUT}.d
)
+ add_custom_target( ${ARG_TARGET} DEPENDS ${ARG_OUTPUT}${TMP_SUFFIX} )
wenju-he wrote:
> This is still better than what we've got so maybe we can keep an ey
https://github.com/wenju-he created
https://github.com/llvm/llvm-project/pull/135301
It looks simpler to use __builtin_clzg for all unsigned types.
>From 5992cc83e904ce047598a1987e2f8ce1926b9292 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Thu, 10 Apr 2025 19:34:50 -0700
Subject: [PATCH] [NFC
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/135301
>From 5992cc83e904ce047598a1987e2f8ce1926b9292 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Thu, 10 Apr 2025 19:34:50 -0700
Subject: [PATCH 1/2] [NFC][libclc] Refine clz to use __builtin_clzg
It looks simpler
https://github.com/wenju-he created
https://github.com/llvm/llvm-project/pull/135309
None
>From 31423376e35f34ca032fe3d11998537912ba2c63 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Thu, 10 Apr 2025 20:10:41 -0700
Subject: [PATCH] [libclc] add ctz built-in implementation to clc and generic
-
wenju-he wrote:
@frasercrmck please help to review? thanks.
https://github.com/llvm/llvm-project/pull/135309
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
wenju-he wrote:
@frasercrmck please help to review? thanks.
https://github.com/llvm/llvm-project/pull/135301
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
wenju-he wrote:
> On my build this increases the number of targets `ninja -t targets` from 19K
> to 28K. That's building all targets. I'm not sure what else we could do about
> that and whether it's a problem.
yes, the number of targets increase significantly with this approach. But as
far as
wenju-he wrote:
> Targets may even want to compile libclc for multiple different versions? That
> might introduce extra complexity (we'd need "an extra loop", more compilation
> time, new naming/versioning schemes for the build artifacts).
An application may compile using different -cl-std ver
@@ -411,6 +411,16 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
set( LIBCLC_ARCH_OBJFILE_DIR "${LIBCLC_OBJFILE_DIR}/${arch_suffix}" )
file( MAKE_DIRECTORY ${LIBCLC_ARCH_OBJFILE_DIR} )
+# OpenCL 3.0 extensions
+string(CONCAT CL_3_0_EXTENSIONS
+ "-cl-ext="
+
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/135733
>From 64d7bfdceb5a0a6fbf34bb15cd7d6cbeb9214881 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Mon, 14 Apr 2025 19:20:25 -0700
Subject: [PATCH 1/2] [libclc] Set OpenCL version to 3.0
This PR is cherry-pick of ht
@@ -387,21 +387,39 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
message( STATUS " device: ${d} ( ${${d}_aliases} )" )
-if ( ARCH STREQUAL spirv OR ARCH STREQUAL spirv64 )
+# 1.2 is Clang's default OpenCL C language standard to compile for.
+set( opencl_lang_std
@@ -387,21 +387,39 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
message( STATUS " device: ${d} ( ${${d}_aliases} )" )
-if ( ARCH STREQUAL spirv OR ARCH STREQUAL spirv64 )
+# 1.2 is Clang's default OpenCL C language standard to compile for.
+set( opencl_lang_std
https://github.com/wenju-he updated
https://github.com/llvm/llvm-project/pull/135733
>From 64d7bfdceb5a0a6fbf34bb15cd7d6cbeb9214881 Mon Sep 17 00:00:00 2001
From: Wenju He
Date: Mon, 14 Apr 2025 19:20:25 -0700
Subject: [PATCH 1/4] [libclc] Set OpenCL version to 3.0
This PR is cherry-pick of ht
wenju-he wrote:
> Yes I think on reflection it's probably okay to compile for the highest
> supported OpenCL C version.
Yeah I think libclc should compile for the version that target claims
supporting.
> I believe they're supersets of one another, so a 3.0 builtins library would
> still con
1 - 100 of 128 matches
Mail list logo