[llvm] [SPIR-V] Allow intrinsics with aggregate return type to reach GlobalISel (PR #108893)

Vyacheslav Levytskyy via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 19 07:25:39 PDT 2024


================
@@ -188,6 +188,40 @@ bool isConvergenceIntrinsic(const Instruction *I) {
          II->getIntrinsicID() == Intrinsic::experimental_convergence_loop ||
          II->getIntrinsicID() == Intrinsic::experimental_convergence_anchor;
 }
+
+bool isInternalNonVoidIntrinsic(const Value *I) {
+  if (const auto *II = dyn_cast<IntrinsicInst>(I))
+    switch (II->getIntrinsicID()) {
----------------
VyacheslavLevytskyy wrote:

Almost, but not exactly. This list doesn't include int_spv_gep, for example, because it returns ptr type. This list is to include internal intrinsics that returns a non-ptr value and so may potentially participate in fake_use emission.

https://github.com/llvm/llvm-project/pull/108893


More information about the llvm-commits mailing list