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
This commit is contained in:
parent
80f4129beb
commit
f9d023841c
@ -1,3 +1,12 @@
|
||||
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.
|
||||
|
||||
2008-01-22 Wolfgang Gellerich <gellerich@de.ibm.com>
|
||||
|
||||
* config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
|
||||
|
@ -557,6 +557,10 @@ init_optimization_passes (void)
|
||||
{
|
||||
struct tree_opt_pass **p = &pass_all_optimizations.sub;
|
||||
NEXT_PASS (pass_create_structure_vars);
|
||||
/* ??? pass_build_alias is a dummy pass that ensures that we
|
||||
execute TODO_rebuild_alias at this point even if
|
||||
pass_create_structure_vars was disabled. */
|
||||
NEXT_PASS (pass_build_alias);
|
||||
NEXT_PASS (pass_return_slot);
|
||||
NEXT_PASS (pass_rename_ssa_copies);
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||||
|
||||
PR middle-end/33092
|
||||
* gcc.dg/pr33092.c: New.
|
||||
|
||||
2008-01-22 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* gcc.target/s390/20020926-1.c: Add -m31 option.
|
||||
|
@ -278,6 +278,7 @@ extern struct tree_opt_pass pass_ccp;
|
||||
extern struct tree_opt_pass pass_phi_only_cprop;
|
||||
extern struct tree_opt_pass pass_build_ssa;
|
||||
extern struct tree_opt_pass pass_del_ssa;
|
||||
extern struct tree_opt_pass pass_build_alias;
|
||||
extern struct tree_opt_pass pass_dominator;
|
||||
extern struct tree_opt_pass pass_dce;
|
||||
extern struct tree_opt_pass pass_dce_loop;
|
||||
|
@ -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 */
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user