Commit 116cb604 by Steven Bosscher Committed by Steven Bosscher

re PR middle-end/17278 (8% C++ compile-time regression in comparison with 3.4.1…

re PR middle-end/17278 (8% C++ compile-time regression in comparison with 3.4.1 at -O1 optimization level)

	PR middle-end/17278
	* opts.c (decode_options): Move flag_thread_jumps from -O1 and
	higher to -O2 and higher.  Likewise for tree PRE.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
	and better.

From-SVN: r94325
parent 6737ba67
2005-01-27 Steven Bosscher <stevenb@suse.de>
PR middle-end/17278
* opts.c (decode_options): Move flag_thread_jumps from -O1 and
higher to -O2 and higher. Likewise for tree PRE.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
and better.
2005-01-27 Ian Lance Taylor <ian@c2micro.com> 2005-01-27 Ian Lance Taylor <ian@c2micro.com>
PR middle-end/19583 PR middle-end/19583
......
...@@ -481,7 +481,6 @@ decode_options (unsigned int argc, const char **argv) ...@@ -481,7 +481,6 @@ decode_options (unsigned int argc, const char **argv)
if (optimize >= 1) if (optimize >= 1)
{ {
flag_defer_pop = 1; flag_defer_pop = 1;
flag_thread_jumps = 1;
#ifdef DELAY_SLOTS #ifdef DELAY_SLOTS
flag_delayed_branch = 1; flag_delayed_branch = 1;
#endif #endif
...@@ -510,14 +509,12 @@ decode_options (unsigned int argc, const char **argv) ...@@ -510,14 +509,12 @@ decode_options (unsigned int argc, const char **argv)
the condition is satisfied in the first iteration and therefore the condition is satisfied in the first iteration and therefore
to eliminate it. Jump threading handles these cases now. */ to eliminate it. Jump threading handles these cases now. */
flag_tree_ch = 1; flag_tree_ch = 1;
/* PRE tends to generate bigger code. */
flag_tree_pre = 1;
} }
} }
if (optimize >= 2) if (optimize >= 2)
{ {
flag_thread_jumps = 1;
flag_crossjumping = 1; flag_crossjumping = 1;
flag_optimize_sibling_calls = 1; flag_optimize_sibling_calls = 1;
flag_cse_follow_jumps = 1; flag_cse_follow_jumps = 1;
...@@ -540,6 +537,12 @@ decode_options (unsigned int argc, const char **argv) ...@@ -540,6 +537,12 @@ decode_options (unsigned int argc, const char **argv)
flag_reorder_blocks = 1; flag_reorder_blocks = 1;
flag_reorder_functions = 1; flag_reorder_functions = 1;
flag_unit_at_a_time = 1; flag_unit_at_a_time = 1;
if (!optimize_size)
{
/* PRE tends to generate bigger code. */
flag_tree_pre = 1;
}
} }
if (optimize >= 3) if (optimize >= 3)
......
...@@ -479,7 +479,7 @@ tree_ssa_dominator_optimize (void) ...@@ -479,7 +479,7 @@ tree_ssa_dominator_optimize (void)
SSA_NAME_VALUE (name) = NULL; SSA_NAME_VALUE (name) = NULL;
} }
} }
while (cfg_altered); while (optimize > 1 && cfg_altered);
/* Debugging dumps. */ /* Debugging dumps. */
if (dump_file && (dump_flags & TDF_STATS)) if (dump_file && (dump_flags & TDF_STATS))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment