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

Best Regards,

Christian

Steven Bosscher wrote:
On 12/19/06, Christian BRUEL <christian.bruel@st.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
mode-switching implementation.


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.

Gr.
Steven



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