aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-08 08:14:05 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-08 08:14:05 +0000
commitcc64af3f0b872d58f6c1090dafafb0411fd9dcfc (patch)
tree39adf57169ab42ea4a6ba0f76a597f50140b55c9
parent46801bf86db7f72bd9655c480f9b7e94b44f61e4 (diff)
* cfgexpand.c (expand_debug_expr): Use Pmode in CONST_STRINGs.var-tracking-assignments-merge-145121-before
* var-tracking.c (struct variable_tracking_info_def): Added permp and flooded fields. (dv_is_decl_p): Update comments. (variable_htab_eq): Use #if ENABLE_CHECKING. (var_reg_decl_set): Update comments. Add iopt parameter. (var_reg_set): Pass it INSERT as iopt. (var_mem_decl_set): Update comments. Add iopt parameter. (var_mem_set): Pass it INSERT as iopt. (val_store): Pass INSERT as iopt. (val_reset): New. Pass NO_INSERT as iopt. Split out of... (val_resolve): ... this. Avoid dump crash when not given insn. Pass INSERT as iopt. (variable_union): Take advantage of canonical order in 1-part variables. Use XDELETEVEC. (insert_into_intersection): Update comments. Rename parameter. Maintain canonical order. (intersect_loc_chains): Take value and location chain rather than DVAR. Don't insert self. (merge_with_missing_1pdv_as_union): Remove. (tie_break_pointers, canon_value_cmp): New. (loc_cmp, canonicalize_loc_order_check): New. (canonicalize_values_mark, canonicalize_values_star): New. (variable_merge_over_cur): Renamed from variable_merge, combined with variable_merge3. Reimplemented to perform union of multi-part variables and intersection and progressive canonicalization of 1-part ones. (variable_merge_over_src): Renamed from variable_merge2. Simplified to perform only union of multi-part variables. (dataflow_set_merge): Use new entry points. (dataflow_set_equiv_regs, remove_duplicate_values): New. (struct dfset_post_merge): Drop old. Add permp. (variable_post_merge_new_vals): New. (variable_post_merge): Removed. (struct dataflow_set_unavailable): Removed. (remove_unavailable_values): Removed. (dataflow_set_remove_unavailable): Removed. (variable_post_merge_perm_vals): New. (dataflow_post_merge_adjust): Create new values, merge permanent values, then canonicalize equivalence sets. (dataflow_set_remove_mem_locs): Mark as changed when cur_loc is removed. (onepart_variable_different_p): New. (variable_different_p): Use it. (replace_expr_with_values): Use Pmode for addresses. (compute_bb_dataflow): Pass INSERT as iopt. Canonicalize register, value equivalence sets, and canonical order. (vt_find_locations): Rework convergence function used for 1-part variables. Control more verbose dump output with -fverbose-cselib. (variable_was_changed): Mark newly-created empty variable with zero refcount. (set_slot_part): Insert in canonical order on 1-part vars. (set_variable_part): Add iopt parameter. Update comments. (clobber_slot_part): New, factored out of... (clobber_variable_part): ... this. (delete_slot_part): New, factored out of... (delete_variable_part): ... this. (emit_note_insn_var_location): Remove variable only if refcount is zero. (emit_notes_in_bb): Pass INSERT for iopt. Remove obsolete code. (vt_add_function_parameters): Pass INSERT for iopt. (vt_initialize): Initialize permp and flooded. (vt_finalize): Release permp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@147276 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.vta15
1 files changed, 7 insertions, 8 deletions
diff --git a/gcc/ChangeLog.vta b/gcc/ChangeLog.vta
index 12cd6dc5b6f..faa68b76b3f 100644
--- a/gcc/ChangeLog.vta
+++ b/gcc/ChangeLog.vta
@@ -2,10 +2,9 @@
* cfgexpand.c (expand_debug_expr): Use Pmode in CONST_STRINGs.
* var-tracking.c (struct variable_tracking_info_def): Added
- perm and flooded fields.
+ permp and flooded fields.
(dv_is_decl_p): Update comments.
(variable_htab_eq): Use #if ENABLE_CHECKING.
- (unshare_variable): Initialize new_var's loc_chain.
(var_reg_decl_set): Update comments. Add iopt parameter.
(var_reg_set): Pass it INSERT as iopt.
(var_mem_decl_set): Update comments. Add iopt parameter.
@@ -32,7 +31,7 @@
Simplified to perform only union of multi-part variables.
(dataflow_set_merge): Use new entry points.
(dataflow_set_equiv_regs, remove_duplicate_values): New.
- (struct dfset_post_merge): Drop old. Add perm.
+ (struct dfset_post_merge): Drop old. Add permp.
(variable_post_merge_new_vals): New.
(variable_post_merge): Removed.
(struct dataflow_set_unavailable): Removed.
@@ -44,7 +43,7 @@
(dataflow_set_remove_mem_locs): Mark as changed when cur_loc is
removed.
(onepart_variable_different_p): New.
- (variable_different_p): Use it. Cope with NULL cur_loc.
+ (variable_different_p): Use it.
(replace_expr_with_values): Use Pmode for addresses.
(compute_bb_dataflow): Pass INSERT as iopt. Canonicalize register,
value equivalence sets, and canonical order.
@@ -59,12 +58,12 @@
(clobber_variable_part): ... this.
(delete_slot_part): New, factored out of...
(delete_variable_part): ... this.
- (emit_note_insn_var_location): Tolerate empty location list.
- Remove variable only if refcount is zero.
+ (emit_note_insn_var_location): Remove variable only if
+ refcount is zero.
(emit_notes_in_bb): Pass INSERT for iopt. Remove obsolete code.
(vt_add_function_parameters): Pass INSERT for iopt.
- (vt_initialize): Initialize perm and flooded.
- (vt_finalize): Release perm.
+ (vt_initialize): Initialize permp and flooded.
+ (vt_finalize): Release permp.
2009-05-08 Alexandre Oliva <aoliva@redhat.com>