This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc/gcc ChangeLog.rewrite config/mips/mips-pro ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	mips-3_4-rewrite-branch
Changes by:	rsandifo@gcc.gnu.org	2003-02-11 10:11:47

Modified files:
	gcc            : ChangeLog.rewrite 
	gcc/config/mips: mips-protos.h mips.h mips.md mips.c 

Log message:
	* config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
	* config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
	(ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
	(EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
	* config/mips/mips.md (UNSPEC_HIGH): New constant.
	(UNSPEC_RELOC_GPREL16): Rename to...
	(RELOC_GPREL16): ...this.
	(RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
	(RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
	(macro_calls): New attribute.
	(length): Use it to set the default length of calls.  Don't allow
	calls to have delay slots if macro_calls is "yes".
	(luisi, luidi): New patterns.
	(lowsi, lowdi): Use '%R' to print the relocation.
	(lowdi_extend): Remove.
	(loadgp): Remove mode from operand 0.  Use '%0' instead of '%a0'.
	(call_internal): Merge alternatives.  Always use "jal".
	(call_value_internal, call_value_multiple_internal): Likewise.
	(reloc_gprel16): Remove.
	* config/mips/mips.c (mips_got_alias_set): New variable.
	(mips_classify_constant): Handle the new relocation constants.
	(mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
	(mips_symbolic_address_p): Return false if generating explicit relocs.
	Otherwise allow local PIC symbols to have an offset.
	(mips_splittable_symbol_p): New function.
	(mips_classify_address): Use it to check whether a LO_SUM is valid.
	(mips_const_insns): Always accept HIGH.
	(call_insn_operand): Don't accept global symbols if using explicit
	relocs.
	(move_operand): Don't accept HIGH when generating PIC.
	(mips_reloc, mips_lui_reloc): New functions.
	(mips_force_temporary): Remove MODE argument.  Expect VALUE to
	be a valid right-hand-side for a SET pattern.
	(mips_load_got, mips_load_got16, mips_load_got32): New functions.
	(mips_emit_high): New function.
	(mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
	case.  Use mips_splittable_symbol_p to check whether a LO_SUM
	address should be used.  Use mips_emit_high to generate the
	high part of such an address.  Adjust the global symbol + offset
	case to match the change to mips_force_temprorary.
	(mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
	If generating explicit-reloc PIC, load the address of global
	symbols from the GOT.  Use mips_emit_high to emit the high part
	of an address.
	(mips_simplify_dwarf_addr): New function.
	(mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
	(mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
	(mips_expand_call): Load the addresses of global functions using
	%call* relocs if generating explicit-reloc PIC.  Don't generate
	an exception_receiver pattern.
	(override_options): Initialize mips_got_alias_set.
	(print_relocation): Remove in favour of...
	(mips_reloc_string): ...this new function.
	(print_operand): Handle '%R'.  Use mips_reloc_string.
	(print_operand_address): Use print_operand to print the symbolic
	part of a LO_SUM address.
	(mips_output_function_prologue): Use .cprestore, reverting last patch.
	(mips_encode_section_info): Factor out DECL_RTL accesses.  Reverse
	sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
	for local symbols.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.rewrite.diff?cvsroot=gcc&only_with_tag=mips-3_4-rewrite-branch&r1=1.1.2.6&r2=1.1.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips-protos.h.diff?cvsroot=gcc&only_with_tag=mips-3_4-rewrite-branch&r1=1.28.8.6&r2=1.28.8.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.h.diff?cvsroot=gcc&only_with_tag=mips-3_4-rewrite-branch&r1=1.216.2.14&r2=1.216.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.md.diff?cvsroot=gcc&only_with_tag=mips-3_4-rewrite-branch&r1=1.141.6.17&r2=1.141.6.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.c.diff?cvsroot=gcc&only_with_tag=mips-3_4-rewrite-branch&r1=1.226.2.15&r2=1.226.2.16


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]