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
Development | complete | |
|---|---|---|
Development Timeline | 2H2023 | |
Upstreaming | COMPLETE | |
Upstream Version | ||
Contacts | Kito Cheng (SiFive) Piyou Chen (SiFive) | |
Dependencies |
Updates
Jul 11, 2024
Marking complete. A separate project has been created for function_multiversioning.
Apr 12, 2024
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
Oct 10, 2023
Project reported as priority for 2H23