On Tue, Nov 16, 2010 at 06:23:32AM -0800, Ian Lance Taylor wrote: > Joern Rennecke <amyl...@spamcop.net> writes: > > Before I go and make all these target changes & test them, is there at > > least agreemwent that this is the right approach, i.e replacing > > CUMULATIVE_ARG * > > with void *, and splitting up x_rtl into two variables. > > I don't know how we want to get there, but it seems to me that the place > we want to end up is with the target hooks defined to take an argument > of type struct cumulative_args * (or a better name if we can think of > one). We could consider moving the struct definition into CPU.c, and > having the target structure just report the size, or perhaps a combined > allocation/INIT_CUMULATIVE_ARGS function.
FWIW, this is basically what I proposed here: http://gcc.gnu.org/ml/gcc-patches/2010-06/msg02527.html I have gotten stalled on the INIT_* macros because the documentation and the practices of individual backends do not seem to agree and I have not taken the time to sit down and hammer out agreement. (I don't think attempting hookization of those macros would be appropriate for stage 3.) I was a little uncertain how to handle the allocation issues; I think specifying that the INIT_* hooks allocate them from a known place (heap, obstack, or alloc_pool) is probably sufficient. -Nathan