This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h
On Mon, Jul 22, 2019 at 03:56:26PM -0500, Segher Boessenkool wrote:
> That still needs an explanation: why is this a good thing, why do you
> want that change? Sometimes that is obvious of course, but here it is
> not. It would be a lot more obvious if there was more context.
The trouble is to get that much context really relies on about several
additional patches to get to the functions in particular that should be split
As I implement stuff, I find myself neeting/wanting to access the stuff in
reg_addr in other files (predicates.md, and the new file rs6000-prefix.c).
In patch #9 in particular, I added yet another data stucture that was parallel
to the information in reg_addr (originally called rs6000_offset_format, but
based on your comments is now rs6000_insn_form for instruction format).
Then I needed functions that given were a hard register and the move insn and
it determined what instruction format (D/DS/DQ) was used so that we can decide
whether the instruction is traditional or prefixed.
I originally wrote with a lot of code to do that mapping, but once I added the
DS_OFFSET mask and about 10 lines of code to setup DS_OFFSET, it became much simpler.
But for now, I think I will just not worry about making rs6000.c smaller, and
instead do the main work there rather than trying to split it out. I was
hoping the split would be quick, and it doesn't seem to be. Splitting it out
is somewhat of a side issue to me, and it looks like it is impeding getting the
rest of the patches submitted.
But it would be nice to have that information available to the other .c files
as well as the .md files.
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: firstname.lastname@example.org, phone: +1 (978) 899-4797