Always set DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT correctly
When profiling is disabled force DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT for each function to one. This information is then preserved through LTO. With this patch for LTO builds -pg needs to be set on both the LTO final link and the original source build, to allow -pg (or -pg -fentry) to be active for that source file. This allows to build large projects mostly with -pg, except for a few files, and still use LTO. gcc/: 2014-09-15 Andi Kleen <ak@linux.intel.com> * function.c (allocate_struct_function): Force DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT to one when profiling is disabled. From-SVN: r215284
This commit is contained in:
parent
e93050426d
commit
0b37ba8a60
|
@ -1,3 +1,9 @@
|
|||
2014-09-15 Andi Kleen <ak@linux.intel.com>
|
||||
|
||||
* function.c (allocate_struct_function): Force
|
||||
DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT to one when
|
||||
profiling is disabled.
|
||||
|
||||
2014-09-15 Trevor Saunders <tsaunders@mozilla.com>
|
||||
|
||||
* cfgrtl.c, combine.c, config/arc/arc.c, config/mcore/mcore.c,
|
||||
|
|
|
@ -4555,6 +4555,9 @@ allocate_struct_function (tree fndecl, bool abstract_p)
|
|||
but is this worth the hassle? */
|
||||
cfun->can_throw_non_call_exceptions = flag_non_call_exceptions;
|
||||
cfun->can_delete_dead_exceptions = flag_delete_dead_exceptions;
|
||||
|
||||
if (!profile_flag && !flag_instrument_function_entry_exit)
|
||||
DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (fndecl) = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue