]> gcc.gnu.org Git - gcc.git/commitdiff
invoke.texi (-fargument-alias, [...]): Remove.
authorRichard Guenther <rguenther@suse.de>
Wed, 7 Apr 2010 13:08:24 +0000 (13:08 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 7 Apr 2010 13:08:24 +0000 (13:08 +0000)
2010-04-07  Richard Guenther  <rguenther@suse.de>

* doc/invoke.texi (-fargument-alias, -fargument-noalias,
-fargument-noalias-global, -fargument-noalias-anything): Remove.
* common.opt: Likewise.
* tree-ssa-structalias.c (intra_create_variable_infos): Adjust
comment.
* alias.c (base_alias_check): Remove flag_argument_noalias
handling.
(nonoverlapping_memrefs_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
* opts.c (common_handle_option): Handle OPT_fargument_alias,
OPT_fargument_noalias, OPT_fargument_noalias_anything and
OPT_fargument_noalias_global for backward compatibility.

fortran/
* options.c (gfc_init_options): Do not set.

From-SVN: r158060

gcc/ChangeLog
gcc/alias.c
gcc/common.opt
gcc/doc/invoke.texi
gcc/emit-rtl.c
gcc/fortran/ChangeLog
gcc/fortran/options.c
gcc/opts.c
gcc/tree-ssa-structalias.c

index ca2b7f6a4b6850593f82a80fa20eea30058b3f61..af2e371faa80452aec71d1e5c262684dc3ea19c9 100644 (file)
@@ -1,3 +1,18 @@
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-fargument-alias, -fargument-noalias,
+       -fargument-noalias-global, -fargument-noalias-anything): Remove.
+       * common.opt: Likewise.
+       * tree-ssa-structalias.c (intra_create_variable_infos): Adjust
+       comment.
+       * alias.c (base_alias_check): Remove flag_argument_noalias
+       handling.
+       (nonoverlapping_memrefs_p): Likewise.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+       * opts.c (common_handle_option): Handle OPT_fargument_alias,
+       OPT_fargument_noalias, OPT_fargument_noalias_anything and
+       OPT_fargument_noalias_global for backward compatibility.
+
 2010-04-07  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/43270
index 19a8292b454ff3d432e22d69bd80b1a70f7521c8..c10b971e3df035447f3e7fcd457169ebab1319f2 100644 (file)
@@ -1691,14 +1691,7 @@ base_alias_check (rtx x, rtx y, enum machine_mode x_mode,
       || (GET_CODE (y_base) == ADDRESS && GET_MODE (y_base) == Pmode))
     return 0;
 
-  if (! flag_argument_noalias)
-    return 1;
-
-  if (flag_argument_noalias > 1)
-    return 0;
-
-  /* Weak noalias assertion (arguments are distinct, but may match globals).  */
-  return ! (GET_MODE (x_base) == VOIDmode && GET_MODE (y_base) == VOIDmode);
+  return 1;
 }
 
 /* Convert the address X into something we can use.  This is done by returning
@@ -2189,13 +2182,6 @@ nonoverlapping_memrefs_p (const_rtx x, const_rtx y)
        exprx = t;
       }
     }
-  else if (INDIRECT_REF_P (exprx))
-    {
-      exprx = TREE_OPERAND (exprx, 0);
-      if (flag_argument_noalias < 2
-         || TREE_CODE (exprx) != PARM_DECL)
-       return 0;
-    }
 
   moffsety = MEM_OFFSET (y);
   if (TREE_CODE (expry) == COMPONENT_REF)
@@ -2217,13 +2203,6 @@ nonoverlapping_memrefs_p (const_rtx x, const_rtx y)
        expry = t;
       }
     }
-  else if (INDIRECT_REF_P (expry))
-    {
-      expry = TREE_OPERAND (expry, 0);
-      if (flag_argument_noalias < 2
-         || TREE_CODE (expry) != PARM_DECL)
-       return 0;
-    }
 
   if (! DECL_P (exprx) || ! DECL_P (expry))
     return 0;
index cdb4e085d51ac53ba1a6fb26d890b60b268c4f98..2b8b6d7062019723ef11fe51a0be2b1d8eb08ae4 100644 (file)
@@ -307,29 +307,21 @@ Align the start of loops
 falign-loops=
 Common RejectNegative Joined UInteger
 
-; This flag is only tested if alias checking is enabled.
-; 0 if pointer arguments may alias each other.  True in C.
-; 1 if pointer arguments may not alias each other but may alias
-;   global variables.
-; 2 if pointer arguments may not alias each other and may not
-;   alias global variables.
-; 3 if pointer arguments may not alias anything.  True in Fortran.
-;   Set by the front end.
 fargument-alias
-Common Report Var(flag_argument_noalias,0) Optimization
-Specify that arguments may alias each other and globals
+Common
+Does nothing. Preserved for backward compatibility.
 
 fargument-noalias
-Common Report Var(flag_argument_noalias,1) VarExists Optimization
-Assume arguments may alias globals but not each other
+Common
+Does nothing. Preserved for backward compatibility.
 
 fargument-noalias-global
-Common Report Var(flag_argument_noalias,2) VarExists Optimization
-Assume arguments alias neither each other nor globals
+Common
+Does nothing. Preserved for backward compatibility.
 
 fargument-noalias-anything
-Common Report Var(flag_argument_noalias,3) VarExists Optimization
-Assume arguments alias no other storage
+Common
+Does nothing. Preserved for backward compatibility.
 
 fasynchronous-unwind-tables
 Common Report Var(flag_asynchronous_unwind_tables) Optimization
index 341d1b7ed265281d2bc42fa2cb6e560aa3e8ff03..76c424024e04adfe809114006ac1032607462706 100644 (file)
@@ -916,8 +916,7 @@ See S/390 and zSeries Options.
 -fshort-double  -fshort-wchar @gol
 -fverbose-asm  -fpack-struct[=@var{n}]  -fstack-check @gol
 -fstack-limit-register=@var{reg}  -fstack-limit-symbol=@var{sym} @gol
--fno-stack-limit  -fargument-alias  -fargument-noalias @gol
--fargument-noalias-global  -fargument-noalias-anything @gol
+-fno-stack-limit @gol
 -fleading-underscore  -ftls-model=@var{model} @gol
 -ftrapv  -fwrapv  -fbounds-check @gol
 -fvisibility}
@@ -17444,31 +17443,6 @@ and grows downwards, you can use the flags
 @option{-Wl,--defsym,__stack_limit=0x7ffe0000} to enforce a stack limit
 of 128KB@.  Note that this may only work with the GNU linker.
 
-@cindex aliasing of parameters
-@cindex parameters, aliased
-@item -fargument-alias
-@itemx -fargument-noalias
-@itemx -fargument-noalias-global
-@itemx -fargument-noalias-anything
-@opindex fargument-alias
-@opindex fargument-noalias
-@opindex fargument-noalias-global
-@opindex fargument-noalias-anything
-Specify the possible relationships among parameters and between
-parameters and global data.
-
-@option{-fargument-alias} specifies that arguments (parameters) may
-alias each other and may alias global storage.@*
-@option{-fargument-noalias} specifies that arguments do not alias
-each other, but may alias global storage.@*
-@option{-fargument-noalias-global} specifies that arguments do not
-alias each other and do not alias global storage.
-@option{-fargument-noalias-anything} specifies that arguments do not
-alias any other storage.
-
-Each language will automatically use whatever option is required by
-the language standard.  You should not need to use these options yourself.
-
 @item -fleading-underscore
 @opindex fleading-underscore
 This option and its counterpart, @option{-fno-leading-underscore}, forcibly
index dda2b0f0f70222ab1452d5da30d61e33f16ebbdf..ab46195fcb9eeff05694ffa371c9059106392875 100644 (file)
@@ -1751,14 +1751,6 @@ set_mem_attributes_minus_bitpos (rtx ref, tree t, int objectp,
                 the size we got from the type?  */
            }
 
