Go to file
Bernd Schmidt 7609e7209a reload.h (compute_use_by_pseudos): Declare.
* reload.h (compute_use_by_pseudos): Declare.
	* reload1.c (spilled_pseudos, insns_need_reload): New variables.
	(something_needs_reloads): Delete variable.
	(finish_spills): New function.
	(compute_use_by_pseudos): New function.
	(delete_caller_save_insns): Lose argument FIRST.  All callers changed.
	Use the reload_insn_chain instead of walking the rtl directly.
	(reload): Allocate and free spilled_pseudos.
	Ensure that all calls of spill_hard_reg are followed by a call to
	finish_spills.
	Use the insns_need_reload list instead of something_needs_reloads
	to find out if reload_as_needed must be called.
	Clear unused_insn_chains at the end.
	(calculate_needs_all_insns): Lose FIRST parameter.  All callers
	changed.
	Delete code to keep track of current basic block.
	Walk reload_insn_chain instead of the rtl structure.  Build the
	insns_need_reload chain.
	Remember which insns need reloading/elimination by setting the
	appropriate fields in struct insn_chain, not by putting modes on the
	insn.
	(calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
	arg INSN.  All callers changed.
	Delete declaration of struct needs.
	Don't set something_needs_reloads.
	Record insn needs in the CHAIN argument.
	(spill_hard_reg): Record the affected pseudos in spilled_pseudos.
	(reload_as_needed): Lose FIRST arg.  All callers changed.
	Walk the reload_insn_chain instead of the rtx structure.
	Delete code to keep track of current basic block.
	Rename one of the NEXT variables to OLD_NEXT.
	(allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
	callers changed.
	(choose_reload_regs): Likewise.
	(emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
	callers changed.
	* caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
	instead of (MOVE_MAX / UNITS_PER_WORD) computation.
	(hard_regs_live, hard_regs_need_restore): Delete variables.
	(n_regs_saved): Now static.
	(referenced_regs, this_insn_sets): New variables.
	(setup_save_areas): Restructure the code a bit.
	(restore_referenced_regs): Delete function.
	(mark_referenced_regs): New function, similar to the old
	restore_referenced_regs, but mark registers in referenced_regs.
	(clear_reg_live): Delete function.
	(mark_set_regs): Renamed from set_reg_live.  All callers changed.
	Only mark registers in this_insn_sets.
	(save_call_clobbered_regs): Rework this function to walk the
	reload_insn_chain instead of using the list of instructions directly.
	Delete code to keep track of register lives, compute live regs on the
	fly from information in the chain.
	Instead of calling restore_referenced_regs, use mark_referenced_regs,
	then walk the set it computes and call insert_restore as appropriate.
	(insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
	callers changed.
	Restructure the code a bit.  Test hard_regs_saved instead of
	hard_regs_need_restore.
	(insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
	args.  All callers changed.
	Restructure the code a bit.  Use TO_SAVE to determine which regs to
	save instead of more complicated test.
	(insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
	callers changed.
	Create a new insn_chain structure for the new insn and place it
	into the chain.
	* rtl.texi: Update documentation to reflect that reload no longer
	puts modes on the insns.

From-SVN: r23074
1998-10-13 19:14:42 -06:00
config mh-aix43 (NM_FOR_TARGET): Add -X32_64 as well. 1998-08-31 10:53:38 -04:00
contrib egcs_update: Remove gcc/java/parse.c from list of files to touch. 1998-10-13 16:29:48 -06:00
etc
gcc reload.h (compute_use_by_pseudos): Declare. 1998-10-13 19:14:42 -06:00
include backport: libiberty.h (xexit): Change decl to use modern GCC attribute to indicate exit does not return. 1998-10-08 17:04:13 -06:00
INSTALL
libchill Regenerate with autoconf-2.12.1 1998-10-01 14:17:34 +00:00
libf2c Makefile.in (.SUFFIXES): Don't use any. 1998-10-13 08:51:49 +00:00
libiberty mkstemp.c: Check HAVE_SYS_TIME_H before including sys/time.h 1998-10-13 17:08:18 -06:00
libio config.shared (depend.new): delete libc-lock.h from dependencies, and fix _G_config.h -> $(_G_CONFIG_H) rule 1998-10-12 09:28:02 +00:00
libobjc encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF. 1998-10-08 05:23:35 -06:00
libstdc++ * stl_config.h (__SGI_STL_USE_AUTO_PTR_CONVERSIONS): Define. 1998-10-11 17:55:56 +00:00
texinfo
.cvsignore
ChangeLog * configure.in: Fix merge typo. 1998-10-13 15:59:52 -06:00
config-ml.in config-ml.in: Default to being verbose, to match Feb 18 change to configure. 1998-10-08 17:34:45 -06:00
config.guess config.guess: Merge with FSF. 1998-10-08 18:15:05 -06:00
config.if
config.sub 1998-10-13 02:39:01 -06:00
configure configure: Add pattern to replace "build_tooldir"'s definition in the generated Makefile... 1998-10-13 10:48:25 +00:00
configure.in * configure.in: Fix merge typo. 1998-10-13 15:59:52 -06:00
COPYING
COPYING.LIB
install-sh Final changes from devo<->egcs merge. 1998-10-12 04:44:57 -06:00
ltconfig Various libtool updates from devo, including update to libtool 1.2b 1998-10-08 17:32:31 -06:00
ltmain.sh Various libtool updates from devo, including update to libtool 1.2b 1998-10-08 17:32:31 -06:00
MAINTAINERS Add Michael Hayes as c4x maintainer 1998-10-11 21:38:14 +00:00
Makefile.in * Makefile.in (all-snvavigator): Remove all-flexlm dependency. 1998-10-13 02:19:08 -06:00
missing missing: Update to version from automake 1.3. 1998-10-08 17:28:38 -06:00
mkinstalldirs
move-if-change
README README: Remove installation instructions and refer to the INSTALL directory instead. 1998-10-02 09:22:08 +00:00
symlink-tree
ylwrap ylwrap: Change absolute path checks to check for DOS style path names. 1998-10-08 17:26:54 -06:00

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.


Check the INSTALL directory for detailed configuration and installation
instructions.


Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.