diff options
author | zadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-25 22:04:02 +0000 |
---|---|---|
committer | zadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-25 22:04:02 +0000 |
commit | 58f1b650a6738934f58ae23c8b0f281de4397399 (patch) | |
tree | f5edf79871bab25c355ea8297998d125638f8c5c /gcc/cgraph.h | |
parent | 2977028249ec207fb70099cd3f3e8715994773a1 (diff) | |
download | gcc-58f1b650a6738934f58ae23c8b0f281de4397399.tar.gz |
patch to remove the analysis of module level static variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89559 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r-- | gcc/cgraph.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 33209f6284b..180ddb8f40c 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -21,8 +21,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef GCC_CGRAPH_H #define GCC_CGRAPH_H -#include "hashtab.h" -#include "bitmap.h" #include "tree.h" /* Information about the function collected locally. @@ -37,16 +35,6 @@ struct cgraph_local_info GTY(()) and it's address is never taken. */ bool local; - /* Set when function is defined in another compilation unit. */ - bool external; - - /* Set when this function calls a function external of the - compilation unit. 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; - /* Set once it has been finalized so we consider it to be output. */ bool finalized; @@ -90,70 +78,6 @@ struct cgraph_rtl_info GTY(()) bool pure_function; }; -/* FIXME -- PROFILE-RESTRUCTURE: When the next round of the profiling - code gets merged in, it will contain a restructing where ssa form - is built for every function within the compilation unit before the - rest of the compilation continues. When this reorgination is done, - it will no longer be necessary to have the _decl_uid versions of - local_static_vars_info and global_static_vars_info structures. - Having both structures is now required because the _ann_uid values - for static variables are reset as each function is compiled. - Currently, the analysis is done using the _decl_uid versions and - converted to the _var_ann versions on demand. - - Also, the var_anns_valid fields within these structures can also go - away. -*/ - -/* The static variables defined within the compilation unit that are - loaded or stored directly by function that owns this structure. */ - -struct local_static_vars_info_d GTY(()) -{ - bitmap statics_read_by_decl_uid; - bitmap statics_written_by_decl_uid; -}; - -struct global_static_vars_info_d GTY(()) -{ - bitmap statics_read_by_decl_uid; - bitmap statics_written_by_decl_uid; - bitmap statics_read_by_ann_uid; - bitmap statics_written_by_ann_uid; - bitmap statics_not_read_by_decl_uid; - bitmap statics_not_written_by_decl_uid; - bitmap statics_not_read_by_ann_uid; - bitmap statics_not_written_by_ann_uid; - - /* var_anns_valid is reset at the start of compilation for each - function because the indexing that the "_var_anns" is based - on is invalidated between function compilations. This allows for - lazy creation of the "_var_ann" variables. */ - bool var_anns_valid; -}; - -/* 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 local_static_vars_info_d *local_static_vars_info_t; -typedef struct global_static_vars_info_d *global_static_vars_info_t; - -struct static_vars_info_d GTY(()) -{ - local_static_vars_info_t local; - global_static_vars_info_t global; -}; - -typedef struct static_vars_info_d *static_vars_info_t; - /* The cgraph data structure. Each function decl has assigned cgraph_node listing callees and callers. */ @@ -174,18 +98,12 @@ struct cgraph_node GTY((chain_next ("%h.next"), chain_prev ("%h.previous"))) struct cgraph_node *next_needed; /* Pointer to the next clone. */ struct cgraph_node *next_clone; - /* Pointer to next node in a recursive call graph cycle; */ - struct cgraph_node *next_cycle; PTR GTY ((skip)) aux; struct cgraph_local_info local; struct cgraph_global_info global; struct cgraph_rtl_info rtl; - /* Pointer to the structure that contains the sets of global - variables modified by function calls. */ - static_vars_info_t static_vars_info; - /* Unique id of the node. */ int uid; /* Set when function must be output - it is externally visible @@ -284,8 +202,6 @@ void cgraph_mark_inline_edge (struct cgraph_edge *e); void cgraph_clone_inlined_nodes (struct cgraph_edge *e, bool duplicate); void cgraph_build_static_cdtor (char which, tree body, int priority); void cgraph_reset_static_var_maps (void); -bitmap get_global_statics_not_read (tree fn); -bitmap get_global_statics_not_written(tree fn); void init_cgraph (void); #endif /* GCC_CGRAPH_H */ |