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