fabianmcg wrote:

Finally, leaving a small comment/suggestion on the PR.

I don't think it is recommended to do what this PR is doing with `target<n>`, 
as it's abusing of the enum storage.

Instead, you likely want 2 address space attributes:
- `!cir.ptr<!s32i, clang_addrspace(offload_private)>`
- `!cir.ptr<!s32i, target_addresspace(0)>`

Where the second attribute takes an int as a parameter.

It's also worth saying that in general numeric memory spaces are somewhat 
discouraged except when they appear in the LLVM dialect. That's why in `ptr` 
you have `!ptr.ptr<#ptr.generic_space>` instead of `!ptr.ptr<0>`

So unless, clang is using the numeric representation in the AST for some memory 
spaces, and there's no way of providing a name for those, I would discourage 
`target<n>` all together.

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

Reply via email to