-         else if (flag_argument_noalias > 1
-                  && (INDIRECT_REF_P (t2))
-                  && TREE_CODE (TREE_OPERAND (t2, 0)) == PARM_DECL)
-           {
-             expr = t2;
-             offset = NULL;
-           }
-
          /* If this is an indirect reference, record it.  */
          else if (TREE_CODE (t) == INDIRECT_REF
                   || TREE_CODE (t) == MISALIGNED_INDIRECT_REF)
@@ -1769,16 +1761,6 @@ set_mem_attributes_minus_bitpos (rtx ref, tree t, int objectp,
            }
        }
 
-      /* If this is a Fortran indirect argument reference, record the
-        parameter decl.  */
-      else if (flag_argument_noalias > 1
-              && (INDIRECT_REF_P (t))
-              && TREE_CODE (TREE_OPERAND (t, 0)) == PARM_DECL)
-       {
-         expr = t;
-         offset = NULL;
-       }
-
       /* If this is an indirect reference, record it.  */
       else if (TREE_CODE (t) == INDIRECT_REF
               || TREE_CODE (t) == MISALIGNED_INDIRECT_REF)
index 9725d8e2f1dda00dbf7caf009066a658aafd017b..2b1aa30b4071945b4773eabe5d84656e2d89183f 100644 (file)
@@ -1,3 +1,7 @@
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * options.c (gfc_init_options): Do not set.
+
 2010-04-06  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/18918
index 676bbe125bd2318cb0a819eb3a35a35a5d6743c3..bcbf69549b3ac75927396b2b9cb7dc7e5e56e460 100644 (file)
@@ -132,9 +132,6 @@ gfc_init_options (unsigned int argc, const char **argv)
   gfc_option.rtcheck = 0;
   gfc_option.coarray = GFC_FCOARRAY_NONE;
 
-  /* Argument pointers cannot point to anything but their argument.  */
-  flag_argument_noalias = 3;
-
   flag_errno_math = 0;
 
   set_default_std_flags ();
index 139cd2694163a9e0f818b10261a30f4293769ee6..7c928bb4c0305e9169704ec35ba9afac409f0bc1 100644 (file)
@@ -2127,6 +2127,10 @@ common_handle_option (size_t scode, const char *arg, int value,
     case OPT_ftree_salias:
     case OPT_ftree_store_ccp:
     case OPT_Wunreachable_code:
+    case OPT_fargument_alias:
+    case OPT_fargument_noalias:
+    case OPT_fargument_noalias_anything:
+    case OPT_fargument_noalias_global:
       /* These are no-ops, preserved for backward compatibility.  */
       break;
 
index 1ea7afca39bae4e0d366f2d672bd2b46e1005da5..1516634b8713f9323c437c906bc2f0154daad3d2 100644 (file)
@@ -4611,7 +4611,8 @@ intra_create_variable_infos (void)
   tree t;
 
   /* For each incoming pointer argument arg, create the constraint ARG
-     = NONLOCAL or a dummy variable if flag_argument_noalias is set.  */
+     = NONLOCAL or a dummy variable if it is a restrict qualified
+     passed-by-reference argument.  */
   for (t = DECL_ARGUMENTS (current_function_decl); t; t = TREE_CHAIN (t))
     {
       varinfo_t p;
This page took 0.084967 seconds and 5 git commands to generate.