Commit 70f3cc30 by Jan Hubicka Committed by Jan Hubicka

passes.c (rest_of_handle_cfg): Disable const/pure function detection when doing…

passes.c (rest_of_handle_cfg): Disable const/pure function detection when doing tree based profiling.

	* passes.c (rest_of_handle_cfg): Disable const/pure function
	detection when doing tree based profiling.

	* tree-inline.c (expand_call_inline): Fix incorrectly reversed
	conditional.

From-SVN: r88092
parent 20319d32
2004-09-25 Jan Hubicka <jh@suse.cz>
* passes.c (rest_of_handle_cfg): Disable const/pure function
detection when doing tree based profiling.
* tree-inline.c (expand_call_inline): Fix incorrectly reversed
conditional.
2004-09-25 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.h (struct mips_args): Clarify comments.
......
......@@ -880,8 +880,15 @@ rest_of_handle_cfg (void)
it as constant, otherwise -fbranch-probabilities will not read data back.
life_analysis rarely eliminates modification of external memory.
*/
if (optimize)
FIXME: now with tree based profiling we are in the trap described above
again. It seems to be easiest to disable the optimization for time
being before the problem is either solved by moving the transformation
to the IPA level (we need the CFG for this) or the very early optimization
passes are made to ignore the const/pure flags so code does not change. */
if (optimize
&& (!flag_tree_based_profiling
|| (!profile_arc_flag && !flag_branch_probabilities)))
{
/* Alias analysis depends on this information and mark_constant_function
depends on alias analysis. */
......
......@@ -1458,7 +1458,7 @@ expand_call_inline (tree *tp, int *walk_subtrees, void *data)
where previous inlining turned indirect call into direct call by
constant propagating arguments. In all other cases we hit a bug
(incorrect node sharing is most common reason for missing edges. */
gcc_assert (dest->needed || flag_unit_at_a_time);
gcc_assert (dest->needed || !flag_unit_at_a_time);
cgraph_create_edge (id->node, dest, t)->inline_failed
= N_("originally indirect function call not considered for inlining");
goto egress;
......
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