gcc/gcc ChangeLog.csl-arm configure configure. ...

drow@gcc.gnu.org drow@gcc.gnu.org
Mon Mar 28 19:04:00 GMT 2005


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	csl-arm-branch
Changes by:	drow@gcc.gnu.org	2005-03-28 19:04:38

Modified files:
	gcc            : ChangeLog.csl-arm configure configure.ac 
	                 haifa-sched.c jump.c postreload.c 
	gcc/config/arm : arm-protos.h arm.c arm.h arm.md 

Log message:
	* configure.ac: Add test for ARM TLS support.
	* configure: Regenerated.
	* haifa-sched.c (schedule_block): Only count INSNs.
	* jump.c (duplicate_loop_exit_test): Check targetm.cannot_copy_insn_p.
	* postreload.c (reload_cse_simplify_operands): Handle deleted labels.
	* config/arm/arm-protos.h (legitimize_tls_address)
	(thumb_legitimize_address, tls_symbolic_operand, arm_tls_operand_p)
	(tls_mentioned_p, arm_output_addr_const_extra): New prototypes.
	(thumb_legitimize_pic_address): Delete.
	* config/arm/arm.c: Include "gt-arm.h".
	(arm_cannot_copy_insn_p, load_tls_operand)
	(pcrel_constant_p, get_tls_get_addr, arm_load_tp)
	(legitimize_tls_address, thumb_legitimize_address)
	(arm_tls_operand_p, tls_symbolic_operand, move_input_operand)
	(tls_mentioned_p, arm_init_tls_builtins)
	(arm_emit_tls_decoration, arm_output_addr_const_extra): New functions.
	(TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM): Define.
	(target_thread_switch, target_thread_pointer): New.
	(arm_pic_register): Change to unsigned.
	(arm_override_options): Handle -mtp=.
	(legitimize_pic_address): Ignore UNSPECs.
	(arm_legitimate_address_p): Handle TLS and pcrel symbols.
	(thumb_legitimate_address_p): Handle TLS and pcrel symbols.
	(arm_legitimize_address): Handle TLS.
	(arm_regno_class): Handle RETURN_REG.
	(arm_init_builtins): Call arm_init_tls_builtins.
	(arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
	(arm_encode_section_info): Call default_encode_section_info.
	* config/arm/arm.h (target_thread_switch): Add declaration.
	(TARGET_HARD_TP, TARGET_SOFT_TP, TARGET_LINUX_TP): Define.
	(TARGET_OPTIONS): Add -mtp=.
	(enum arm_tp_type): New.
	(target_thread_pointer): Add declaration.
	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS)
	(REG_CLASS_FROM_LETTER): Add RETURN_REG.
	(LEGITIMATE_CONSTANT_P): Handle TLS.
	(THUMB_LEGITIMIZE_ADDRESS): Call thumb_legitimize_address.
	(arm_pic_register): Change type to unsigned.
	(LEGITIMATE_PIC_OPERAND_P): Handle TLS.
	(OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
	(PREDICATE_CODES): Add move_input_operand.
	(enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
	* config/arm/arm.md: Add UNSPEC_TLS.
	(movsi): Handle TLS.
	(arm_movsi_insn, thumb_movsi_insn): Use move_input_operand.
	(pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
	non-PIC.
	(tls_load_dot_plus_four, tls_load_dot_plus_eight): New insns
	and new peepholes to create them.
	(load_tp_hard, load_tp_soft): New insns.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.csl-arm.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.1.2.96&r2=1.1.2.97
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/configure.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.767.2.11&r2=1.767.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/configure.ac.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=2.19.2.10&r2=2.19.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/haifa-sched.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.232.4.3&r2=1.232.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/jump.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.236.6.1&r2=1.236.6.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/postreload.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=2.5.6.4&r2=2.5.6.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm-protos.h.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.60.4.18&r2=1.60.4.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.303.2.73&r2=1.303.2.74
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm.h.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.210.2.56&r2=1.210.2.57
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm.md.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.145.2.30&r2=1.145.2.31



More information about the Gcc-cvs mailing list