aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.h
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2017-01-23 13:02:13 +0100
committerMartin Liska <marxin@gcc.gnu.org>2017-01-23 12:02:13 +0000
commitc7775327e8cf214872b3d179bfaa1b441759ab5a (patch)
tree1ab9205a738735b127304a898b222670154c0f01 /gcc/tree-inline.h
parent913e4b3617fe7f46fbdbb72b010cf6cf7201d329 (diff)
downloadgcc-c7775327e8cf214872b3d179bfaa1b441759ab5a.zip
gcc-c7775327e8cf214872b3d179bfaa1b441759ab5a.tar.gz
gcc-c7775327e8cf214872b3d179bfaa1b441759ab5a.tar.bz2
Speed up use-after-scope (v2): rewrite into SSA
2017-01-23 Martin Liska <mliska@suse.cz> * asan.c (create_asan_shadow_var): New function. (asan_expand_poison_ifn): Likewise. * asan.h (asan_expand_poison_ifn): New declaration. * internal-fn.c (expand_ASAN_POISON): Likewise. * internal-fn.def (ASAN_POISON): New builtin. * sanopt.c (pass_sanopt::execute): Expand asan_expand_poison_ifn. * tree-inline.c (copy_decl_for_dup_finish): Make function external. * tree-inline.h (copy_decl_for_dup_finish): Likewise. * tree-ssa.c (is_asan_mark_p): New function. (execute_update_addresses_taken): Rewrite local variables (identified just by use-after-scope as addressable) into SSA. 2017-01-23 Martin Liska <mliska@suse.cz> * gcc.dg/asan/use-after-scope-3.c: Add additional flags. * gcc.dg/asan/use-after-scope-9.c: Likewise and grep for sanopt optimization for ASAN_POISON. From-SVN: r244791
Diffstat (limited to 'gcc/tree-inline.h')
-rw-r--r--gcc/tree-inline.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h
index ecfae6b..41402a3 100644
--- a/gcc/tree-inline.h
+++ b/gcc/tree-inline.h
@@ -218,6 +218,7 @@ extern gimple_seq copy_gimple_seq_and_replace_locals (gimple_seq seq);
extern bool debug_find_tree (tree, tree);
extern tree copy_fn (tree, tree&, tree&);
extern const char *copy_forbidden (struct function *fun);
+extern tree copy_decl_for_dup_finish (copy_body_data *id, tree decl, tree copy);
/* This is in tree-inline.c since the routine uses
data structures from the inliner. */