/* IPA handling of references.
- Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004-2014 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
#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_not_read_global (struct cgraph_node *fn);
+bitmap ipa_reference_get_not_written_global (struct cgraph_node *fn);
+void ipa_reference_c_finalize (void);
#endif /* GCC_IPA_REFERENCE_H */