(main): Add -ax option.
From-SVN: r10848
This commit is contained in:
parent
47288231ca
commit
ec6c615d64
32
gcc/toplev.c
32
gcc/toplev.c
@ -2714,13 +2714,16 @@ rest_of_compilation (decl)
|
||||
compile it by itself, defer decision till end of compilation.
|
||||
finish_compilation will call rest_of_compilation again
|
||||
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
|
||||
data is in our non-saved obstack. */
|
||||
|
||||
if (DECL_DEFER_OUTPUT (decl)
|
||||
|| ((specd || DECL_INLINE (decl))
|
||||
&& ((! TREE_PUBLIC (decl) && ! TREE_ADDRESSABLE (decl)
|
||||
&& ! flag_keep_inline_functions)
|
||||
|| DECL_EXTERNAL (decl))))
|
||||
if (! current_function_contains_functions
|
||||
&& (DECL_DEFER_OUTPUT (decl)
|
||||
|| ((specd || DECL_INLINE (decl))
|
||||
&& ((! TREE_PUBLIC (decl) && ! TREE_ADDRESSABLE (decl)
|
||||
&& ! flag_keep_inline_functions)
|
||||
|| DECL_EXTERNAL (decl)))))
|
||||
{
|
||||
DECL_DEFER_OUTPUT (decl) = 1;
|
||||
|
||||
@ -3667,7 +3670,16 @@ main (argc, argv, envp)
|
||||
#if !defined (BLOCK_PROFILER) || !defined (FUNCTION_BLOCK_PROFILER)
|
||||
warning ("`-a' option (basic block profile) not supported");
|
||||
#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
|
||||
}
|
||||
else if (str[0] == 'g')
|
||||
@ -3861,6 +3873,12 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
|
||||
OVERRIDE_OPTIONS;
|
||||
#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
|
||||
be done. */
|
||||
if (flag_unroll_all_loops)
|
||||
|
Loading…
Reference in New Issue
Block a user