https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88933

--- Comment #10 from Jan Hubicka <hubicka at ucw dot cz> ---
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88933
> 
> Martin Jambor <jamborm at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |jamborm at gcc dot gnu.org
> 
> --- Comment #9 from Martin Jambor <jamborm at gcc dot gnu.org> ---
> (In reply to Martin Liška from comment #7)
> > Created attachment 45504 [details]
> > Untested patch candidate
> > 
> > @Martin: Can you please take a look at the patch?
> 
> I am afraid rebuilding call-graph edges would mean forgetting all
> decisions to inline callees, because those are stored in
> e->inline_failed, would it not?
> 
> So it seems we have to somehow update the counts (or teach the
> validator to ignore these mismatches during IPA funtion transformation
> and pass manager to rebuild them after all transformations).

Yep, while producing the clones it is up to tree clonning to keep cgraph
up to date because edges can not be removed until inline decisions and
other transformations are applied.  The cfg cleanup there is mostly to
prevent dead basic blocks which would later kill dominance calculation
needed for SSA update.
This is done by delete_unreachable_blocks_update_callgraph is there.
Who calls merge_blocks?
I am currently travelling but I can try to take a look tonight or
tomorrow.

Honza
> 
> -- 
> You are receiving this mail because:
> You are on the CC list for the bug.

Reply via email to