Reload patch v4

Jeffrey A Law law@cygnus.com
Wed Sep 9 23:53:00 GMT 1998


  In message < Pine.GSO.4.02A.9809091424420.6366-100000@matula.informatik.rwth-aachen.de >you write:
  > Here's one large patch that does the breakup, but nothing else.  If I
Thanks.  I'm not sure why I didn't suggest this myself since it is the
right thing to do to make the reload changes as a whole easier to read
and understand.

  > made no silly mistake, this patch neither adds nor changes functionality,
  > but makes the code somewhat easier to read.  It will also make the next
  > "real" reload patch somewhat smaller and more readable, as well as making
  > the ChangeLog entry a bit more meaningful.
I didn't see anything obvious.  I spot checked a couple of things that
looked odd during a quick scan.


  > If you think it's a good idea, I'd be happy to go through some other files
  > in gcc as well and break up overly large functions.  I think it's badly
  > needed.
It is a good idea, and David Miller has been suggested that he'd be
willing to tackle jump.c :-)

However, I'd like to see us concentrate on reaching closure on the
reload patches first.  My impression after reviewing them the other
day is that they're actually very close to being ready for integration.


  > Another possibility to clean up the code would be to collect
  > data that is scattered over many variables into structures.
Yup.  We've started doing some of that too.  See global_rtl and the
consolidation of various "reg" things into reg_n_info.  This is
something we want to continue doing.

  > 	* reload1.c (reload): Break out several subroutines and make some
  > 	variables global.
  > 	(calculate_needs_all_insns): New function, broken out of reload.
  > 	(calculate_needs): Likewise.
  > 	(find_reload_regs): Likewise.
  > 	(find_group): Likewise.
  > 	(find_tworeg_group): Likewise.
  > 	(something_needs_reloads): New global variable, formerly in reload.
  > 	(something_needs_elimination): Likewise.
  > 	(caller_save_spill_class): Likewise.
  > 	(caller_save_group_size): Likewise.
  > 	(max_needs): Likewise.
  > 	(group_size): Likewise.
  > 	(max_groups): Likewise.
  > 	(max_nongroups): Likewise.
  > 	(group_mode): Likewise.
  > 	(max_needs_insn): Likewise.
  > 	(max_groups_insn): Likewise.
  > 	(max_nongroups_insn): Likewise.
  > 	(failure): Likewise.
I added a short comment for find_tworeg_group and installed your patch.

Thanks!
jeff



More information about the Gcc-patches mailing list