diff mbox

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

Message ID 52D5A121.3070506@linux.vnet.ibm.com
State New
Headers show

Commit Message

Pat Haugen Jan. 14, 2014, 8:42 p.m. UTC
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  <pthaugen@us.ibm.com>

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

Comments

David Edelsohn Jan. 14, 2014, 9:58 p.m. UTC | #1
On Tue, Jan 14, 2014 at 3:42 PM, Pat Haugen <pthaugen@linux.vnet.ibm.com> wrote:
> 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  <pthaugen@us.ibm.com>
>
>         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
>         current procedure should be profiled.

okay.

Thanks, David
diff mbox

Patch

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);