On Tue, Jun 16, 2009 at 3:49 PM, Bingfeng Mei<b...@broadcom.com> wrote:
> Thanks, I didn't notice both functions have different arguments after 
> transformation.
> However, gprof produces T.251 in its statistics, completely unknown
> to user. Could GCC use more informative name here, e.g., 
> saveInputFileMetaInfo.251?

Probably we should set the clones abstract origin appropriately
and gprof should use debug information to show that instead ...

Richard.

> 50.01      0.01     0.01       24     0.42     0.42  BZ2_hbMakeCodeLengths
>  50.01      0.02     0.01        1    10.00    10.00  mainSort
>  0.00      0.02     0.00       58     0.00     0.34  BZ2_bzCompress
>  0.00      0.02     0.00       58     0.00     0.34  handle_compress
>  0.00      0.02     0.00       43     0.00     0.34  BZ2_bzWrite
>  0.00      0.02     0.00        6     0.00     0.00  BZ2_hbAssignCodes
>  0.00      0.02     0.00        4     0.00     0.00  default_bzalloc
>  0.00      0.02     0.00        4     0.00     0.00  default_bzfree
>  0.00      0.02     0.00        2     0.00     0.00  addFlagsFromEnvVar
>  0.00      0.02     0.00        2     0.00     0.00  myMalloc
>  0.00      0.02     0.00        1     0.00    10.00  BZ2_blockSort
>  0.00      0.02     0.00        1     0.00     0.00  BZ2_bzCompressInit
>  0.00      0.02     0.00        1     0.00     5.17  BZ2_bzWriteClose64
>  0.00      0.02     0.00        1     0.00     0.00  BZ2_bzWriteOpen
>  0.00      0.02     0.00        1     0.00    20.00  BZ2_compressBlock
>  0.00      0.02     0.00        1     0.00     0.00  T.251
>  0.00      0.02     0.00        1     0.00    20.00  compress
>  0.00      0.02     0.00        1     0.00    20.00  compressStream
>  0.00      0.02     0.00        1     0.00     0.00  snocString
>
> Bingfeng
>
>> -----Original Message-----
>> From: Richard Guenther [mailto:richard.guent...@gmail.com]
>> Sent: 16 June 2009 14:02
>> To: Bingfeng Mei
>> Cc: gcc@gcc.gnu.org
>> Subject: Re: Questionable function renaming
>>
>> On Tue, Jun 16, 2009 at 3:01 PM, Bingfeng
>> Mei<b...@broadcom.com> wrote:
>> > Is it possible to restore the original name if the copy
>> propagation is not profitable and doesn't go ahead?
>>
>> The calling convention is changed, so I don't see how this is
>> easily possible.
>>
>> Richard.
>>
>> >> -----Original Message-----
>> >> From: Richard Guenther [mailto:richard.guent...@gmail.com]
>> >> Sent: 16 June 2009 13:56
>> >> To: Bingfeng Mei
>> >> Cc: gcc@gcc.gnu.org
>> >> Subject: Re: Questionable function renaming
>> >>
>> >> On Tue, Jun 16, 2009 at 2:23 PM, Bingfeng
>> >> Mei<b...@broadcom.com> wrote:
>> >> > Hello,
>> >> >
>> >> > I came across a function renaming issue in GCC 4.4.
>> >> >
>> >> > ~/work/install-x86/bin/gcc -Wall -Winline -O3 -g
>> >> -D_FILE_OFFSET_BITS=64  -save-temps -c bzip2.c -fdump-tree-all
>> >> >
>> >> >
>> >> > Function saveInputFileMetaInfo is renamed to T.251 after
>> >> ipa passes, which are not dumped into intermediate files. So
>> >> compare bzip2.c.038t.release_ssa and bzip2.c.049t.copyrename2 file,
>> >> >
>> >> > ;; Function saveInputFileMetaInfo (saveInputFileMetaInfo)
>> >> >
>> >> > Released 3 names, 50.00%
>> >> > saveInputFileMetaInfo (Char * srcName)
>> >> > {
>> >> >  IntNative retVal;
>> >> >
>> >> > <bb 2>:
>> >> >  retVal_4 = __xstat (1, srcName_1(D), &fileMetaInfo);
>> >> >  if (retVal_4 != 0)
>> >> >    goto <bb 3>;
>> >> >  else
>> >> >    goto <bb 4>;
>> >> >
>> >> > <bb 3>:
>> >> >  ioError ();
>> >> >
>> >> > <bb 4>:
>> >> >  return;
>> >> >
>> >> > }
>> >> >
>> >> > becomes
>> >> >
>> >> > ;; Function T.251 (T.251)
>> >> >
>> >> > T.251 ()
>> >> > {
>> >> >  IntNative retVal;
>> >> >
>> >> > <bb 2>:
>> >> >  retVal_1 = __xstat (1, &inName, &fileMetaInfo);
>> >> >  if (retVal_1 != 0)
>> >> >    goto <bb 3>;
>> >> >  else
>> >> >    goto <bb 4>;
>> >> >
>> >> > <bb 3>:
>> >> >  ioError ();
>> >> >
>> >> > <bb 4>:
>> >> >  return;
>> >> >
>> >> > }
>> >> >
>> >> > The renamed function stays afterwards. My understanding is
>> >> that ipa-cp pass did copy-propagation of the original
>> >> function but still somehow create a clone as suggested
>> >> bzip2.c.203t.statistics.
>> >> >
>> >> > bzip2.c.203t.statistics:35 copyprop "Copies propagated"
>> >> "saveInputFileMetaInfo" 1
>> >> > bzip2.c.203t.statistics:35 copyprop "Statements deleted"
>> >> "saveInputFileMetaInfo" 3
>> >> >
>> >> > This seems unnecessary and causes trouble in our
>> >> profiling/debugging tools. I could diable this by using
>> >> -fno-ipa-cp. But is there any better way? Thanks in advance
>> >>
>> >> It constant propagated &inName here (probably not very profitable
>> >> as no further optimization is performed on the body) and removed
>> >> the then unused parameter.
>> >>
>> >> Any better way to do what?
>> >>
>> >> Richard.
>> >>
>> >> > Cheers,
>> >> > Bingfeng Mei
>> >> >
>> >> > Boradcom UK
>> >>
>> >>
>> >
>>
>>
>

Reply via email to