> I guess best would be to make sure no new alias set is created in these > places. Perhaps > int save_strict_aliasing = flag_strict_aliasing; > flag_strict_aliasing = 0; > rtl = DECL_RTL (decl); > flag_strict_aliasing = save_strict_aliasing; > in both places?
Remember when I said I had come up with all sorts of evil ways of keeping the alias sets the same on both paths? Well, that was one of the patches I toyed around with: works, and is ugly as sin. :) I'm with Richi on this one, remove everything.