Go to file
Richard Sandiford f833ffd421 mips.h (GLOBAL_POINTER_REGNUM): New macro.
* config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
	(PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
	(STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
	n32/64 PIC.
	(MUST_SAVE_REGISTERS): Delete.
	* config/mips/mips.c (mips_frame_info): Remove extra_size field.
	(machine_function): Add global_pointer field.
	(mips_classify_constant): Check for (const $gp) using pointer equality
	with pic_offset_table_rtx.
	(mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
	(mips_restore_gp): Use current_function_outgoing_args_size.
	(print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
	GP_REG_FIRST + 28.  Handle relocation strings that have
	more than one '('.
	(mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
	(mips_global_pointer): New function.
	(mips_save_reg_p): New function, mostly split out from...
	(compute_frame_size): ...here.  Remove handling of extra_size.
	Reclaim args_size if no variables depend on it.  Don't treat gp
	as a special case: handle it in the main GPR loop.
	(mips_initial_elimination_offset): Fix comment.
	(save_restore_insns): Save every register in the GPR mask,
	removing distinction between mask and real_mask.
	(mips_output_function_prologue): Update .frame psuedo-op after
	the removal of extra_size.  Move the SVR4 PIC stack allocation
	and cprestore instructions to mips_expand_prologue.
	(mips_gp_insn): New function.
	(mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
	the chosen global pointer.  Handle SVR4 PIC stack allocation
	in the same way as other ABIs.  Adjust varargs code accordingly.
	Emit a cprestore insn after allocating the stack.  Use mips_gp_insn
	to emit the loadgp sequence.  Follow it with a loadgp_blockage
	if not using explicit relocs.
	(mips_output_function_epilogue): Reinstate the default gp register.
	(mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
	(mips16_optimize_gp): Likewise.
	* config/mips/mips.md (UNSPEC_LOADGP): Remove.
	(UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
	(UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
	(loadgp): Remove.
	(loadgp_blockage, cprestore): New instructions.
	(builtin_setjmp_setup): Implement using emit_move_insn.  Use
	pic_offset_table_rtx.
	(builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
	(builtin_longjmp): Use gen_raw_REG to force use of $28.

Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>

From-SVN: r67656
2003-06-09 07:19:14 +00:00
boehm-gc configure.in: define GC_DLL under mingw if --enable-shared 2003-04-28 20:54:37 +00:00
config * acinclude.m4: Accept i[3456789]86 for machine type. 2003-05-19 14:09:59 -04:00
contrib analyze_brprob, [...]: Change GNU CC to GCC. 2003-05-23 16:20:44 +00:00
fastjar fastjar.texi: Remove @ at start of file. 2003-03-30 17:56:33 +01:00
gcc mips.h (GLOBAL_POINTER_REGNUM): New macro. 2003-06-09 07:19:14 +00:00
include hex.c (_hex_value): Make this unsigned. 2003-05-15 19:02:13 +00:00
INSTALL
libf2c install.tex: Document profiledbootstrap. 2003-06-05 16:36:12 +00:00
libffi configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section should be read-only. 2003-05-17 00:09:22 +02:00
libiberty re PR bootstrap/10974 (Bootstrap failure) 2003-06-09 05:20:02 +00:00
libjava URLStreamHandler.java (sameFile): Fix port value comparison. 2003-06-08 22:07:48 +00:00
libobjc hash.c, [...]: Replace "GNU CC" with "GCC". 2003-05-23 20:25:39 +00:00
libstdc++-v3 Daily bump. 2003-06-09 00:16:08 +00:00
maintainer-scripts snapshot-index.html: Refer to .bz2 files instead of .gz files. 2003-05-28 15:14:37 +00:00
zlib libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. 2003-04-11 04:20:21 +00:00
.cvsignore configure, .cvsignore: Revert previous change... 2002-06-19 18:10:09 +00:00
ChangeLog install.tex: Document profiledbootstrap. 2003-06-05 16:36:12 +00:00
config-ml.in config-ml.in: Propagate INSTALL variables. 2003-05-06 20:58:44 +00:00
config.guess config.guess: Update to 2003-05-09 version. 2003-05-13 14:08:22 +02:00
config.if config.if: If gcc_version is already set, just use it. 2003-01-30 11:52:51 +00:00
config.sub config.guess: Update to 2003-05-09 version. 2003-05-13 14:08:22 +02:00
configure Makefile.tpl: Make 'recursive targets' using autogen rather than shell loop. 2003-06-03 20:42:13 +00:00
configure.in Makefile.tpl: Make 'recursive targets' using autogen rather than shell loop. 2003-06-03 20:42:13 +00:00
COPYING
COPYING.LIB
install-sh
libtool.m4 libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. 2003-04-11 04:20:21 +00:00
ltcf-c.sh Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
ltcf-cxx.sh libtool.m4 (LD): Append -melf* option to LD on IRIX with GNU ld. 2003-02-20 01:11:51 +00:00
ltcf-gcj.sh ltcf-cxx.sh: Replace $linker_flags with $compiler_flags wherever it is used as argument to $CC. 2003-02-19 23:50:23 +00:00
ltconfig libtool.m4 (LD): Append -melf* option to LD on IRIX with GNU ld. 2003-02-20 02:09:45 +00:00
ltmain.sh ltconfig (osf[345]): Append $major to soname_spec. 2002-11-20 15:59:07 +00:00
MAINTAINERS Add Dara Hazeghi and Andrew Pinski to Bugzilla-only maintainers. Remove user names from other bug database only maintainers since bugzilla no longer has user names. 2003-06-05 08:44:47 -06:00
Makefile.def Makefile.tpl: Make 'recursive targets' using autogen rather than shell loop. 2003-06-03 20:42:13 +00:00
Makefile.in install.tex: Document profiledbootstrap. 2003-06-05 16:36:12 +00:00
Makefile.tpl install.tex: Document profiledbootstrap. 2003-06-05 16:36:12 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.