|
| 1 | +2009-05-18 Maxim Kuvyrkov < [email protected]> |
| 2 | + |
| 3 | + M68K TLS support. |
| 4 | + * configure.ac (m68k-*-*): Check if binutils support TLS. |
| 5 | + * configure: Regenerate. |
| 6 | + * config/m68k/predicates.md (symbolic_operand): Extend comment. |
| 7 | + * config/m68k/constraints.md (Cu): New constraint. |
| 8 | + * config/m68k/m68k.md (UNSPEC_GOTOFF): Remove. |
| 9 | + (UNSPEC_RELOC16, UNSPEC_RELOC32): New constants. |
| 10 | + (movsi): Handle TLS symbols. |
| 11 | + (addsi3_5200): Handle XTLS symbols, indent. |
| 12 | + * config/m68k/m68k-protos.h (m68k_legitimize_tls_address): Declare. |
| 13 | + (m68k_tls_reference_p): Declare. |
| 14 | + (m68k_legitimize_address): Declare. |
| 15 | + (m68k_unwrap_symbol): Declare. |
| 16 | + * config/m68k/m68k.opt (mxtls): New option. |
| 17 | + * config/m68k/m68k.c (ggc.h): Include. |
| 18 | + (m68k_output_dwarf_dtprel): Implement hook. |
| 19 | + (TARGET_HAVE_TLS, TARGET_ASM_OUTPUT_DWARF_DTPREL): Define. |
| 20 | + (m68k_expand_prologue): Load GOT pointer when function needs it. |
| 21 | + (m68k_illegitimate_symbolic_constant_p): Handle TLS symbols. |
| 22 | + (m68k_legitimate_constant_address_p): Same. |
| 23 | + (m68k_decompose_address): Handle TLS references. |
| 24 | + (m68k_get_gp): New static function. |
| 25 | + (enum m68k_reloc): New contants. |
| 26 | + (TLS_RELOC_P): New macro. |
| 27 | + (m68k_wrap_symbol): New static function. |
| 28 | + (m68k_unwrap_symbol): New function. |
| 29 | + (m68k_final_prescan_insn_1): New static function. |
| 30 | + (m68k_final_prescan_insn): New function. |
| 31 | + (m68k_move_to_reg, m68k_wrap_symbol_into_got_ref): New static |
| 32 | + functions. |
| 33 | + (legitimize_pic_address): Handle TLS references.. |
| 34 | + (m68k_tls_get_addr, m68k_get_tls_get_addr) |
| 35 | + (m68k_libcall_value_in_a0_p) |
| 36 | + (m68k_call_tls_get_addr, m68k_read_tp, m68k_get_m68k_read_tp) |
| 37 | + (m68k_call_m68k_read_tp): Helper variables and functions for ... |
| 38 | + (m68k_legitimize_tls_address): Handle TLS references. |
| 39 | + (m68k_tls_symbol_p, m68k_tls_reference_p_1, m68k_tls_reference_p): |
| 40 | + New functions. |
| 41 | + (m68k_legitimize_address): Handle TLS symbols. |
| 42 | + (m68k_get_reloc_decoration): New static function. |
| 43 | + (m68k_output_addr_const_extra): Handle UNSPEC_RELOC16 and |
| 44 | + UNSPEC_RELOC32. |
| 45 | + (m68k_output_dwarf_dtprel): Implement hook. |
| 46 | + (print_operand_address): Handle UNSPEC_RELOC16 adn UNSPEC_RELOC32. |
| 47 | + (m68k_libcall_value): Return result in A0 instead of D0 when asked by |
| 48 | + m68k_call_* routines. |
| 49 | + (sched_attr_op_type): Handle TLS symbols. |
| 50 | + (gt-m68k.h): Include. |
| 51 | + * config/m68k/m68k.h (FINAL_PRESCAN_INSN): Define. |
| 52 | + (LEGITIMATE_PIC_OPERAND_P): Support TLS. |
| 53 | + |
1 | 54 | 2009-05-18 Martin Jambor < [email protected]>
|
2 | 55 |
|
3 | 56 | * ipa-prop.c (ipa_check_stmt_modifications): Removed.
|
|
0 commit comments