aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir N. Makarov <vmakarov@redhat.com>2023-02-10 12:17:07 -0500
committerVladimir N. Makarov <vmakarov@redhat.com>2023-02-10 12:17:07 -0500
commit7757567358a84c3774cb972350bd7ea299daaa8d (patch)
tree6296e7524f96029a845071b9404bf73d948378dd
parent3c5154d0f0d2185b518465b264ca17fb7c60c1e8 (diff)
downloadgcc-7757567358a84c3774cb972350bd7ea299daaa8d.zip
gcc-7757567358a84c3774cb972350bd7ea299daaa8d.tar.gz
gcc-7757567358a84c3774cb972350bd7ea299daaa8d.tar.bz2
RA: Use caller save equivalent memory only for LRA
Recently I submitted a patch to reuse memory with constant address for caller saves optimization for constant or pure function call. It seems to work only for targets using LRA instead of the old reload pass. So the patch switches off this optimization when the old reload pass is used. PR middle-end/108754 gcc/ChangeLog: * ira.cc (update_equiv_regs): Set up ira_reg_equiv for valid_combine only when ira_use_lra_p is true.
-rw-r--r--gcc/ira.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ira.cc b/gcc/ira.cc
index d0b6ea0..9f9af80 100644
--- a/gcc/ira.cc
+++ b/gcc/ira.cc
@@ -3773,7 +3773,7 @@ update_equiv_regs (void)
{
note = set_unique_reg_note (insn, REG_EQUIV, replacement);
}
- else
+ else if (ira_use_lra_p)
{
/* We still can use this equivalence for caller save
optimization in LRA. Mark this. */