Hi everyone, This patch series introduces support for the target_clones profile option in GCC. This option enables users to specify target_clones attributes in a separate file, allowing GCC to generate multiple versions of the function with different ISA extensions based on the specified profile. This is achieved using the -ftarget-profile option.
The primary objective of this patch series is to provide a user-friendly way to specify target_clones attributes without modifying the source code. This approach enhances the source code's cleanliness, facilitates easier maintenance, and ensures portability across different architectures and compiler versions. The example usage of the target_clones profile option is detailed in the commit message of the second patch. I understand that this patch lacks comprehensive documentation and test cases, as I am still in the process of writing them. However, I would appreciate feedback on the implementation before adding them. If the implementation is deemed acceptable, I will proceed with writing the documentation and test cases. Yangyu Chen (2): Fortran: Do not make_decl_rtl in trans_function_start Add target_clones profile option support gcc/common.opt | 7 +++++++ gcc/fortran/trans-decl.cc | 3 --- gcc/multiple_target.cc | 24 +++++++++++++++++++++++- gcc/opts.cc | 23 +++++++++++++++++++++++ 4 files changed, 53 insertions(+), 4 deletions(-) -- 2.49.0