aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-reassoc.c
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2007-07-09 21:22:03 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-07-09 21:22:03 +0200
commit13c594155d94f64e49681064ddb1a9e4e02a6562 (patch)
treea7d61234c913d65d41ef83d40ec2e713ee5e9f49 /gcc/tree-ssa-reassoc.c
parent15e25df5c772b13a68a4ced2fb466cd16eaf36d4 (diff)
downloadgcc-13c594155d94f64e49681064ddb1a9e4e02a6562.zip
gcc-13c594155d94f64e49681064ddb1a9e4e02a6562.tar.gz
gcc-13c594155d94f64e49681064ddb1a9e4e02a6562.tar.bz2
re PR target/27855 (reassociation causes the RA to be confused)
PR target/27855 * doc/extend.texi: Add ftree-reassoc flag. * common.opt (ftree-reassoc): New flag. * tree-ssa-reassoc.c (gate_tree_ssa_reassoc): New static function. (struct tree_opt_pass pass_reassoc): Use gate_tree_ssa_reassoc. From-SVN: r126491
Diffstat (limited to 'gcc/tree-ssa-reassoc.c')
-rw-r--r--gcc/tree-ssa-reassoc.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 448107b..a38290b 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -1476,15 +1476,21 @@ execute_reassoc (void)
return 0;
}
+static bool
+gate_tree_ssa_reassoc (void)
+{
+ return flag_tree_reassoc != 0;
+}
+
struct tree_opt_pass pass_reassoc =
{
"reassoc", /* name */
- NULL, /* gate */
- execute_reassoc, /* execute */
+ gate_tree_ssa_reassoc, /* gate */
+ execute_reassoc, /* execute */
NULL, /* sub */
NULL, /* next */
0, /* static_pass_number */
- TV_TREE_REASSOC, /* tv_id */
+ TV_TREE_REASSOC, /* tv_id */
PROP_cfg | PROP_ssa | PROP_alias, /* properties_required */
0, /* properties_provided */
0, /* properties_destroyed */