aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-transform.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2019-11-04 20:39:52 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2019-11-04 19:39:52 +0000
commit2bc2379be5c98d34ecbb347b2abf059aa6d94499 (patch)
treec77dfa441b49c1963d53760f79ab87018bafc88a /gcc/ipa-inline-transform.c
parent0ec77a6c25cbe321d9712e41a3aa04dff97eaaa6 (diff)
downloadgcc-2bc2379be5c98d34ecbb347b2abf059aa6d94499.zip
gcc-2bc2379be5c98d34ecbb347b2abf059aa6d94499.tar.gz
gcc-2bc2379be5c98d34ecbb347b2abf059aa6d94499.tar.bz2
ipa-inline-transform.c: Include ipa-utils.h
* ipa-inline-transform.c: Include ipa-utils.h (inline_call): Set thunk_expansion flag. * ipa-utils.h (thunk_expansion): Declare. * ipa-devirt.c (thunk_expansion): New global var. (devirt_node_removal_hook): Do not invalidate cache while doing thunk expansion. From-SVN: r277789
Diffstat (limited to 'gcc/ipa-inline-transform.c')
-rw-r--r--gcc/ipa-inline-transform.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c
index 1cc7803..8b95889 100644
--- a/gcc/ipa-inline-transform.c
+++ b/gcc/ipa-inline-transform.c
@@ -47,6 +47,7 @@ along with GCC; see the file COPYING3. If not see
#include "function.h"
#include "cfg.h"
#include "basic-block.h"
+#include "ipa-utils.h"
int ncalls_inlined;
int nfunctions_inlined;
@@ -352,6 +353,7 @@ inline_call (struct cgraph_edge *e, bool update_original,
if (to->thunk.thunk_p)
{
struct cgraph_node *target = to->callees->callee;
+ thunk_expansion = true;
symtab->call_cgraph_removal_hooks (to);
if (in_lto_p)
to->get_untransformed_body ();
@@ -360,6 +362,7 @@ inline_call (struct cgraph_edge *e, bool update_original,
for (e = to->callees; e && e->callee != target; e = e->next_callee)
;
symtab->call_cgraph_insertion_hooks (to);
+ thunk_expansion = false;
gcc_assert (e);
}