[PATCH] Fix PR43505
Richard Guenther
rguenther@suse.de
Fri Mar 26 18:32:00 GMT 2010
This fixes update_clone_info messing with types of variables in
the original bodies of clones. Which looks bogus, but I can't
make sense of much of the code. So, Honza, does this look ok?
Bootstrapped and tested on x86_64-unknown-linux-gnu.
Thanks,
Richard.
2010-03-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43505
* tree-inline.c (update_clone_info): Do not fiddle with the
original tree.
Index: gcc/tree-inline.c
===================================================================
*** gcc/tree-inline.c (revision 157751)
--- gcc/tree-inline.c (working copy)
*************** update_clone_info (copy_body_data * id)
*** 4729,4736 ****
{
struct ipa_replace_map *replace_info;
replace_info = VEC_index (ipa_replace_map_p, node->clone.tree_map, i);
! walk_tree (&replace_info->old_tree, copy_tree_body_r, id, NULL);
! walk_tree (&replace_info->new_tree, copy_tree_body_r, id, NULL);
}
}
if (node->clones)
--- 4729,4736 ----
{
struct ipa_replace_map *replace_info;
replace_info = VEC_index (ipa_replace_map_p, node->clone.tree_map, i);
! if (replace_info->replace_p)
! walk_tree (&replace_info->new_tree, copy_tree_body_r, id, NULL);
}
}
if (node->clones)
More information about the Gcc-patches
mailing list