Hi All,
Updated this after feedpack from Pinskia about changing the
target hook to take decls rather than a location pointer.
Minor update to the second patch to use the updated hook.
Changes for V6:
- Changed the same_versions hook to take 2 decls instead of a location_t *.
Changes for V5:
- Addressed Wilco's feedback on priority version parsing.
- Addressed offline feedback from Richard E.
- Signifficantly cleaner patch.
Changes for V4:
- Addressed Wilco's feedback on logic in disjoint_version_decls.
- Pushed approved patches
Changes for V3:
- Addressed Wilco's feedback on logic in aarch64_parse_fmv_features.
- Fixed grammar in commit message.
Changes for V2:
- Added tests for priority version errors.
- Changed disjoint_version_decls to have an explicit new_decl and old_decl
- Change a call to disjoint_version_decls in c frontend where they were the
wrong way around.
- Simplified and corrected some of my parsing logic as Wilco suggested.
- Changed how the aarch64 version order test works as discussed with Wilco.
- Adds patch to add FMV support macro
Bootstrapped and reg tested for aarch64-linux-gnu, ix86-linux-gnu,
armhf-linux-gnu.
Cross built successfully for riscv-linux-gnu, loongarch-linux-gnu.
Okay for master?
Kind regards,
Alfie
Alfie Richards (2):
targethooks: Change SAME_FUNCTION_VERSIONS hook to support checking
mergeability
aarch64: Add support for fmv priority syntax.
gcc/config/aarch64/aarch64.cc | 155 ++++++++++++++----
gcc/config/loongarch/loongarch.cc | 3 +-
gcc/config/riscv/riscv.cc | 3 +-
gcc/doc/tm.texi | 8 +-
gcc/hooks.cc | 2 +-
gcc/hooks.h | 2 +-
gcc/target.def | 18 +-
.../gcc.target/aarch64/fmv_priority3.c | 26 +++
.../gcc.target/aarch64/fmv_priority_error1.c | 11 ++
.../gcc.target/aarch64/fmv_priority_error2.c | 8 +
gcc/tree.cc | 34 ++--
11 files changed, 217 insertions(+), 53 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority_error1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority_error2.c
--
2.34.1