diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2011-07-13 21:38:29 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2011-07-13 21:38:29 +0000 |
commit | 1db75f6c39f5ef4cda5f3b76975dddff035c90fd (patch) | |
tree | 41caa311889940f758249e50dea016723e0e5b68 | |
parent | f542c405c0bb1d6eda47ba05832fbd3c10e7e27e (diff) | |
download | gcc-1db75f6c39f5ef4cda5f3b76975dddff035c90fd.zip gcc-1db75f6c39f5ef4cda5f3b76975dddff035c90fd.tar.gz gcc-1db75f6c39f5ef4cda5f3b76975dddff035c90fd.tar.bz2 |
Change -mno-r11 to -mno-pointers-to-nested-functions
From-SVN: r176252
-rw-r--r-- | gcc/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 20 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.opt | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/no-r11-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/no-r11-2.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/no-r11-3.c | 2 |
8 files changed, 45 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5182bbc..157ad42 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,19 @@ +2011-07-13 Michael Meissner <meissner@linux.vnet.ibm.com> + + * config/rs6000/rs6000.opt (-mpointers-to-nested-functions): + Rename -mr11. + * config/rs6000/rs6000.c (rs6000_trampoline_init): Ditto. + (rs6000_call_indirect_aix): Ditto. + * config/rs6000/rs6000.md (call_indirect_aix<ptrsize>): Ditto. + (call_indirect_aix<ptrsize>_internal): Ditto. + (call_indirect_aix<ptrsize>_nor11): Ditto. + (call_indirect_aix<ptrsize>_internal2): Ditto. + (call_value_indirect_aix<ptrsize>): Ditto. + (call_value_indirect_aix<ptrsize>_internal): Ditto. + (call_value_indirect_aix<ptrsize>_nor11): Ditto. + (call_value_indirect_aix<ptrsize>_internal2): Ditto. + * doc/invoke.texi (RS/6000 and PowerPC Options): Ditto. + 2011-07-13 Jason Merrill <jason@redhat.com> * Makefile.in ($(lang_checks_parallelized)): Allow --tool_opts. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index a25e5af..79dd140 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -24409,7 +24409,7 @@ rs6000_trampoline_init (rtx m_tramp, tree fndecl, rtx cxt) { rtx fnmem, fn_reg, toc_reg; - if (!TARGET_R11) + if (!TARGET_POINTERS_TO_NESTED_FUNCTIONS) error ("-mno-r11 must not be used if you have trampolines"); fnmem = gen_const_mem (Pmode, force_reg (Pmode, fnaddr)); @@ -27741,7 +27741,7 @@ rs6000_call_indirect_aix (rtx value, rtx func_desc, rtx flag) stack_toc_offset = GEN_INT (TOC_SAVE_OFFSET_32BIT); func_toc_offset = GEN_INT (AIX_FUNC_DESC_TOC_32BIT); func_sc_offset = GEN_INT (AIX_FUNC_DESC_SC_32BIT); - if (TARGET_R11) + if (TARGET_POINTERS_TO_NESTED_FUNCTIONS) { call_func = gen_call_indirect_aix32bit; call_value_func = gen_call_value_indirect_aix32bit; @@ -27757,7 +27757,7 @@ rs6000_call_indirect_aix (rtx value, rtx func_desc, rtx flag) stack_toc_offset = GEN_INT (TOC_SAVE_OFFSET_64BIT); func_toc_offset = GEN_INT (AIX_FUNC_DESC_TOC_64BIT); func_sc_offset = GEN_INT (AIX_FUNC_DESC_SC_64BIT); - if (TARGET_R11) + if (TARGET_POINTERS_TO_NESTED_FUNCTIONS) { call_func = gen_call_indirect_aix64bit; call_value_func = gen_call_value_indirect_aix64bit; @@ -27800,7 +27800,7 @@ rs6000_call_indirect_aix (rtx value, rtx func_desc, rtx flag) func_toc_offset)); /* If we have a static chain, load it up. */ - if (TARGET_R11) + if (TARGET_POINTERS_TO_NESTED_FUNCTIONS) { func_sc_mem = gen_rtx_MEM (Pmode, gen_rtx_PLUS (Pmode, diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index a404448..b34b70a 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -12386,7 +12386,7 @@ (use (match_operand:P 3 "memory_operand" "m,m")) (use (reg:P STATIC_CHAIN_REGNUM)) (clobber (reg:P LR_REGNO))] - "DEFAULT_ABI == ABI_AIX && TARGET_R11" + "DEFAULT_ABI == ABI_AIX && TARGET_POINTERS_TO_NESTED_FUNCTIONS" "#" "&& reload_completed" [(set (reg:P TOC_REGNUM) (match_dup 2)) @@ -12409,7 +12409,8 @@ (use (match_operand:P 2 "memory_operand" "m,m")) (set (reg:P TOC_REGNUM) (match_dup 2)) (clobber (reg:P LR_REGNO))] - "DEFAULT_ABI == ABI_AIX && reload_completed && TARGET_R11" + "DEFAULT_ABI == ABI_AIX && reload_completed + && TARGET_POINTERS_TO_NESTED_FUNCTIONS" "b%T0l\;<ptrload> 2,%2" [(set_attr "type" "jmpreg") (set_attr "length" "8")]) @@ -12426,7 +12427,7 @@ (use (match_operand:P 2 "memory_operand" "m,m")) (use (match_operand:P 3 "memory_operand" "m,m")) (clobber (reg:P LR_REGNO))] - "DEFAULT_ABI == ABI_AIX && !TARGET_R11" + "DEFAULT_ABI == ABI_AIX && !TARGET_POINTERS_TO_NESTED_FUNCTIONS" "#" "&& reload_completed" [(set (reg:P TOC_REGNUM) (match_dup 2)) @@ -12447,7 +12448,8 @@ (use (match_operand:P 2 "memory_operand" "m,m")) (set (reg:P TOC_REGNUM) (match_dup 2)) (clobber (reg:P LR_REGNO))] - "DEFAULT_ABI == ABI_AIX && reload_completed && !TARGET_R11" + "DEFAULT_ABI == ABI_AIX && reload_completed + && !TARGET_POINTERS_TO_NESTED_FUNCTIONS" "b%T0l\;<ptrload> 2,%2" [(set_attr "type" "jmpreg") (set_attr "length" "8")]) @@ -12466,7 +12468,7 @@ (use (match_operand:P 4 "memory_operand" "m,m")) (use (reg:P STATIC_CHAIN_REGNUM)) (clobber (reg:P LR_REGNO))] - "DEFAULT_ABI == ABI_AIX && TARGET_R11" + "DEFAULT_ABI == ABI_AIX && TARGET_POINTERS_TO_NESTED_FUNCTIONS" "#" "&& reload_completed" [(set (reg:P TOC_REGNUM) (match_dup 3)) @@ -12491,7 +12493,8 @@ (use (match_operand:P 3 "memory_operand" "m,m")) (set (reg:P TOC_REGNUM) (match_dup 3)) (clobber (reg:P LR_REGNO))] - "DEFAULT_ABI == ABI_AIX && reload_completed && TARGET_R11" + "DEFAULT_ABI == ABI_AIX && reload_completed + && TARGET_POINTERS_TO_NESTED_FUNCTIONS" "b%T1l\;<ptrload> 2,%3" [(set_attr "type" "jmpreg") (set_attr "length" "8")]) @@ -12510,7 +12513,7 @@ (use (match_operand:P 3 "memory_operand" "m,m")) (use (match_operand:P 4 "memory_operand" "m,m")) (clobber (reg:P LR_REGNO))] - "DEFAULT_ABI == ABI_AIX && !TARGET_R11" + "DEFAULT_ABI == ABI_AIX && !TARGET_POINTERS_TO_NESTED_FUNCTIONS" "#" "&& reload_completed" [(set (reg:P TOC_REGNUM) (match_dup 3)) @@ -12533,7 +12536,8 @@ (use (match_operand:P 3 "memory_operand" "m,m")) (set (reg:P TOC_REGNUM) (match_dup 3)) (clobber (reg:P LR_REGNO))] - "DEFAULT_ABI == ABI_AIX && reload_completed && !TARGET_R11" + "DEFAULT_ABI == ABI_AIX && reload_completed + && !TARGET_POINTERS_TO_NESTED_FUNCTIONS" "b%T1l\;<ptrload> 2,%3" [(set_attr "type" "jmpreg") (set_attr "length" "8")]) diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt index 329104c..292308f 100644 --- a/gcc/config/rs6000/rs6000.opt +++ b/gcc/config/rs6000/rs6000.opt @@ -521,9 +521,9 @@ mxilinx-fpu Target Var(rs6000_xilinx_fpu) Save Specify Xilinx FPU. -mr11 -Target Report Var(TARGET_R11) Init(1) Save -Use/do not use r11 to hold the static link in calls. +mpointers-to-nested-functions +Target Report Var(TARGET_POINTERS_TO_NESTED_FUNCTIONS) Init(1) Save +Use/do not use r11 to hold the static link in calls to functions via pointers. msave-toc-indirect Target Undocumented Var(TARGET_SAVE_TOC_INDIRECT) Save Init(1) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index eebf940..a38c046 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2011-07-13 Michael Meissner <meissner@linux.vnet.ibm.com> + + * gcc.target/powerpc/no-r11-1.c: Change -mno-r11 to + -mno-pointers-to-nested-functions. + * gcc.target/powerpc/no-r11-2.c: Ditto. + * gcc.target/powerpc/no-r11-3.c: Ditto. + 2011-07-13 Jason Merrill <jason@redhat.com> * lib/g++.exp (${tool}_option_help, ${tool}_option_proc): Remove. diff --git a/gcc/testsuite/gcc.target/powerpc/no-r11-1.c b/gcc/testsuite/gcc.target/powerpc/no-r11-1.c index 7e880e7..57c01a3 100644 --- a/gcc/testsuite/gcc.target/powerpc/no-r11-1.c +++ b/gcc/testsuite/gcc.target/powerpc/no-r11-1.c @@ -1,6 +1,6 @@ /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */ -/* { dg-options "-O2 -mno-r11" } */ +/* { dg-options "-O2 -mno-pointers-to-nested-functions" } */ int call_ptr (int (func) (void)) diff --git a/gcc/testsuite/gcc.target/powerpc/no-r11-2.c b/gcc/testsuite/gcc.target/powerpc/no-r11-2.c index 981bc0c..3e4a6ca 100644 --- a/gcc/testsuite/gcc.target/powerpc/no-r11-2.c +++ b/gcc/testsuite/gcc.target/powerpc/no-r11-2.c @@ -1,6 +1,6 @@ /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */ -/* { dg-options "-O2 -mr11" } */ +/* { dg-options "-O2 -mpointers-to-nested-functions" } */ int call_ptr (int (func) (void)) diff --git a/gcc/testsuite/gcc.target/powerpc/no-r11-3.c b/gcc/testsuite/gcc.target/powerpc/no-r11-3.c index bc57385..c4b2448 100644 --- a/gcc/testsuite/gcc.target/powerpc/no-r11-3.c +++ b/gcc/testsuite/gcc.target/powerpc/no-r11-3.c @@ -1,6 +1,6 @@ /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */ -/* { dg-options "-O2 -mno-r11" } */ +/* { dg-options "-O2 -mno-pointers-to-nested-functions" } */ extern void ext_call (int (func) (void)); |