summaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-23 22:27:15 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-23 22:27:15 +0000
commit2511f7808247c921b32ff73dbf82527b77f92215 (patch)
treeee247b1cb7ba23f92c45ff518b52807f2dc03f79 /gcc/ipa-inline.c
parent580697d88e7249278161b8084f57677f7be259e8 (diff)
downloadgcc-2511f7808247c921b32ff73dbf82527b77f92215.tar.gz
PR middle-end/42151
* ipa-inline.c (inline_transform): Avoid ICE when transform is called twice. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154475 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r--gcc/ipa-inline.c5
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))