This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa]: Reduce size of phi nodes by 31 bits
- From: Richard Henderson <rth at redhat dot com>
- To: Devang Patel <dpatel at apple dot com>
- Cc: Daniel Berlin <dberlin at dberlin dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Diego Novillo <dnovillo at redhat dot com>
- Date: Wed, 31 Dec 2003 17:08:56 -0800
- Subject: Re: [tree-ssa]: Reduce size of phi nodes by 31 bits
- References: <CA51D1BD-3A5C-11D8-8825-000A95DA505C@dberlin.org> <20031230222747.GC21806@redhat.com> <11CD3A15-3B1B-11D8-9B65-000393A91CAA@apple.com> <20031231000457.GA21855@redhat.com> <683936A0-3BEE-11D8-9C57-000393A91CAA@apple.com>
On Wed, Dec 31, 2003 at 04:06:54PM -0800, Devang Patel wrote:
> In my measurement 582 is max phi arg count during compiler bootstrap.
What we need is worst case ever. I'm having trouble locating
the bugzilla entry that I'm thinking of -- the test case is a
27+ MB file, one function, one enormous switch statement. It's
the largest input function I've ever seen. (Beware, last time
I checked, it took 2.7MB of ram to compile, at -O0.)
One could probably guess that the arity of the join at the end
of that switch statement is < 27M, since it's hard to imagine
how you could generate more than one switch exit per byte of
source, which probably means it's moderately safe to have
num_args and capacity use only 24 bits apiece.
But again, that's something we'd want to check, and generate
a "sorry" if you overflow, rather than do something truely
ugly and undebuggable later.
r~