This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Remove obfuscation from the scheduler
- From: Jeff Law <law at redhat dot com>
- To: Bernd Schmidt <bernds at codesourcery dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 23 May 2011 10:18:33 -0600
- Subject: Re: Remove obfuscation from the scheduler
- References: <4DD51D17.7000508@codesourcery.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 05/19/11 07:37, Bernd Schmidt wrote:
> In the scheduler initialization code, we want to set up the h_i_d array.
> So we call haifa_init_h_i_d, which has a table of function pointers
> which it passes to sched_scan, which copies the function pointer table
> pointer to a global variable and then calls functions like init_insn,
> which checks the global variable whether one of the function pointers is
> nonnull, and if not calls the function we actually want (init_h_i_d).
>
> Half of the arguments to sched_scan are never actually used. sel-sched
> pretends to use the insns vector, but it actually passes in a global
> variable that's always NULL. Another argument can be eliminated by
> simply calling the necessary function(s) directly rather than going
> through sched_scan.
>
> This patch removes most of the craziness. The forest of indirections is
> gone, and sched_scan is moved (in a much reduced form) to sel-sched-ir.c
> where the sel-sched maintainers can decide whether to eliminate it
> altogether.
>
> Bootstrapped on i686-linux; regression tests running. Ok?
Ok.
jeff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJN2ojZAAoJEBRtltQi2kC7hyYIAJ2IZ91/I4o0fqNljWPQy33o
7hgnV6Uy790QAlrfIVhQ/K4ceJRyo/0oHe/L/R87lemqronnUZiSSvA917G1mXEb
LbjzjK0meGEl9pZZ3kwiCkJIWyUGqpEhDlRlVICqabpnFyu6fsOPJVrG9ZI8IIbz
4t+BwrawtB4+kAcsDZR2XvCEH4mte9an7nRlWUrHLvXuNWR8hxUS6T2Mx8dTtRH9
tC4BEodedbMGHeg8Sz3nAAftZ6SvGdS3K/Huwpl+VZ1uL2d2w+bTkgoLxobvNxtU
hqrRgKlYGaeDuqgUyDmayPR9mNwM9GC7OXsJ8n12vmVe6p9FlFPV5yN/d8hCfpU=
=aYbv
-----END PGP SIGNATURE-----