[Bug middle-end/68291] [6 regression] ICE in emit_move_insn, at expr.c:3540
aoliva at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 7 01:34:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68291
--- Comment #10 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
I'm not comfortable with your relaxing the assert in cfgexpand.c:set_rtl. It
means we could have a PARALLEL for a RESULT_DECL *and* other variables, because
of coalescing. Although we can deal with PARALLELs in a RESULT_DECL, not all
expanders will deal with them successfully, IIRC. We should make sure the
RESULT_DECL is not coalesced with other variables if we are to accept a
PARALLEL there. It's not obvious to me that we already do that, but maybe we
do as a side effect of assigning other variables of the same mode to BLKmode
and thus to memory, so it might be that it's not a problem, after all, but I'd
rather have at least a comment in the assert indicating that the intent of that
case is to cover uncoalesced PARALLELs in RESULT_DECLs only. If we did get
coalescing, we would likely get expander ICEs elsewhere.
More information about the Gcc-bugs
mailing list