[Bug middle-end/67891] [6 Regression] FAIL: gcc.dg/pr43300.c (internal compiler error) on alpha-linux-gnu

aoliva at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Oct 9 06:18:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67891

--- Comment #2 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
Created attachment 36469
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36469&action=edit
Patch that works around the problem

Ugh.  assign_parms's use of emit_block_move (as for parameter a in this
testcase) marks decls as addressable that weren't before, so they no longer
pass is_gimple_reg in spite of having SSA defs.  This is turn causes
set_parm_rtl to pass the parm down to set_rtl, instead of the default def, so
the RTL isn't associated with the partition holding the default def.  Oops.

Fortunately, ssa_default_def doesn't seem to mind being called for addressable
decls, so we can just skip the is_gimple_reg test.  I'm testing further to see
that this is indeed the case.



More information about the Gcc-bugs mailing list