================
@@ -0,0 +1,501 @@
+//===- LowerGPUIntrinsic.cpp 
----------------------------------------------===//
+//
+// 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: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// Lower the llvm.gpu intrinsics to target specific code sequences.
+// Can be called from clang if building for a specific GPU or from the backend
+// as part of a SPIRV lowering pipeline. Initial pass can lower to amdgcn or
----------------
MrSidims wrote:

> I'd like lowering for intel too but that will need to be out of tree until 
> intel comes in tree.

To clarify: while me and Michal are working for Intel, our concerns are not 
about lowering to some Intel's internal stuff, but about lowering to SPIR-V, 
which is supported as intermediate representation for Vulkan, OpenCL etc by 
multiple vendors.  I can't speak for others, but (judging by amount of PRs I've 
been looking in LLVM's SPIR-V backend) apart of Intel at least Google has 
interest in developing SPIR-V backend. So let me actually invite @sudonatalie 
and @Keenuts to the discussion.

> which passes llvm intrinsics through unchanged, and ends up creating amdgcn-- 
> LLVM IR to feed back into the backend

I assume it only works, when the frontend and the backend are built on top of 
the same LLVM version, right? Otherwise you would face an issues like: a. 
intrinsics semantics can change depending on LLVM version; b. rules of 
intrinsics' name can change from version to version (for example LLVM's switch 
from typed to untyped pointers has affected the names).

So talking about SPIR-V toolchains, as it's hard to know ahead of time, who 
will consume the generated SPIR-V - we must not have compiler generated 
external symbols (like intrinsics) in the module as the backend might not be 
able to resolve them.

https://github.com/llvm/llvm-project/pull/131190
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to