OSDN Git Service

PR c/42312
[pf3gnuchains/gcc-fork.git] / gcc / ipa-reference.h
index 26dce15..ba26ebb 100644 (file)
@@ -1,12 +1,12 @@
 /* IPA handling of references.
-   Copyright (C) 2004-2005 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
    Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
 
 This file is part of GCC.
 
 GCC is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
+Software Foundation; either version 3, or (at your option) any later
 version.
 
 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,69 +15,19 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
 
 #ifndef GCC_IPA_REFERENCE_H
 #define GCC_IPA_REFERENCE_H
 #include "bitmap.h"
 #include "tree.h"
 
-/* The static variables defined within the compilation unit that are
-   loaded or stored directly by function that owns this structure.  */ 
-
-struct ipa_reference_local_vars_info_d 
-{
-  bitmap statics_read;
-  bitmap statics_written;
-
-  /* Set when this function calls another function external to the
-     compilation unit or if the function has a asm clobber of memory.
-     In general, such calls are modeled as reading and writing all
-     variables (both bits on) but sometime there are attributes on the
-     called function so we can do better.  */
-  bool calls_read_all;
-  bool calls_write_all;
-};
-
-struct ipa_reference_global_vars_info_d
-{
-  bitmap statics_read;
-  bitmap statics_written;
-  bitmap statics_not_read;
-  bitmap statics_not_written;
-};
-
-/* Statics that are read and written by some set of functions. The
-   local ones are based on the loads and stores local to the function.
-   The global ones are based on the local info as well as the
-   transitive closure of the functions that are called.  The
-   structures are separated to allow the global structures to be
-   shared between several functions since every function within a
-   strongly connected component will have the same information.  This
-   sharing saves both time and space in the computation of the vectors
-   as well as their translation from decl_uid form to ann_uid
-   form.  */ 
-
-typedef struct ipa_reference_local_vars_info_d *ipa_reference_local_vars_info_t;
-typedef struct ipa_reference_global_vars_info_d *ipa_reference_global_vars_info_t;
-
-struct ipa_reference_vars_info_d 
-{
-  ipa_reference_local_vars_info_t local;
-  ipa_reference_global_vars_info_t global;
-};
-
-typedef struct ipa_reference_vars_info_d *ipa_reference_vars_info_t;
-
 /* In ipa-reference.c  */
-bitmap ipa_reference_get_read_local (tree fn);
-bitmap ipa_reference_get_written_local (tree fn);
-bitmap ipa_reference_get_read_global (tree fn);
-bitmap ipa_reference_get_written_global (tree fn);
-bitmap ipa_reference_get_not_read_global (tree fn);
-bitmap ipa_reference_get_not_written_global (tree fn);
+bitmap ipa_reference_get_read_global (struct cgraph_node *fn);
+bitmap ipa_reference_get_written_global (struct cgraph_node *fn);
+bitmap ipa_reference_get_not_read_global (struct cgraph_node *fn);
+bitmap ipa_reference_get_not_written_global (struct cgraph_node *fn);
 
 #endif  /* GCC_IPA_REFERENCE_H  */