This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] support to flip modes in sh mode-switching
yes I agree. Furthermore the edge->aux comment says:
/* Auxiliary info specific to a pass. */.
This bothered me since the beginning, strictly speaking pre_edge_lcm is
not a pass so the caller should be able to use edge->aux.
Following this spec, pre_edge_lcm should not use it or should restore it
if it does. I don't know how much modification fixing that will involve,
but I don't think that just removing clear_aux_for_edges will be enough.
I'll give it a try and come back on the patch,
Steven Bosscher wrote:
On 12/19/06, Christian BRUEL <email@example.com> wrote:
- as you suggested, I removed the new edge field hook to hold the mode
value attached to each edge. But I had to add a little bit of extra code
to handle the mapping edge-modes and to create edge indexes. If in the
future a new auxiliary field is added into the edge structure for other
reasons we should remember to take the opportunity to update the
Actually, there's something I realized after sending my reply to you,
something that you may want to try...
Should pre_edge_lcm touch edge->aux at all? It seems to me it should
not assume that it can use it. Perhaps you can teach pre_edge_lcm to
keep its hands off edge->aux. As far as I can tell, the only thing in
pre_edge_lcm that touches edge->aux is the call to
clear_aux_for_edges. Maybe just removing that call is enough for you
to be able to use the existing edge->axu field.