Commit ec6c615d by Richard Kenner

(main): Add -ax option.

From-SVN: r10848
parent 47288231
...@@ -2714,13 +2714,16 @@ rest_of_compilation (decl) ...@@ -2714,13 +2714,16 @@ rest_of_compilation (decl)
compile it by itself, defer decision till end of compilation. compile it by itself, defer decision till end of compilation.
finish_compilation will call rest_of_compilation again finish_compilation will call rest_of_compilation again
for those functions that need to be output. Also defer those for those functions that need to be output. Also defer those
functions that we are supposed to defer. */ functions that we are supposed to defer. We cannot defer
functions containing nested functions since the nested function
if (DECL_DEFER_OUTPUT (decl) data is in our non-saved obstack. */
|| ((specd || DECL_INLINE (decl))
&& ((! TREE_PUBLIC (decl) && ! TREE_ADDRESSABLE (decl) if (! current_function_contains_functions
&& ! flag_keep_inline_functions) && (DECL_DEFER_OUTPUT (decl)
|| DECL_EXTERNAL (decl)))) || ((specd || DECL_INLINE (decl))
&& ((! TREE_PUBLIC (decl) && ! TREE_ADDRESSABLE (decl)
&& ! flag_keep_inline_functions)
|| DECL_EXTERNAL (decl)))))
{ {
DECL_DEFER_OUTPUT (decl) = 1; DECL_DEFER_OUTPUT (decl) = 1;
...@@ -3667,7 +3670,16 @@ main (argc, argv, envp) ...@@ -3667,7 +3670,16 @@ main (argc, argv, envp)
#if !defined (BLOCK_PROFILER) || !defined (FUNCTION_BLOCK_PROFILER) #if !defined (BLOCK_PROFILER) || !defined (FUNCTION_BLOCK_PROFILER)
warning ("`-a' option (basic block profile) not supported"); warning ("`-a' option (basic block profile) not supported");
#else #else
profile_block_flag = 1; profile_block_flag = (profile_block_flag < 2) ? 1 : 3;
#endif
}
else if (!strcmp (str, "ax"))
{
#if !defined (FUNCTION_BLOCK_PROFILER_EXIT) || !defined (BLOCK_PROFILER) || !defined (FUNCTION_BLOCK_PROFILER)
warning ("`-ax' option (jump profiling) not supported");
#else
profile_block_flag = (!profile_block_flag
|| profile_block_flag == 2) ? 2 : 3;
#endif #endif
} }
else if (str[0] == 'g') else if (str[0] == 'g')
...@@ -3861,6 +3873,12 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE! ...@@ -3861,6 +3873,12 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
OVERRIDE_OPTIONS; OVERRIDE_OPTIONS;
#endif #endif
if (profile_block_flag == 3)
{
warning ("`-ax' and `-a' are conflicting options. `-a' ignored.");
profile_block_flag = 2;
}
/* Unrolling all loops implies that standard loop unrolling must also /* Unrolling all loops implies that standard loop unrolling must also
be done. */ be done. */
if (flag_unroll_all_loops) if (flag_unroll_all_loops)
......
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