mirror of git://gcc.gnu.org/git/gcc.git
gcc/ 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete. (SYMBOL_32_HIGH): Likewise. (mips_output_tls_reloc_directive): Declare. * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md. (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare. * config/mips/mips.c (mips_use_pcrel_pool_p): New variable. (mips_lo_relocs, mips_hi_relocs): Make extern. (mips16_stub_function): Move up file. (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling. (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too. (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p. (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false. (mips_get_tp): Add MIPS16 support. (mips_legitimize_tls_address): Remove MIPS16 sorry(). Generalize DTPREL and TPREL handling. (mips_init_relocs): Initialize mips_use_pcrel_pool_p. Add MIPS16 TLS support. (mips_output_tls_reloc_directive): New function. (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs. * config/mips/predicates.md (symbolic_operand_with_high) (tls_reloc_operand): New predicates. (force_to_mem_operand): Use mips_use_pcrel_pool_p. * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec. (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h. (*unshifted_high): New instruction. Use it for MIPS16 high splitter. (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns. (*tls_get_tp_mips16_call_<mode>): Likewise. gcc/testsuite/ * gcc.target/mips/code-readable-2.c: Allow the jump table address to be loaded from the constant pool, rather than via %hi and %lo. libgcc/ 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/libgcc-mips16.ver (__mips16_rdhwr): Add. * config/mips/mips16.S (__mips16_rdhwr): New function. * config/mips/t-mips16 (LIB1ASMFUNCS): Add _m16rdhwr. From-SVN: r183195 |
||
|---|---|---|
| .. | ||
| config | ||
| soft-fp | ||
| ChangeLog | ||
| Makefile.in | ||
| config.host | ||
| configure | ||
| configure.ac | ||
| crtstuff.c | ||
| dfp-bit.c | ||
| dfp-bit.h | ||
| divmod.c | ||
| empty.mk | ||
| emutls.c | ||
| enable-execute-stack-empty.c | ||
| enable-execute-stack-mprotect.c | ||
| fixed-bit.c | ||
| fixed-bit.h | ||
| fixed-obj.mk | ||
| floatunsidf.c | ||
| floatunsisf.c | ||
| floatunsitf.c | ||
| floatunsixf.c | ||
| fp-bit.c | ||
| fp-bit.h | ||
| gbl-ctors.h | ||
| gen-fixed.sh | ||
| generic-morestack-thread.c | ||
| generic-morestack.c | ||
| generic-morestack.h | ||
| gstdint.h | ||
| gthr-posix.h | ||
| gthr-single.h | ||
| gthr.h | ||
| libgcc-std.ver.in | ||
| libgcc2.c | ||
| libgcc2.h | ||
| libgcov.c | ||
| longlong.h | ||
| memcmp.c | ||
| memcpy.c | ||
| memmove.c | ||
| memset.c | ||
| mkheader.sh | ||
| mkmap-flat.awk | ||
| mkmap-symver.awk | ||
| shared-object.mk | ||
| siditi-object.mk | ||
| static-object.mk | ||
| sync.c | ||
| udivmod.c | ||
| udivmodsi4.c | ||
| unwind-arm-common.inc | ||
| unwind-c.c | ||
| unwind-compat.c | ||
| unwind-compat.h | ||
| unwind-dw2-fde-compat.c | ||
| unwind-dw2-fde-dip.c | ||
| unwind-dw2-fde.c | ||
| unwind-dw2-fde.h | ||
| unwind-dw2.c | ||
| unwind-dw2.h | ||
| unwind-generic.h | ||
| unwind-pe.h | ||
| unwind-sjlj.c | ||
| unwind.inc | ||