* reverting patch to improve equiv cost calculation
@ 2023-09-28 16:07 Vladimir Makarov
0 siblings, 0 replies; only message in thread
From: Vladimir Makarov @ 2023-09-28 16:07 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 118 bytes --]
I've got a lot of complaints about my recent patch to improve equiv cost
calculation. So I am reverting the patch.
[-- Attachment #2: reverting-patch-for-equivalence-cost-calculation.patch --]
[-- Type: text/x-patch, Size: 1156 bytes --]
commit 8552dcd8e4448c02fe230662093756b75dd94399
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date: Thu Sep 28 11:53:51 2023 -0400
Revert "[RA]: Improve cost calculation of pseudos with equivalences"
This reverts commit 3c834d85f2ec42c60995c2b678196a06cb744959.
Although the patch improves x86-64 specfp2007, it also results in
performance and code size regression on different targets and
new GCC testsuite failures on tests expecting a specific output.
diff --git a/gcc/ira-costs.cc b/gcc/ira-costs.cc
index 8c93ace5094..d9e700e8947 100644
--- a/gcc/ira-costs.cc
+++ b/gcc/ira-costs.cc
@@ -1947,8 +1947,15 @@ find_costs_and_classes (FILE *dump_file)
}
if (i >= first_moveable_pseudo && i < last_moveable_pseudo)
i_mem_cost = 0;
- else
- i_mem_cost -= equiv_savings;
+ else if (equiv_savings < 0)
+ i_mem_cost = -equiv_savings;
+ else if (equiv_savings > 0)
+ {
+ i_mem_cost = 0;
+ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
+ i_costs[k] += equiv_savings;
+ }
+
best_cost = (1 << (HOST_BITS_PER_INT - 2)) - 1;
best = ALL_REGS;
alt_class = NO_REGS;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-09-28 16:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-28 16:07 reverting patch to improve equiv cost calculation Vladimir Makarov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).