[clang] [clang][CodeGen][OpenCL] Fix `alloca` handling & `sret`when compiling for (PR #113930)

Alex Voicu via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 29 14:15:30 PDT 2024


================
@@ -108,11 +108,15 @@ RawAddress CodeGenFunction::CreateTempAlloca(llvm::Type *Ty, CharUnits Align,
   if (AllocaAddr)
     *AllocaAddr = Alloca;
   llvm::Value *V = Alloca.getPointer();
+  assert((!getLangOpts().OpenCL ||
+          CGM.getTarget().getTargetAddressSpace(getASTAllocaAddressSpace()) ==
+              CGM.getTarget().getTargetAddressSpace(LangAS::opencl_private)) &&
+         "For OpenCL allocas must allocate in the private address space!");
----------------
AlexVlx wrote:

Then this is safe / the assert won't flare and it matches existing behaviour, does it not?

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


More information about the cfe-commits mailing list