This patch fixes a problem where the attribute no_instrument_function was being ignored and profile code was emitted. Testcase gcc.target/powerpc/ppc64-abi-2.c exposed the issue.

Bootstrap/regtest with no new regressions, ok for trunk?

-Pat


2014-01-13  Pat Haugen  <pthau...@us.ibm.com>

* config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
        current procedure should be profiled.



Index: config/rs6000/rs6000.c
===================================================================
--- config/rs6000/rs6000.c    (revision 206602)
+++ config/rs6000/rs6000.c    (working copy)
@@ -23198,7 +23198,7 @@ rs6000_output_function_prologue (FILE *f
   /* Output -mprofile-kernel code.  This needs to be done here instead of
      in output_function_profile since it must go after the ELFv2 ABI
      local entry point.  */
-  if (TARGET_PROFILE_KERNEL)
+  if (TARGET_PROFILE_KERNEL && crtl->profile)
     {
       gcc_assert (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2);
       gcc_assert (!TARGET_32BIT);





Reply via email to