[clang] [CIR] Address Space support for GlobalOps (PR #179082)

Andy Kaylor via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 10 15:01:50 PDT 2026


================
@@ -662,6 +665,39 @@ std::optional<cir::SourceLanguage> CIRGenModule::getCIRSourceLanguage() const {
   return std::nullopt;
 }
 
+LangAS CIRGenModule::getGlobalVarAddressSpace(const VarDecl *d) {
+  if (langOpts.OpenCL) {
+    LangAS as = d ? d->getType().getAddressSpace() : LangAS::opencl_global;
+    assert(as == LangAS::opencl_global || as == LangAS::opencl_global_device ||
+           as == LangAS::opencl_global_host || as == LangAS::opencl_constant ||
+           as == LangAS::opencl_local || as >= LangAS::FirstTargetAddressSpace);
+    return as;
+  }
+
+  if (langOpts.SYCLIsDevice &&
+      (!d || d->getType().getAddressSpace() == LangAS::Default))
+    llvm_unreachable("NYI");
----------------
andykaylor wrote:

```suggestion
    errorNYI("SYCL global address space");
```

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


More information about the cfe-commits mailing list