This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]