------- Comment #6 from davidxl at gcc dot gnu dot org 2009-03-24 21:33 ------- (In reply to comment #4) > Btw, it shouldn't really happen that we are not allowed to copyprop PHI > arguments. It hints at some inconsistency in the IL instead. >
This sounds good. David(In reply to comment #4) > Btw, it shouldn't really happen that we are not allowed to copyprop PHI > arguments. It hints at some inconsistency in the IL instead. > Yes I suspect that too, but this is an independent issue. As long as the check is done in replace_uses_in (tree-ssa-propagate), it should be done in the copy chain computation -- at least it should be done in line 742 of tree-ssa-copy.c (copy_prop_visit_cond_stmt), which was my original fix. By the way, the check that fails in may_propagate_copy is -- which looks hairy. If you think it is ok, I can file a different bug to track this. else if (!MTAG_P (SSA_NAME_VAR (dest)) && !MTAG_P (SSA_NAME_VAR (orig)) && (DECL_NO_TBAA_P (SSA_NAME_VAR (dest)) != DECL_NO_TBAA_P (SSA_NAME_VAR (orig)))) Thanks, David -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39548