http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57661
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Yeah, ipa-split.c together with MEM_REF gimple_clobber_p and anonymous SSA_NAME cause this. ipa-split intentionally ignores clobber stmts during analysis, because they aren't real stmts, worst case we just ignore them and/or throw them away. If a clobber has a decl on lhs, then the decl is always present and not a problem. If it is a MEM_REF clobber with non-anonymous SSA_NAME, it is also just fine, ipa-split will during the cloning of the fn to *.part.* turn those SSA_NAMEs into SSA_NAME_IS_DEFAULT_DEF ones, and then tree-ssa-live will throw such clobbers away as useless. But anonymous SSA_NAMEs aren't meant to be ever SSA_NAME_IS_DEFAULT_DEF, which causes this problem. Perhaps ipa-split should just fix such SSA_NAMEs up (look up what anonymous SSA_NAMEs have no SSA_NAME_DEFAULT_STMT and remove all clobbers that depend on those and remove those SSA_NAMEs?