KhronosGroup / KhronosGroup/OpenCL-Docs
Can generic address space become a named address space too?
- Dominant language
- Python
- Stars
- 420
- Forks
- 131
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 11
Description
The definition of unnamed/generic address space in OpenCL C doesn't conform to Embedded C section 5.1.3 that defines unnamed address space as default address space i.e. C compiler would default to unnamed everywhere the address space is not specified. OpenCL C compiler will use `private`, `local`, `global`, `constant` or `generic` if not specified depending on the scope and variable type.
Spec reserved the use of `generic`/`__generic` as identifiers and they were used by Clang to simplify the implementation and make it explicit that the generic address space in OpenCL C and generic address space in Embedded C are not the same.
Therefore, it is suggested to make generic address space a named address space too. The main benefit to do this is to align better with Embedded C terminology and tooling too.
Contributor guide
Research direction
No files, tests, or entry points are named in the issue. Start by reviewing the OpenCL C address-space definitions and the Embedded C terminology cited in the report, then identify the specification sections and tooling implications affected by making generic a named address space. Done means the terminology and behavior are consistently defined and the relevant specification coverage is updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100