CT_01_009 - Target Attribute Support (LLVM)
About
It is desirable to have a common syntax across LLVM and GCC to allow developers to specify target code generation options via an attribute on a per-function basis. So for example this would allow a developer to specify that a particular function should be compiled with the `V' extension. This support is also a prerequisite for supporting function multiversioning. Given the dependencies on this feature it's considered high priority to get it landed in GCC 14 and LLVM 18.
Stakeholders/Partners
RISE:
SiFive: Kito Cheng (specification and GCC implementation).
SiFive: Piyou Chen (LLVM implementation)
Dependencies
Status
Updates
- Marking complete. A separate project has been created for function_multiversioning.
- Moved to 1H24 as work is still in progress.
- attribute(target) is supported in LLVM 18.
- target_clones support is in progess https://github.com/llvm/llvm-project/pull/85786
- Project reported as priority for 2H23