]> gcc.gnu.org Git - gcc.git/commit
aarch64: Improve on ldp-stp policies code structure.
authorManos Anagnostakis <manos.anagnostakis@vrull.eu>
Thu, 28 Sep 2023 16:04:33 +0000 (18:04 +0200)
committerPhilipp Tomsich <philipp.tomsich@vrull.eu>
Fri, 29 Sep 2023 10:45:04 +0000 (12:45 +0200)
commit574cec45b2674a2d575a06fc8e73851f9af4bb4c
tree1a62b42a5ebb2525e3fcdc7bfacd0dd3d26596a0
parent962ca7149d652e4077a2259886e5cd2ea3cea0ab
aarch64: Improve on ldp-stp policies code structure.

Improves on: 834fc2bf

This improves the code structure of the ldp-stp policies
patch introduced in 834fc2bf

Bootstrapped and regtested on aarch64-linux.

gcc/ChangeLog:
* config/aarch64/aarch64-opts.h (enum aarch64_ldp_policy): Removed.
(enum aarch64_ldp_stp_policy): Merged enums aarch64_ldp_policy
and aarch64_stp_policy to aarch64_ldp_stp_policy.
(enum aarch64_stp_policy): Removed.
* config/aarch64/aarch64-protos.h (struct tune_params): Removed
aarch64_ldp_policy_model and aarch64_stp_policy_model enum types
and left only the definitions to the aarch64-opts one.
* config/aarch64/aarch64.cc (aarch64_parse_ldp_policy): Removed.
(aarch64_parse_stp_policy): Removed.
(aarch64_override_options_internal): Removed calls to parsing
functions and added obvious direct assignments.
(aarch64_mem_ok_with_ldpstp_policy_model): Improved
code quality based on the new changes.
* config/aarch64/aarch64.opt: Use single enum type
aarch64_ldp_stp_policy for both ldp and stp options.

gcc/testsuite/ChangeLog:
* gcc.target/aarch64/ldp_aligned.c: Splitted into this and
ldp_unaligned.
* gcc.target/aarch64/stp_aligned.c: Splitted into this and
stp_unaligned.
* gcc.target/aarch64/ldp_unaligned.c: New test.
* gcc.target/aarch64/stp_unaligned.c: New test.

Signed-off-by: Manos Anagnostakis <manos.anagnostakis@vrull.eu>
Suggested-by: Richard Sandiford <richard.sandiford@arm.com>
gcc/config/aarch64/aarch64-opts.h
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/aarch64.opt
gcc/testsuite/gcc.target/aarch64/ldp_aligned.c
gcc/testsuite/gcc.target/aarch64/ldp_unaligned.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/stp_aligned.c
gcc/testsuite/gcc.target/aarch64/stp_unaligned.c [new file with mode: 0644]
This page took 0.065801 seconds and 5 git commands to generate.