[PATCH, rs6000] Don't emit profile code for procedures marked no_instrument_function

Pat Haugen pthaugen@linux.vnet.ibm.com
Tue Jan 14 20:42:00 GMT 2014

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?


2014-01-13  Pat Haugen  <pthaugen@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 && crtl->profile)
        gcc_assert (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2);
        gcc_assert (!TARGET_32BIT);

More information about the Gcc-patches mailing list