This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch to allow Ada to work with tree-ssa
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: mark at codesourcery dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 22 Jun 04 13:06:38 EDT
- Subject: Re: Patch to allow Ada to work with tree-ssa
In particular, you've just added an extra entry to ARRAY_REF and
COMPONENT_REF, making these two common tree nodes bigger.
(COMPONENT_REF, in particular, is used extensively in C++; every
access to a class member variable is a COMPONENT_REF.) These extra
entries are unnecessary in C and C++, meaning that for GCC's two
most-used languages you've just increased memory usage with no
benefit. If you need some additional stuff for Ada, please find a way
that doesn't penalize C and C++.
Here's the specific test case for C. I note that it isn't valid C++,
but I don't know C++ well enough to make a similar case there. Note
that the proposal involving using an INDIRECT_REF won't work with this
case because it's a bitfield.
int
sub1 (int n)
{
struct foo {int arr[n]; int filler : 3; int fld : 4;} x;
return x.fld;
}