================
@@ -312,3 +313,26 @@ void clang::takeAndConcatenateAttrs(ParsedAttributes 
&First,
   if (Second.Range.getEnd().isValid())
     First.Range.setEnd(Second.Range.getEnd());
 }
+
+LangAS ParsedAttr::asLangAS() const {
+  switch (getParsedKind()) {
+  case ParsedAttr::AT_OffloadGlobalAddressSpace:
+    return OffloadGlobalAddressSpaceAttr::getLangAS(*this);
+  case ParsedAttr::AT_OffloadGlobalDeviceAddressSpace:
+    return OffloadGlobalDeviceAddressSpaceAttr::getLangAS(*this);
+  case ParsedAttr::AT_OffloadGlobalHostAddressSpace:
+    return OffloadGlobalHostAddressSpaceAttr::getLangAS(*this);
+  case ParsedAttr::AT_OffloadLocalAddressSpace:
+    return OffloadLocalAddressSpaceAttr::getLangAS(*this);
+  case ParsedAttr::AT_OffloadPrivateAddressSpace:
+    return OffloadPrivateAddressSpaceAttr::getLangAS(*this);
+  case ParsedAttr::AT_OffloadConstantAddressSpace:
+    return OffloadConstantAddressSpaceAttr::getLangAS(*this);
+  case ParsedAttr::AT_OffloadGenericAddressSpace:
+    return OffloadGenericAddressSpaceAttr::getLangAS(*this);
+  case ParsedAttr::AT_HLSLGroupSharedAddressSpace:
+    return LangAS::hlsl_groupshared;
+  default:
+    return LangAS::Default;
+  }
+}
----------------
elizabethandrews wrote:

>> Would you find it strange if I suggested that we just use the CUDA 
>> attributes for SYCL? If so, how would that be different from using the 
>> OpenCL spellings?

I understand where you are coming from  but I don't think I would find it 
strange if the attributes are semantically doing the same thing, especially if 
we are reusing CUDA/openCL attributes.  I would definitely add a SYCL spelling 
for the attribute for users to use in SYCL code going forward but I personally 
wouldn't disallow the use of the old spellings if we weren't changing behavior.

>>The mapping from (logical) SYCL address spaces to the (physical) address 
>>spaces of the device targets should vary by target device.
I agree. This was how it was prior to the second commit in this PR. It depended 
on LangOpts. I may have misunderstood your request but I modified this behavior 
to use spellings instead based on your request during offline conversations. 

>>My goal is 1) clarity of intent, and 2) flexibility to handle SYCL concerns 
>>separately from OpenCL concerns.
As long as the mapping is done based on LangOpts,  this is possible. 

https://github.com/llvm/llvm-project/pull/200849
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to