http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45871

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |UNCONFIRMED
   Last reconfirmed|2010-10-03 19:42:33         |
   Target Milestone|4.6.0                       |---
            Summary|[4.6 Regression] lto        |lto bootstrap miscompiles
                   |bootstrap miscompiles       |expmed.c
                   |expmed.c                    |
     Ever Confirmed|1                           |0

--- Comment #2 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-10-03 
22:07:00 UTC ---
The problem is that we have
MEM[ptr+24].predicate access, where ptr is isnsn_code[2000].
The reference really access insn_code[2001].predicate, but since 
get_base_constructor handle ARRAY_REF by calling fold_const_aggregate_ref that
return constructor of insn_code[2000] only, we don't find matching field while
looking for field at offset 24.

I am testing patch that makes get_base_constructor to use
get_ref_base_and_extent and simply adjust the offset of outer reference
accordingly to fix this.

Honza

Reply via email to