[llvm] [clang] Enable OpenCL hostcall printf (WIP) (PR #72556)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 16 18:36:03 PST 2023


================
@@ -278,7 +310,13 @@ static Value *callBufferedPrintfStart(
             StringData(StringRef(), LenWithNull, LenWithNullAligned, false));
       }
     } else {
-      int AllocSize = M->getDataLayout().getTypeAllocSize(Args[i]->getType());
+      int AllocSize = 0;
+      if (OCLVectors.test(i)) {
+        auto VecArg = dyn_cast<FixedVectorType>(Args[i]->getType());
+        assert(VecArg && "invalid vector specifier");
+        AllocSize = VecArg->getNumElements() * 8;
+      } else
+        AllocSize = M->getDataLayout().getTypeAllocSize(Args[i]->getType());
----------------
arsenm wrote:

Don't understand this split vector handling. Just always use getTypeAllocSize?

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


More information about the llvm-commits mailing list