diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2021-03-26 17:09:24 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@redhat.com> | 2021-03-26 17:11:30 +0000 |
commit | 0d37e2d3ead072ba57e03fcb97a041504a22e721 (patch) | |
tree | 01956ec203c173039a8d1838fcd6c724f1db6cab /gcc/reload.c | |
parent | 6b8b0c8e243bdc122a9ddd42030275494b1148ff (diff) | |
download | gcc-0d37e2d3ead072ba57e03fcb97a041504a22e721.zip gcc-0d37e2d3ead072ba57e03fcb97a041504a22e721.tar.gz gcc-0d37e2d3ead072ba57e03fcb97a041504a22e721.tar.bz2 |
[PR99766] Consider relaxed memory associated more with memory instead of special memory.
Relaxed memory should be considered more like memory then special memory.
gcc/ChangeLog:
PR target/99766
* ira-costs.c (record_reg_classes): Put case with
CT_RELAXED_MEMORY adjacent to one with CT_MEMORY.
* ira.c (ira_setup_alts): Ditto.
* lra-constraints.c (process_alt_operands): Ditto.
* recog.c (asm_operand_ok): Ditto.
* reload.c (find_reloads): Ditto.
gcc/testsuite/ChangeLog:
PR target/99766
* g++.target/aarch64/sve/pr99766.C: New.
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 7340125..461fd02 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -3471,6 +3471,7 @@ find_reloads (rtx_insn *insn, int replace, int ind_levels, int live_known, break; case CT_MEMORY: + case CT_RELAXED_MEMORY: if (force_reload) break; if (constraint_satisfied_p (operand, cn)) @@ -3504,7 +3505,6 @@ find_reloads (rtx_insn *insn, int replace, int ind_levels, int live_known, break; case CT_SPECIAL_MEMORY: - case CT_RELAXED_MEMORY: if (force_reload) break; if (constraint_satisfied_p (operand, cn)) |