aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips/mips.opt
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-09-07 07:37:38 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-09-07 07:37:38 +0000
commita318179e4ee3ba7c85fa9d9a7e29c44de86fa8ae (patch)
tree78825ebde82f0901c736de2aa59b465e6c062d60 /gcc/config/mips/mips.opt
parentf7de3bd3fa17db45c94a8ac57631c0ad3d673ced (diff)
downloadgcc-a318179e4ee3ba7c85fa9d9a7e29c44de86fa8ae.zip
gcc-a318179e4ee3ba7c85fa9d9a7e29c44de86fa8ae.tar.gz
gcc-a318179e4ee3ba7c85fa9d9a7e29c44de86fa8ae.tar.bz2
mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
config/ * mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt. (CXXFLAGS_FOR_TARGET): Likewise. gcc/ * doc/invoke.texi: Document the MIPS -mlocal-sdata, -mextern-sdata and -mgpopt options. Adjust the -G documentation to match. * config/mips/mips.opt (mextern-data, mgpopt, mlocal-data): New. * config/mips/mips.c (mips_rtx_constant_in_small_data_p): New function, split out from mips_classify_symbol. Return false for !TARGET_LOCAL_SDATA. (mips_classify_symbol): Call mips_rtx_constant_in_small_data_p. Only use GP-relative accesses for non-pool symbols if TARGET_GPOPT. (override_options): Check whether the -mgpopt setting is consistent with the other flags. (symbolic_expression_p): Delete. (mips_select_rtx_section): Use mips_rtx_constant_in_small_data_p and default_elf_select_rtx_section. (mips_in_small_data_p): Honor section attributes for MIPS16 too. Return false for local data unless TARGET_LOCAL_SDATA. Likewise external data and TARGET_EXTERN_SDATA. gcc/testsuite/ * gcc.dg/attr-alias-3.c: Use real asm for MIPS. * gcc.target/mips/mips.exp (setup_mips_tests): Set mips_forced_gp and mips_forced_no_er. (dg-mips-options): Add -mno-abicalls when a small-data option is specified. Skip tests with small-data options if mips_forced_gp. Skip tests with -mexplicit-relocs if mips_forced_no_er. * gcc.target/mips/sdata-1.c: New test. * gcc.target/mips/sdata-2.c: Likewise. * gcc.target/mips/sdata-3.c: Likewise. * gcc.target/mips/sdata-4.c: Likewise. From-SVN: r128230
Diffstat (limited to 'gcc/config/mips/mips.opt')
-rw-r--r--gcc/config/mips/mips.opt12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/mips/mips.opt b/gcc/config/mips/mips.opt
index 7f60beb..80fd108 100644
--- a/gcc/config/mips/mips.opt
+++ b/gcc/config/mips/mips.opt
@@ -96,6 +96,10 @@ mexplicit-relocs
Target Report Mask(EXPLICIT_RELOCS)
Use NewABI-style %reloc() assembly operators
+mextern-sdata
+Target Report Var(TARGET_EXTERN_SDATA) Init(1)
+Use -G for data that is not defined by the current object
+
mfix-r4000
Target Report Mask(FIX_R4000)
Work around certain R4000 errata
@@ -148,6 +152,10 @@ mgp64
Target Report RejectNegative Mask(64BIT)
Use 64-bit general registers
+mgpopt
+Target Report Var(TARGET_GPOPT) Init(1)
+Use GP-relative addressing to access small data
+
mhard-float
Target Report RejectNegative InverseMask(SOFT_FLOAT_ABI, HARD_FLOAT_ABI)
Allow the use of hardware floating-point ABI and instructions
@@ -164,6 +172,10 @@ mips3d
Target Report RejectNegative Mask(MIPS3D)
Use MIPS-3D instructions
+mlocal-sdata
+Target Report Var(TARGET_LOCAL_SDATA) Init(1)
+Use -G for object-local data
+
mlong-calls
Target Report Var(TARGET_LONG_CALLS)
Use indirect calls