This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix one of problems in profile updating code


> Jan Hubicka <jh@suse.cz> wrote:
> 
> >>>> with one of updates you killed code computing counts of duplicated
> block
> >>>> in thread updating code.  Please try to mind profile when modifying the
> >>>> code further as it is getting bit dificult to figure out what jump
> >>>> threading does and how to fix it and the code broke several times in
> the
> >>>> past.  This bug was responsible for quite large regression of art
> >>>> benchmark and there still seems to be other problem described in
> >>>> PR22401.
> >>>
> >>> Jeff, Honza --
> >>>
> >>> Is there something that can be done here to make it harder for people to
> >>> make mistakes with profiling?  This is an important feature, but one
> >>> that not everyone uses.  Like, is it possible to create a test case for
> >
> > Well, almost everyone uses the guessed profile at -O2.  Missupdating it
> > can cause similar problems as missupdating the real profile...
> 
> 
> I think these problems are going to exist forever until you either add a
> verify pass which makes the compiler ICE (in a default bootstrap & regtest)

Sadly there is not way to verify the profile becuase of the roudoff
error and similar issues (as I described in the previous mail) and this
is what makes this nasty...

> when the profile information is screwed, or you add a specific testsuite
> (executed by default in make check) which can check for problems by
> inspecting the compiler logs.

I've added few already in tree-prof/gcc.dg testsuite.  I guess I will
have to grep and add testcases at least for places we already update
profile correctly...

Honza
> 
> Otherwise, people are simply not going to notice the problem.
> -- 
> Giovanni Bajo
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]