mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-26 04:25:51 +08:00
re PR tree-optimization/23133 (recip does not factor division by function parameter)
2005-08-01 Richard Guenther <rguenther@suse.de> PR tree-optimization/23133 * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk current functions parameter decls to find defs to cse reciprocals of. From-SVN: r102628
This commit is contained in:
parent
ac264fef23
commit
a8f82ec437
@ -1,3 +1,10 @@
|
||||
2005-08-01 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/23133
|
||||
* tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
|
||||
current functions parameter decls to find defs to cse
|
||||
reciprocals of.
|
||||
|
||||
2005-08-01 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/23109
|
||||
|
@ -122,10 +122,20 @@ static void
|
||||
execute_cse_reciprocals (void)
|
||||
{
|
||||
basic_block bb;
|
||||
tree arg;
|
||||
|
||||
if (flag_trapping_math)
|
||||
calculate_dominance_info (CDI_POST_DOMINATORS);
|
||||
|
||||
if (single_succ_p (ENTRY_BLOCK_PTR))
|
||||
for (arg = DECL_ARGUMENTS (cfun->decl); arg; arg = TREE_CHAIN (arg))
|
||||
if (default_def (arg))
|
||||
{
|
||||
block_stmt_iterator bsi;
|
||||
bsi = bsi_start (single_succ (ENTRY_BLOCK_PTR));
|
||||
execute_cse_reciprocals_1 (&bsi, default_def (arg), false);
|
||||
}
|
||||
|
||||
FOR_EACH_BB (bb)
|
||||
{
|
||||
block_stmt_iterator bsi;
|
||||
@ -149,7 +159,7 @@ execute_cse_reciprocals (void)
|
||||
if (TREE_CODE (stmt) == MODIFY_EXPR
|
||||
&& (def = SINGLE_SSA_TREE_OPERAND (stmt, SSA_OP_DEF)) != NULL
|
||||
&& FLOAT_TYPE_P (TREE_TYPE (def))
|
||||
&& is_gimple_reg (def))
|
||||
&& TREE_CODE (def) == SSA_NAME)
|
||||
execute_cse_reciprocals_1 (&bsi, def, false);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user