This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [vta, vta4.4] merged with trunk and 4.4 @149247, updated VTA patchset
On Jul 7, 2009, Alexandre Oliva <aoliva@redhat.com> wrote:
> On Jul 6, 2009, Richard Guenther <richard.guenther@gmail.com> wrote:
>> On Mon, Jul 6, 2009 at 4:04 AM, Alexandre Oliva<aoliva@redhat.com> wrote:
>> @@ -6007,7 +6007,7 @@ get_inner_reference (tree exp, HOST_WIDE
>> /* Compute cumulative bit-offset for nested component-refs and array-refs,
>> and find the ultimate containing object. */
>> - while (1)
>> + do
>> {
>> switch (TREE_CODE (exp))
>> {
>> @@ -6086,6 +6086,7 @@ get_inner_reference (tree exp, HOST_WIDE
>> exp = TREE_OPERAND (exp, 0);
>> }
>> + while (exp);
>> hmm? Please revert that change.
> While walking debug stmts I sometimes ran into NULL exps. That's why I
> made this change. I'll see whether it's still needed.
It is. That's because of delegitimize_mem_from_attrs: it appears to be
legitimate for mem attrs to contain say:
COMPONENT_REF <NULL_TREE, FIELD_DECL>
but get_inner_reference would barf at this tree. Even on a -g0 compile.
What's different in the VTA branch is that ix86_delegitimize_address()
now calls delegitimize_mem_from_attrs. IMNSHO every port should. And
that's the default.
--
Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/ FSF Latin America board member
Free Software Evangelist Red Hat Brazil Compiler Engineer