OSDN Git Service

PR middle-end/42228
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Dec 2009 20:50:47 +0000 (20:50 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Dec 2009 20:50:47 +0000 (20:50 +0000)
commitee3f5fc0f04108d47a518ce7efadd87eb51a9cc3
tree4b7897c70e32ed3a7ade0ed23cc48ffbcd023f09
parent0c54ae75e67742522f331dce5db1fe0983d42ca6
PR middle-end/42228
PR middle-end/42110
* cgraph.c (cgraph_create_edge_including_clones): Add old_stmt parameter;
update edge if it already exists.
(cgraph_remove_node): Handle correctly cases where we are removing node having
clones.
* cgraph.h (cgraph_create_edge_including_clones): Declare.
(verify_cgraph_node): Add missing error_found = true code.
(cgraph_materialize_all_clones): Remove call edges of dead nodes.
* ipa.c (cgraph_remove_unreachable_nodes): Correctly look for master
clone; fix double linked list removal.
* tree-inline.c (copy_bb): Update cgraph_create_edge_including_clones call;
fix frequency of newly created edge.

* g++.dg/torture/pr42110.C: new file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155140 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphunit.c
gcc/ipa.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr42110.C [new file with mode: 0644]
gcc/tree-inline.c