summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-alias.c
diff options
context:
space:
mode:
authormanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-22 13:27:52 +0000
committermanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-22 13:27:52 +0000
commitdf3f0669c257040f3006a9ce9dc7cf74d7dc7966 (patch)
tree5253ca8e5d8e0bce15ed0eea3a4e13be1b76ea63 /gcc/tree-ssa-alias.c
parentb316a575c2b04381ad251ce36aba5373f51a39e8 (diff)
downloadgcc-df3f0669c257040f3006a9ce9dc7cf74d7dc7966.tar.gz
2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/33092 * tree-pass.h (pass_build_alias): New pass. * tree-ssa-alias.c (gate_build_alias): New. (pass_build_alias): New. * passes.c (init_optimization_passes): Add pass_build_alias after pass_create_structure_vars. testsuite/ * gcc.dg/pr33092.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131717 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r--gcc/tree-ssa-alias.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 13ec95b9e9d..7ab2f6b5473 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -4252,3 +4252,27 @@ struct tree_opt_pass pass_reset_cc_flags =
0, /* todo_flags_finish */
0 /* letter */
};
+
+static bool
+gate_build_alias (void)
+{
+ return !gate_structure_vars();
+}
+
+
+struct tree_opt_pass pass_build_alias =
+{
+ "build_alias", /* name */
+ gate_build_alias, /* gate */
+ NULL, /* execute */
+ NULL, /* sub */
+ NULL, /* next */
+ 0, /* static_pass_number */
+ 0, /* tv_id */
+ PROP_cfg | PROP_ssa, /* properties_required */
+ PROP_alias, /* properties_provided */
+ 0, /* properties_destroyed */
+ 0, /* todo_flags_start */
+ TODO_rebuild_alias, /* todo_flags_finish */
+ 0 /* letter */
+};