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
This commit is contained in:
parent
15e25df5c7
commit
13c594155d
|
@ -1,3 +1,11 @@
|
||||||
|
2007-07-09 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
|
PR target/27855
|
||||||
|
* doc/invoke.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.
|
||||||
|
|
||||||
2007-07-09 Uros Bizjak <ubizjak@gmail.com>
|
2007-07-09 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
PR tree-optimization/32681
|
PR tree-optimization/32681
|
||||||
|
@ -2848,7 +2856,7 @@
|
||||||
2007-06-08 Harsha Jagasia <harsha.jagasia@amd.com>
|
2007-06-08 Harsha Jagasia <harsha.jagasia@amd.com>
|
||||||
Tony Linthicum <tony.linthicum@amd.com>
|
Tony Linthicum <tony.linthicum@amd.com>
|
||||||
|
|
||||||
* doc/extend.texi: Add fvect-cost-model flag.
|
* doc/invoke.texi: Add fvect-cost-model flag.
|
||||||
* common.opt (fvect-cost-model): New flag.
|
* common.opt (fvect-cost-model): New flag.
|
||||||
* tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside
|
* tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside
|
||||||
cost fields in stmt_vec_info struct for STMT.
|
cost fields in stmt_vec_info struct for STMT.
|
||||||
|
|
|
@ -1063,6 +1063,10 @@ ftree-pre
|
||||||
Common Report Var(flag_tree_pre) Optimization
|
Common Report Var(flag_tree_pre) Optimization
|
||||||
Enable SSA-PRE optimization on trees
|
Enable SSA-PRE optimization on trees
|
||||||
|
|
||||||
|
ftree-reassoc
|
||||||
|
Common Report Var(flag_tree_reassoc) Init(1) Optimization
|
||||||
|
Enable reassociation on tree level
|
||||||
|
|
||||||
ftree-salias
|
ftree-salias
|
||||||
Common Report Var(flag_tree_salias) Optimization
|
Common Report Var(flag_tree_salias) Optimization
|
||||||
Perform structural alias analysis
|
Perform structural alias analysis
|
||||||
|
|
|
@ -353,7 +353,7 @@ Objective-C and Objective-C++ Dialects}.
|
||||||
-fstrict-aliasing -fstrict-overflow -ftracer -fthread-jumps @gol
|
-fstrict-aliasing -fstrict-overflow -ftracer -fthread-jumps @gol
|
||||||
-funroll-all-loops -funroll-loops -fpeel-loops @gol
|
-funroll-all-loops -funroll-loops -fpeel-loops @gol
|
||||||
-fsplit-ivs-in-unroller -funswitch-loops @gol
|
-fsplit-ivs-in-unroller -funswitch-loops @gol
|
||||||
-fvariable-expansion-in-unroller @gol
|
-fvariable-expansion-in-unroller -ftree-reassoc @gol
|
||||||
-ftree-pre -ftree-ccp -ftree-dce -ftree-loop-optimize @gol
|
-ftree-pre -ftree-ccp -ftree-dce -ftree-loop-optimize @gol
|
||||||
-ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts @gol
|
-ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts @gol
|
||||||
-fcheck-data-deps @gol
|
-fcheck-data-deps @gol
|
||||||
|
@ -5584,9 +5584,9 @@ ones to optimal placement using LCM.
|
||||||
|
|
||||||
@item -freschedule-modulo-scheduled-loops
|
@item -freschedule-modulo-scheduled-loops
|
||||||
@opindex fscheduling-in-modulo-scheduled-loops
|
@opindex fscheduling-in-modulo-scheduled-loops
|
||||||
The modulo scheduling comes before the traditional scheduling, if a loop was modulo scheduled
|
The modulo scheduling comes before the traditional scheduling, if a loop
|
||||||
we may want to prevent the later scheduling passes from changing its schedule, we use this
|
was modulo scheduled we may want to prevent the later scheduling passes
|
||||||
option to control that.
|
from changing its schedule, we use this option to control that.
|
||||||
|
|
||||||
@item -fcaller-saves
|
@item -fcaller-saves
|
||||||
@opindex fcaller-saves
|
@opindex fcaller-saves
|
||||||
|
@ -5600,6 +5600,10 @@ those which have no call-preserved registers to use instead.
|
||||||
|
|
||||||
Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
|
Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
|
||||||
|
|
||||||
|
@item -ftree-reassoc
|
||||||
|
Perform Reassociation on trees This flag is enabled by default
|
||||||
|
at @option{-O} and higher.
|
||||||
|
|
||||||
@item -ftree-pre
|
@item -ftree-pre
|
||||||
Perform Partial Redundancy Elimination (PRE) on trees. This flag is
|
Perform Partial Redundancy Elimination (PRE) on trees. This flag is
|
||||||
enabled by default at @option{-O2} and @option{-O3}.
|
enabled by default at @option{-O2} and @option{-O3}.
|
||||||
|
|
|
@ -1476,15 +1476,21 @@ execute_reassoc (void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
gate_tree_ssa_reassoc (void)
|
||||||
|
{
|
||||||
|
return flag_tree_reassoc != 0;
|
||||||
|
}
|
||||||
|
|
||||||
struct tree_opt_pass pass_reassoc =
|
struct tree_opt_pass pass_reassoc =
|
||||||
{
|
{
|
||||||
"reassoc", /* name */
|
"reassoc", /* name */
|
||||||
NULL, /* gate */
|
gate_tree_ssa_reassoc, /* gate */
|
||||||
execute_reassoc, /* execute */
|
execute_reassoc, /* execute */
|
||||||
NULL, /* sub */
|
NULL, /* sub */
|
||||||
NULL, /* next */
|
NULL, /* next */
|
||||||
0, /* static_pass_number */
|
0, /* static_pass_number */
|
||||||
TV_TREE_REASSOC, /* tv_id */
|
TV_TREE_REASSOC, /* tv_id */
|
||||||
PROP_cfg | PROP_ssa | PROP_alias, /* properties_required */
|
PROP_cfg | PROP_ssa | PROP_alias, /* properties_required */
|
||||||
0, /* properties_provided */
|
0, /* properties_provided */
|
||||||
0, /* properties_destroyed */
|
0, /* properties_destroyed */
|
||||||
|
|
Loading…
Reference in New Issue