summaryrefslogtreecommitdiff
path: root/gcc/tree-pass.h
diff options
context:
space:
mode:
authorChristoph Muellner <christoph.muellner@theobroma-systems.com>2018-09-18 18:11:01 +0200
committerChristoph Muellner <christoph.muellner@theobroma-systems.com>2019-08-30 20:10:54 +0200
commit19d63593ec0172d2d527d36b10dbc2d42556d4a3 (patch)
tree09a238d9db32df39399239cf6c74ba43614522b9 /gcc/tree-pass.h
parent92dc66e53a10808290509ea6997d0f93bc927924 (diff)
noloopalias: Add new pass to optimise loops.gcc-8_3_0-amp3-branch
This pass allows to declare pointer non-aliasing on loop level within the given function. If such non-aliasing is given, then we outline the loop into its own function. The arguments of the new function are all variables, which are used in the loop, where pointers are declared as restricted types (non-aliasing). This allows to optimize the loop more aggressively. Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Diffstat (limited to 'gcc/tree-pass.h')
-rw-r--r--gcc/tree-pass.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index abf6c4cfe3c3..05fcf1dcce6b 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -355,6 +355,7 @@ extern gimple_opt_pass *make_pass_refactor_eh (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_lower_eh (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_lower_eh_dispatch (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_lower_resx (gcc::context *ctxt);
+extern gimple_opt_pass *make_pass_noloopalias (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_build_cfg (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_early_tree_profile (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_cleanup_eh (gcc::context *ctxt);