diff options
author | Jan Hubicka <jh@suse.cz> | 2004-05-05 22:55:02 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-05-05 20:55:02 +0000 |
commit | 59af0b6aa3a9a1ed4c9d075d3ae747f804733159 (patch) | |
tree | 8894b636feef5e7cd06e3aefa02c8ece1b2daa07 | |
parent | 9953b5e1f7490ccb4fd9bf6af8b9ce3a7a735869 (diff) | |
download | gcc-59af0b6aa3a9a1ed4c9d075d3ae747f804733159.tar.gz |
re PR rtl-optimization/14980 ([unit-at-a-time] complex_io.cc:69: error: Inlined_to pointer is set but no predecesors found--causes ICE)
PR opt/14980
* cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
inline clones.
From-SVN: r81540
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cgraphunit.c | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 975882bfe54..44e58d7c240 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-05-05 Jan Hubicka <jh@suse.cz> + + PR opt/14980 + * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with + inline clones. + 2004-05-05 H.J. Lu <hongjiu.lu@intel.com> PR target/15290 diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 156c924bca1..e9402dbfb6e 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -889,7 +889,8 @@ cgraph_remove_unreachable_nodes (void) abort (); #endif for (node = cgraph_nodes; node; node = node->next) - if (node->needed && (!DECL_EXTERNAL (node->decl) || !node->analyzed)) + if (node->needed && !node->global.inlined_to + && (!DECL_EXTERNAL (node->decl) || !node->analyzed)) { node->aux = first; first = node; @@ -932,6 +933,7 @@ cgraph_remove_unreachable_nodes (void) int local_insns; tree decl = node->decl; + node->global.inlined_to = NULL; if (DECL_STRUCT_FUNCTION (decl)) local_insns = node->local.self_insns; else |