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