This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Hot/cold partitioning fixes
On Thu, 2005-03-17 at 10:28 -0800, Zack Weinberg wrote:
> Richard Henderson <rth@redhat.com> writes:
>
> > On Tue, Mar 15, 2005 at 10:27:17AM -0800, Zack Weinberg wrote:
> >> This is an area I don't know enough about. I'm cc:ing Richard
> >> Henderson in hopes that he can assess what is and is not safe here.
> >
> > if (flag_var_tracking)
> > rest_of_handle_variable_tracking ();
> >
> > /* CFG is no longer maintained up-to-date. */
> > free_bb_for_insn ();
> >
> > if (targetm.machine_dependent_reorg != 0)
> > rest_of_handle_machine_reorg ();
>
> That would dispose of the possibility of using nothing but CFG flags,
> then. And it would suggest that creating marker notes at the point
> Caroline's patch does it, is not reliable (since the CFG may have been
> mangled before we get there). However, I don't trust reorg not to
> move marker notes around. Ideas?
I haven't followed this closely, but I might have some useful input.
machine_dependent_reorg is (unfortunately) basically allowed to do
anything. It can muck up notes, the CFG and just about anything
else. I regret the day I argued for adding it.
If you're referring to just "reorg" which handles delay slots, then
it will muck up the CFG beyond all recognition, but it won't generally
muck around with notes, other than REG_DEAD notes. Of course because
it mucks up the CFG, the BB notes aren't particularly useful.
Jeff