This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: reg_scan info validity during jump
- To: law at cygnus dot com
- Subject: Re: reg_scan info validity during jump
- From: "David S. Miller" <davem at dm dot cobaltmicro dot com>
- Date: Sun, 12 Jul 1998 19:57:12 -0700
- CC: rth at cygnus dot com, Franz dot Sirl-kernel at lauterbach dot com, meissner at cygnus dot com, egcs-patches at cygnus dot com
- References: <4948.900141924@hurl.cygnus.com>
Date: Sat, 11 Jul 1998 01:25:24 -0600
From: Jeffrey A Law <law@hurl.cygnus.com>
In message <19980711003058.A9249@dot.cygnus.com>you write:
> > Anyway I think the better patch is to simply not copy the loop exit
> > code if it references a register higher than max_reg_num. Yes we
> > miss some opts, but calling reg_scan like that is very heavyweight.
>
> As I mentioned to Dave, I think the proper solution is to have
> incremental update functions to call, a-la record_base_value.
That is certainly the right way to go long term. But do we want
to fart with that now when all we have to do is return 0 if the
register is >= max_reg?
Yes, I certainly think so. I'm working tonight on the solution
suggested by rth.
As I scanned over things, planning the implementation, I noticed that
these jump cases only care about UID lifespans for REGs. Therefore it
would be profitable to have a "reg_scan_lifetimes()" or something like
this, and a little helper:
reg_scan_refresh_lifetimes(first_new_reg, first_insn, last_insn)
But I won't go this far in my hacks tonight.
Later,
David S. Miller
davem@dm.cobaltmicro.com