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