diff options
author | Jan Hubicka <jh@suse.cz> | 2009-11-23 23:27:15 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2009-11-23 22:27:15 +0000 |
commit | cefdbe2fe99d5b05ed416214b9e229f31f86223b (patch) | |
tree | ee247b1cb7ba23f92c45ff518b52807f2dc03f79 /gcc/ipa-inline.c | |
parent | 83a4e6e9928c2ddaf715f05cc729104200bf17c9 (diff) | |
download | gcc-cefdbe2fe99d5b05ed416214b9e229f31f86223b.tar.gz |
re PR middle-end/42151 (verify_cgraph_node failed with -O3 -Winline)
PR middle-end/42151
* ipa-inline.c (inline_transform): Avoid ICE when transform is called
twice.
From-SVN: r154475
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 786c21c0ca3..495d8851247 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1974,6 +1974,11 @@ inline_transform (struct cgraph_node *node) unsigned int todo = 0; struct cgraph_edge *e; + /* FIXME: Currently the passmanager is adding inline transform more than once to some + clones. This needs revisiting after WPA cleanups. */ + if (cfun->after_inlining) + return 0; + /* We might need the body of this function so that we can expand it inline somewhere else. */ if (cgraph_preserve_function_body_p (node->decl)) |