On 11/05/13 08:35, Vladimir Makarov wrote:
   I'd like to add a new experimental optimization to the trunk.  This
optimization was discussed on RA BOF of this summer GNU Cauldron.

[Good stuff snipped]


   The single but significant drawback is additional compilation time
(4%-6%) as the 1st insn scheduling pass is quite expensive.  So I'd
recommend target maintainers to switch it on only for -Ofast.  If
somebody finds that the optimization works on processors which uses
1st insn scheduling by default (in which I slightly doubt), we could
improve the compilation time by reusing data for this optimization and
the 1st insn scheduling.
Yow!  That's a pretty big hit.

Presumably there wasn't any way to integrate this with the existing sched2 pass, amoritizing the cost for dependency analysis and such? Do we even know what part of the scheduler is really impacting compile-time performance here?




Index: haifa-sched.c
===================================================================
--- haifa-sched.c       (revision 204380)
+++ haifa-sched.c       (working copy)
@@ -150,6 +150,9 @@ along with GCC; see the file COPYING3.

 #ifdef INSN_SCHEDULING

+/* True if we do pressure relief pass.  */
+bool sched_relief_p;

Can we restructure things a bit so this is at least a file local static? init/fini_for_live_range_shrinkage in haifa-sched.c, used by the bits in sched-rgn.c?


Jeff

Reply via email to