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] 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




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