[clang] [OpenCL] Put constant initializer globals into constant addrspace (PR #90048)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 25 11:53:13 PDT 2024


================
@@ -536,6 +536,8 @@ void AggExprEmitter::EmitArrayInit(Address DestPtr, llvm::ArrayType *AType,
     CodeGen::CodeGenModule &CGM = CGF.CGM;
     ConstantEmitter Emitter(CGF);
     LangAS AS = ArrayQTy.getAddressSpace();
+    if (CGF.getLangOpts().OpenCL)
+      AS = LangAS::opencl_constant;
     if (llvm::Constant *C =
             Emitter.tryEmitForInitializer(ExprToVisit, AS, ArrayQTy)) {
----------------
efriedma-quic wrote:

(tryEmitForInitializer doesn't really use the AS; I'll post a patch to get rid of it.  Doesn't directly impact this patch, I guess.)

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


More information about the cfe-commits mailing list