This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: sched2 seems to be disabled on x86
Neil Booth <neil@daikokuya.co.uk> writes:
> Dan Nicolaescu wrote:-
>
> >
> > The subject says it all: on mainline checked out today, sched2 seems
> > to be disabled on x86.
> > It was enabled 2 weeks ago.
> >
> > This is in the ChangeLog about this, so it's probably not
> > intentional. Any idea what is going on?
> >
> >
> > It's interesting that some of the SPEC int benchmarks seem to benefit
> > from this:
> >
> > http://people.redhat.com/dnovillo/spec2000/gcc/global-run-ratio.html
> > http://people.redhat.com/dnovillo/spec2000/gcc/individual-run-ratio.html
> >
> > The output of -fverbose-asm is also quite different:
>
> Whilst I'd love to take credit for a speed-up, I think the credit lies
> elsewhere. The output of -fverbose-asm is simply not reporting the
> facts.
It might be true that -fverbose-asm is not reporting the facts, but
it is also true that sched2 is not running. The conjecture was that
the speedup is from not running sched2.
Just try this:
gdb cc1
GNU gdb Red Hat Linux (5.2-2)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i386-redhat-linux"...
Breakpoint 1 at 0x80c9329: file ../../gcc/gcc/diagnostic.c, line 1372.
Breakpoint 2 at 0x8049794
Breakpoint 3 at 0x8049544
(gdb) b rest_of_compilation
Breakpoint 4 at 0x8271c6b: file ../../gcc/gcc/toplev.c, line 3338.
(gdb) r -O2 -quiet ~/hack/combine.i
Starting program: /local/users/dann/build/gcc-HEAD-cvs/objs/gcc/cc1
-O2 -quiet ~/hack/combine.i
Breakpoint 2 at 0x4202bbea
Breakpoint 3 at 0x4202a758
Breakpoint 4, rest_of_compilation (decl=0x40338654)
at ../../gcc/gcc/toplev.c:3338
3338 timevar_push (TV_REST_OF_COMPILATION);
(gdb) p flag_schedule_insns_after_reload
$1 = 0
Doing the same with a 2 week old cc1,:
(gdb) p flag_schedule_insns_after_reload
$1 = 1