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: [PATCH] Value profile based optimizations, part 1


> Hello,
> 
> > > +       safe_insert_insn_on_edge (sequence, e);
> > 
> > There will deifnitly be plaftorms not being able to save the flags
> > registers and so on.  Perhaps safe_insert_insn_on_edge should return
> > false in such case  and we should simply refuse to profile that value.
> > (this is probably saner behaviour than raw abort even when abort will
> > probably force us to add neccesary patterns).  But this can be done later.
> 
> it is already done this way.
> 
> > > +   if (flag_profile_values)
> > > +     {
> > > +       life_analysis (get_insns (), NULL, PROP_DEATH_NOTES);
> > > +       find_values_to_profile (&n_values, &values);
> > > +       allocate_reg_info (max_reg_num (), FALSE, FALSE);
> > 
> > Please switch the current profiling code to safe insertion too once the
> > patch is approved. That would fix s390 misscompilation.
> 
> OK, here it will be more tricky. In the above case it did not matter
> when the profiling code was not inserted; here we will have to cancel
> profiling of whole functions.

I think ICEing with sane error message would suffice.
I don't think we want to support porofiling on targets where we can't
insert profling code safely.  Hopefully this will go away with treessa
so it is just temporary issue :)

Honza
> 
> Zdenek


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