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