diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2008-01-22 13:27:52 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2008-01-22 13:27:52 +0000 |
commit | f9d023841c0b0c0575823540c9c87c8c8bcae2d4 (patch) | |
tree | 5253ca8e5d8e0bce15ed0eea3a4e13be1b76ea63 /gcc/tree-ssa-alias.c | |
parent | 80f4129beb0446158708648502e77ac1d1c3142d (diff) | |
download | gcc-f9d023841c0b0c0575823540c9c87c8c8bcae2d4.zip gcc-f9d023841c0b0c0575823540c9c87c8c8bcae2d4.tar.gz gcc-f9d023841c0b0c0575823540c9c87c8c8bcae2d4.tar.bz2 |
re PR tree-optimization/33092 (Using -O1 -fno-tree-salias results in ICE)
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.
From-SVN: r131717
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r-- | gcc/tree-ssa-alias.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 13ec95b..7ab2f6b 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 */ +}; |