* configure.ac: Add MicroBlaze TLS support detection.
* configure: Regenerate.
* config/microblaze/microblaze-protos.h: (microblaze_cannot_force_const_mem,
microblaze_tls_referenced_p, symbol_mentioned_p,
label_mentioned_p): Add prototypes.
* config/microblaze/microblaze.c (microblaze_address_type): Add ADDRESS_TLS
and tls_reloc address types.
(microblaze_address_info): Add tls_reloc.
(TARGET_HAVE_TLS): Define.
(get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
symbol_mentioned_p, label_mentioned_p, tls_mentioned_p, load_tls_operand,
microblaze_call_tls_get_addr, microblaze_legitimize_tls_address): New functions.
(microblaze_classify_unspec): Handle UNSPEC_TLS.
(get_base_reg): Use microblaze_tls_symbol_p.
(microblaze_classify_address): Handle TLS.
(microblaze_legitimate_pic_operand): Use symbol_mentioned_p, label_mentioned_p
and microblaze_tls_referenced_p.
(microblaze_legitimize_address): Handle TLS.
(microblaze_address_insns): Handle ADDRESS_TLS.
(pic_address_needs_scratch): Handle TLS.
(print_operand_address): Handle TLS.
(microblaze_expand_prologue): Check TLS_NEEDS_GOT.
(microblaze_expand_move): Handle TLS.
(microblaze_legitimate_constant_p): Check microblaze_cannot_force_const_mem
and microblaze_tls_symbol_p.
(TARGET_CANNOT_FORCE_CONST_MEM): Define.
* config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
(PIC_OFFSET_TABLE_REGNUM): Set.
* config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
* config/microblaze/microblaze.md (UNSPEC_TLS): Define.
(addsi3, movsi_internal2, movdf_internal): Update constraints
* config/microblaze/predicates.md (arith_plus_operand): Define
(move_operand): Redefine as move_src_operand, check microblaze_tls_referenced_p.
Co-Authored-By: David Holsgrove <david.holsgrove@xilinx.com>
From-SVN: r196659
| Name |
Last commit
|
Last update |
|---|---|---|
| INSTALL | Loading commit data... | |
| boehm-gc | Loading commit data... | |
| config | Loading commit data... | |
| contrib | Loading commit data... | |
| fixincludes | Loading commit data... | |
| gcc | Loading commit data... | |
| gnattools | Loading commit data... | |
| include | Loading commit data... | |
| intl | Loading commit data... | |
| libada | Loading commit data... | |
| libatomic | Loading commit data... | |
| libbacktrace | Loading commit data... | |
| libcpp | Loading commit data... | |
| libdecnumber | Loading commit data... | |
| libffi | Loading commit data... | |
| libgcc | Loading commit data... | |
| libgfortran | Loading commit data... | |
| libgo | Loading commit data... | |
| libgomp | Loading commit data... | |
| libiberty | Loading commit data... | |
| libitm | Loading commit data... | |
| libjava | Loading commit data... | |
| libmudflap | Loading commit data... | |
| libobjc | Loading commit data... | |
| libquadmath | Loading commit data... | |
| libsanitizer | Loading commit data... | |
| libssp | Loading commit data... | |
| libstdc++-v3 | Loading commit data... | |
| lto-plugin | Loading commit data... | |
| maintainer-scripts | Loading commit data... | |
| zlib | Loading commit data... | |
| .gitignore | Loading commit data... | |
| ABOUT-NLS | Loading commit data... | |
| COPYING | Loading commit data... | |
| COPYING.LIB | Loading commit data... | |
| COPYING.RUNTIME | Loading commit data... | |
| COPYING3 | Loading commit data... | |
| COPYING3.LIB | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog.tree-ssa | Loading commit data... | |
| MAINTAINERS | Loading commit data... | |
| Makefile.def | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| Makefile.tpl | Loading commit data... | |
| README | Loading commit data... | |
| compile | Loading commit data... | |
| config-ml.in | Loading commit data... | |
| config.guess | Loading commit data... | |
| config.rpath | Loading commit data... | |
| config.sub | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| depcomp | Loading commit data... | |
| install-sh | Loading commit data... | |
| libtool-ldflags | Loading commit data... | |
| libtool.m4 | Loading commit data... | |
| ltgcc.m4 | Loading commit data... | |
| ltmain.sh | Loading commit data... | |
| ltoptions.m4 | Loading commit data... | |
| ltsugar.m4 | Loading commit data... | |
| ltversion.m4 | Loading commit data... | |
| lt~obsolete.m4 | Loading commit data... | |
| missing | Loading commit data... | |
| mkdep | Loading commit data... | |
| mkinstalldirs | Loading commit data... | |
| move-if-change | Loading commit data... | |
| symlink-tree | Loading commit data... | |
| ylwrap | Loading commit data... |