1 2005-09-26 Daniel Berlin <dberlin@dberlin.org>
3 * print-tree.c (print_node): Update to check for decl_common structure.
4 * tree-dfa.c (add_referenced_var): Tag's don't have DECL_INITIAL.
5 * tree-dump.c (dequeue_and_dump): Check for decl_common structure
6 before accessing DECL_ARTIFICIAL.
8 * tree-flow-inline.h (clear_call_clobbered): Update for tag
10 (unmodifiable_var_p): Ditto.
11 * tree-flow.h (mem_tag_kind): Remove.
12 (struct var_ann_d): Remove mem_tag_kind member.
13 * tree-gimple.c (is_gimple_reg): Tags are not gimple registers.
14 * tree-pretty-print.c (dump_generic_node): Handle tags.
15 * tree-ssa-alias.c (tag_marked_global): Update for tags.
16 (mark_tag_global): Ditto.
17 (init_transitive_clobber_worklist): Ditto.
18 (mark_aliases_call_clobbered): Ditto.
19 (compute_tag_properties): Ditto.
20 (init_alias_info): Ditto.
21 (group_aliases): Ditto.
22 (setup_pointers_and_addressables): Ditto.
24 (create_tag_raw): New function.
25 (create_memory_tag): Use it.
26 (dump_alias_info): Update for tags.
27 (may_be_aliased): Ditto.
28 (add_type_alias): Ditto.
29 (new_type_alias): Ditto.
31 (create_structure_vars): Ditto.
32 * tree-ssa-ccp.c (get_default_value): Ditto.
33 * tree-ssa-operands.c (get_expr_operands): Ditto.
34 (add_stmt_operand): Ditto.
35 (add_call_clobber_ops): Remove duplicated condition.
36 * tree-ssa.c (verify_flow_insensitive_alias_info): Update for
38 * tree-tailcall.c (suitable_for_tail_opt_p): Ditto.
39 * tree-vect-transform.c (vect_create_data_ref_ptr): Ditto.
40 * tree.c (init_ttree): Update structures for new tree codes.
41 (tree_code_size): Update sizes for new tree codes.
42 (make_node_stat): Don't try to set common things on minimal
44 (tree_node_structure): Update for tags.
45 (is_global_var): Ditto.
46 * tree.def: Add new tree codes.
47 * tree.h (MTAG_P): New macro.
48 (TREE_MEMORY_TAG_CHECK): Ditto.
49 (SSA_VAR_P): Update for tags.
50 (struct tree_memory_tag): New structure.
51 (MTAG_GLOBAL): New macro.
52 (union tree_node): Add memory tag member.
53 * treestruct.def (TS_MEMORY_TAG): New.
55 2005-09-22 Daniel Berlin <dberlin@dberlin.org>
56 Jan Hubicka <jh@suse.cz>
58 * Makefile.in (ipa-callees.o): New.
60 * ipa-reference.c (check_operand): Handle FUNCTION_DECL.
61 (look_for_address_of): Ditto.
62 (ipa_init): Add static functions to all_module_statics.
63 (static_execute): Don't touch readonly on FUNCTION_DECL.
65 * cgraph.c (cgraph_create_node): Add to uid array.
66 (cgraph_remove_node): Remove from uid array.
67 (cgraph_node_by_uid): New function.
68 * cgraph.h (cgraph_node_by_uid): Prototype.
69 * cgraphunit.c (verify_cgraph_node): Make sure uid array doesn't
72 * ipa-callees.c: New file.
74 * passes.c: (init_optimization_passes): Add pass_ipa_callees.
75 * timevar.def (TV_IPA_CALLEES): New.
76 * tree-dfa.c (add_referenced_var): Stop call clobbering on add.
77 * tree-flow-inline.h (is_call_clobbered): Remove is_global_var.
78 * tree-flow.h (struct var_ann_d): Add callees bitmap.
79 * tree-pass.h (pass_ipa_callees): New.
80 * tree-ssa-alias.c (mark_aliases_call_clobbered): Don't mark
81 unmodifiable vars call clobbered.
82 (set_initial_properties): Mark global but not unmodiifable vars
84 Check for unmodifiable var before call clobbering.
85 (create_global_var): This global var is call clobbered.
86 * tree-ssa-operands.c (add_call_clobber_ops): Remove
87 unmodifiable_var check, and rewrite into assert.
88 * tree-ssa-structalias.c (update_alias_info): Don't call clobber
91 2005-09-14 Daniel Berlin <dberlin@dberlin.org>
93 * tree-flow-inline (mark_call_clobbered): Don't auto-set
94 DECL_EXTERNAL on tags.
95 * tree-ssa-alias.c (tag_marked_global): New function.
96 (mark_tag_global): Ditto.
97 (sort_tags_by_id): New function.
98 (compute_tag_properties): Renamed from mark_global_tags.
99 Change to iteration and compute tag globalness properly as well.
100 (set_initial_properties): Renamed from set_initial_clobbers.
101 Set initial globalness as well.
102 (compute_call_properties): Call newly renamed functions.
103 (compute_may_aliases): Group aliases before clobbering.
104 (group_aliases): Don't deal with clobbering.
105 (setup_pointers_and_addressables): Ditto.
106 (get_nmt_for): Ditto.
108 2005-09-11 Daniel Berlin <dberlin@dberlin.org>
110 * tree-ssa-alias.c (mark_global_tags): Don't touch SFT's here.
112 2005-09-11 Daniel Berlin <dberlin@dberlin.org>
114 * tree-ssa-alias.c (set_initial_clobbers): Use
115 mark_bitmap_call_clobbered.
116 (group_aliases): Ditto.
117 * tree-flow-inline.h (mark_bitmap_call_clobbered): New function.
118 * tree-flow.h: Declare mark_bitmap_call_clobbered.
120 2005-09-11 Daniel Berlin <dberlin@dberlin.org>
122 * tree-ssa-alias.c (init_transitive_clobber_worklist): New
124 (add_to_worklist): Ditto.
125 (mark_aliases_call_clobbered): Ditto.
126 (mark_global_tags): Ditto.
127 (set_initial_clobbers): Ditto.
128 (compute_call_clobbered): Ditto.
129 (compute_may_alias): Call compute_call_clobbered, and
131 (compute_flow_sensitive_aliasing): Remove call clobbering code.
132 (compute_flow_insensitive_aliasing): Don't group here.
133 (group_aliases): Fix call clobbering on grouping.
134 (add_may_alias): Don't deal with call clobbering here.
135 (replace_may_alias): Ditto.
137 2005-09-07 Richard Guenther <rguenther@suse.de>
139 PR tree-optimization/22555
140 * tree-dfa.c (okay_component_ref_for_subvars): Do not give up,
141 if one structure field is an array.
142 * tree-ssa-alias.c (create_overlap_variables_for): Likewise.
143 * tree-ssa-structalias.c (create_variable_info_for): Likewise.
144 (get_constraint_for_component_ref): Do not assert we can not
145 only be accessing padding if we deal with an ARRAY_REF.
146 * tree-ssa-loop-ivopts.c (rewrite_use): Mark new vars in stmt
148 * tree-ssa-loop.c (pass_iv_optimize): Schedule TODO_update_ssa.
149 * tree-ssa-operands.c (get_expr_operands): Continue scanning
150 operands even if we found a subvar, but ignore VOPs in this