This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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