diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-11-28 14:42:37 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-11-28 14:42:37 +0000 |
commit | 2d04fd8dddd64aae0c58fcbe0b5793dcd8854b2e (patch) | |
tree | 5e09813d89b6e045357e6ee37686e9b16cf2a1ec /gcc/tree-dfa.c | |
parent | b763e9983191134f98d404fc252aafee69ef806f (diff) | |
download | gcc-2d04fd8dddd64aae0c58fcbe0b5793dcd8854b2e.tar.gz |
Privatize SSA variables into gimple_df.
* tree-flow-inline.h
(gimple_in_ssa_p, gimple_aliases_computed_p, gimple_addressable_vars,
gimple_call_clobbered_vars, gimple_referenced_vars, gimple_global_var,
gimple_nonlocal_all): New accessors.
(first_referenced_var): Update.
(mark_stmt_modified): Update.
(is_call_clobbered): Update.
(mark_call_clobbered): Update.
(clear_call_clobbered): Update.
(mark_non_addressable): Update.
* tree-vrp.c (get_value_range): Update.
* tree-into-ssa.c (in_ssa_p): Kill.
(get_default_def_for): Update.
(rewrite_into_ssa): Update.
* tree-complex.c (init_parameter_lattice_values): Update.
(update_complex_assignment): Update.
(update_parameter_components): Update.
(expand_complex_libcall): Update.
(expand_complex_operations_1): Update.
* tree-tailcall.c (arg_needs_copy_p): Update.
(add_virtual_phis): Update.
(tree_optimize_tail_calls_1): Update.
* tree-ssa-dse.c (memory_ssa_name_same): Update.
* tree-ssa-copyrename.c
(copy_rename_partition_coalesce): Update.
* tree-ssa-math-opts.c (execute_cse_reciprocals): Update.
* tree-ssa-propagate.c (set_rhs): Update.
* tree-ssa-alias.c (aliases_computed_p, call_clobbered_vars,
addressable_vars, global_var):Kill.
(set_initial_properties): Update.
(init_alias_info): Update.
(finalize_ref_all_pointers): Update.
(setup_pointers_and_addressables): Update.
(maybe_create_global_var): Update.
(create_global_var): Update.
(dump_points_to_info): Update.
* function.h (struct gimple_df): Forward declare.
(struct function): Add GIMPLE_DF field.
* gimplify.c (force_gimple_operand): Update.
* tree-dfa.c (referenced_vars, default_defs): KIll.
(make_rename_temp): Update.
(dump_variable): Update.
(referenced_var_lookup): Update.
(referenced_var_check_and_insert): Update.
(default_def): Rename to ...
(gimple_default_def): ... this one; accept cfun argument.
(set_default_def): Update.
* tree-cfgcleanup.c (modified_noreturn_calls): Kill.
(cleanup_control_flow): Update.
* tree-ssa-pre.c (compute_avail): Update
* tree-ssa-live.c (calculate_live_on_entry): Update.
* tree-ssa.c (verify_use): Update.
(verify_call_clobbering): Update.
(verify_call_clobbering): Update.
(init_tree_ssa): Update.
(delete_tree_ssa): Update.
* tree-outof-ssa.c (coalesce_ssa_name): Update.
(rewrite_out_of_ssa): Update.
* tree-flow.h (gimple_df): New structure collecting dataflow variables.
(FREE_SSANAMES, SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS): New
private accessors.
(in_ssa_p, modified_noreturn_calls, referenced_vars, default_defs,
ssa_names, global_var, nonlocal_all, call_clobbered_vars,
addressable_vars, aliases_computed_p): Kill.
(default_def): Rename to...
(gimple_default_def): ... this one.
(defaule_def_fn): Kill.
(num_referenced_vars, ssa_names, num_ssa_names): Update.
* tree-ssa-structalias.c (nonlocal_all): Kill.
(get_constraint_exp_from_ssa_var): Update.
(create_nonlocal_var): Update.
(get_constraint_for): Update.
(update_alias_info): Update.
(find_global_initializers): Update.
(intra_create_variable_infos): Update.
(intra_create_variable_infos):
(find_what_p_points_to): Update.
(init_alias_heapvars): Update.
* tree-cfg.c (remove_bb): Update.
(gimplify_val): Update.
* tree-ssa-reassoc.c (get_rank): Update.
(init_reassoc): Update.
* tree-ssanames.c: Do not include gt-tree-ssanames.h
(ssa_names, free_ssanames): Kill.
(init_ssanames): Update.
(make_ssa_name): Update.
(release_ssa_name): Update.
(release_defs): Update.
(replace_ssa_name_symbol): Update.
* tree-ssa-operands.c (access_can_touch_variable): Update.
(add_virtual_operand): Update.
(add_call_clobber_ops): Update.
(add_call_read_ops): Update.
(get_call_expr_operands): Update.
(get_asm_expr_operands): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119294 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-dfa.c')
-rw-r--r-- | gcc/tree-dfa.c | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c index 5ade6455d96..3330624c19f 100644 --- a/gcc/tree-dfa.c +++ b/gcc/tree-dfa.c @@ -71,18 +71,6 @@ static tree collect_dfa_stats_r (tree *, int *, void *); static tree find_vars_r (tree *, int *, void *); -/* Global declarations. */ - -/* Array of all variables referenced in the function. */ -htab_t referenced_vars; - -/* Default definition for this symbols. If set for symbol, it - means that the first reference to this variable in the function is a - USE or a VUSE. In those cases, the SSA renamer creates an SSA name - for this variable with an empty defining statement. */ -htab_t default_defs; - - /*--------------------------------------------------------------------------- Dataflow analysis (DFA) routines ---------------------------------------------------------------------------*/ @@ -222,7 +210,7 @@ make_rename_temp (tree type, const char *prefix) if (TREE_CODE (type) == COMPLEX_TYPE) DECL_COMPLEX_GIMPLE_REG_P (t) = 1; - if (referenced_vars) + if (gimple_referenced_vars (cfun)) { add_referenced_var (t); mark_sym_for_renaming (t); @@ -375,10 +363,10 @@ dump_variable (FILE *file, tree var) } } - if (default_def (var)) + if (gimple_default_def (cfun, var)) { fprintf (file, ", default def: "); - print_generic_expr (file, default_def (var), dump_flags); + print_generic_expr (file, gimple_default_def (cfun, var), dump_flags); } if (may_aliases (var)) @@ -611,7 +599,8 @@ referenced_var_lookup (unsigned int uid) { struct int_tree_map *h, in; in.uid = uid; - h = (struct int_tree_map *) htab_find_with_hash (referenced_vars, &in, uid); + h = (struct int_tree_map *) htab_find_with_hash (gimple_referenced_vars (cfun), + &in, uid); gcc_assert (h || uid == 0); if (h) return h->to; @@ -630,7 +619,8 @@ referenced_var_check_and_insert (tree to) in.uid = uid; in.to = to; - h = (struct int_tree_map *) htab_find_with_hash (referenced_vars, &in, uid); + h = (struct int_tree_map *) htab_find_with_hash (gimple_referenced_vars (cfun), + &in, uid); if (h) { @@ -643,7 +633,8 @@ referenced_var_check_and_insert (tree to) h = GGC_NEW (struct int_tree_map); h->uid = uid; h->to = to; - loc = htab_find_slot_with_hash (referenced_vars, h, uid, INSERT); + loc = htab_find_slot_with_hash (gimple_referenced_vars (cfun), + h, uid, INSERT); *(struct int_tree_map **) loc = h; return true; } @@ -652,12 +643,13 @@ referenced_var_check_and_insert (tree to) variable. */ tree -default_def (tree var) +gimple_default_def (struct function *fn, tree var) { struct int_tree_map *h, in; gcc_assert (SSA_VAR_P (var)); in.uid = DECL_UID (var); - h = (struct int_tree_map *) htab_find_with_hash (default_defs, &in, + h = (struct int_tree_map *) htab_find_with_hash (DEFAULT_DEFS (fn), + &in, DECL_UID (var)); if (h) return h->to; @@ -675,14 +667,16 @@ set_default_def (tree var, tree def) gcc_assert (SSA_VAR_P (var)); in.uid = DECL_UID (var); - if (!def && default_def (var)) + if (!def && gimple_default_def (cfun, var)) { - loc = htab_find_slot_with_hash (default_defs, &in, DECL_UID (var), INSERT); - htab_remove_elt (default_defs, *loc); + loc = htab_find_slot_with_hash (DEFAULT_DEFS (cfun), &in, + DECL_UID (var), INSERT); + htab_remove_elt (DEFAULT_DEFS (cfun), *loc); return; } gcc_assert (TREE_CODE (def) == SSA_NAME); - loc = htab_find_slot_with_hash (default_defs, &in, DECL_UID (var), INSERT); + loc = htab_find_slot_with_hash (DEFAULT_DEFS (cfun), &in, + DECL_UID (var), INSERT); /* Default definition might be changed by tail call optimization. */ if (!*loc) { |