/
CT_01_016 - Function Multiversioning (LLVM)

CT_01_016 - Function Multiversioning (LLVM)

About

This allows the user to write a single function that the compiler will compile multiple times with different ISAs. On the first call of the function an IFUNC resolver will run and determine which function is called.

Stakeholders/Partners

RISE:

SiFive:  Kito Cheng (specification and GCC implementation).

SiFive: Piyou Chen (LLVM implementation)

Dependencies



Status

Development

COMPLETE


Development Timeline2H2024
Upstreaming

COMPLETE


Upstream Version



Contacts

Kito Cheng (SiFive)

Piyou Chen (SiFive)


Dependencies




Updates

 

 

  • Split from Target Attribute Support



Related content

RISE Compiler/Toolchain Projects Tracking
RISE Compiler/Toolchain Projects Tracking
More like this
CT_01_008 - Autovectorization -- Improvements (LLVM)
CT_01_008 - Autovectorization -- Improvements (LLVM)
Read with this
CT_01_009 - Target Attribute Support (LLVM)
CT_01_009 - Target Attribute Support (LLVM)
More like this
CT_01_010 - Landing pad (LLVM)
CT_01_010 - Landing pad (LLVM)
Read with this
CT_01_014 - Vector calling convention (LLVM)
CT_01_014 - Vector calling convention (LLVM)
More like this
CT_01_017 - Vectorize search loops in 557.xz(LLVM)
CT_01_017 - Vectorize search loops in 557.xz(LLVM)
Read with this