[tree-ssa] bootstrap failure
Diego Novillo
dnovillo@redhat.com
Fri Apr 25 12:32:00 GMT 2003
Folks,
I got a bootstrap failure last night while running SPEC95.
One of these patches introduced this regression.
I haven't looked very hard, but I *think* it might be your patch
Jason. I had done a bootstrap yesterday that included Andrew's
and Daniel's patch (although that bootstrap didn't include
libjava). It can't be Daniel's because his change is not in the
tree-ssa path.
Thanks. Diego.
+2003-04-24 Jason Merrill <jason@redhat.com>
+
+ * gimplify.c (simplify_cond_expr): Avoid redundant gimplification.
+
+ Add TREE_VEC of case labels to the SWITCH_EXPR during gimplification.
+ * tree.def (CASE_LABEL_EXPR): Add an operand for the LABEL_DECL.
+ * tree.h (SWITCH_LABELS, CASE_LABEL): New macros.
+ * c-simplify.c (c_simplify_stmt) <CASE_LABEL>: Create LABEL_DECL here.
+ * expr.c (expand_expr) <CASE_LABEL_EXPR>: Not here.
+ * gimplify.c (gimplify_ctx): Add case_labels field.
+ (gimplify_switch_expr, gimple_add_case_label): New fns.
+ (simplify_expr): Use them.
+
+2003-04-24 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-flow.h (processed_out_of_ssa): Rename to out_of_ssa_tag.
+ * tree-ssa-live.c (register_ssa_partition): Add variable to partition.
+ (change_partition_var): Use out_of_ssa_tag.
+ (create_ssa_var_map): Add all uses, defs and PHI elements to partition.
+ (new_tree_live_info): Create a live range info structure.
+ (delete_tree_live_info): Free storage.
+ (live_worklist): Fill in the live range info for a variable for the
+ blocks between the def and all the blocks containing uses.
+ (set_if_valid): Set partition bit if variable is in a partition.
+ (add_livein_if_notdef): Set live on entry bit for a var's partition
+ if a definition has not been seen.
+ (calculate_live_on_entry): Create partition live on entry bitmaps for
+ all basic blocks .
+ (calculate_live_on_exit): Calculate live on exit information for each
+ basic block.
+ (init_root_var): Initialize and fill in a root_var structure.
+ (remove_root_var_partition): remove a partition from a root_var list.
+ (delete_root_var): Free storage.
+ (dump_root_var): Display root_var summary.
+ (dump_var_map): Show extra info for ssa name versions.
+ * tree-ssa-live.h (NO_PARTITION): Define.
+ (register_ssa_partition): Remove.
+ (partition_to_var): Use partition_find after decompressing.
+ (var_to_partition): Return NO_PARTITION if var is not in a partition.
+ (struct tree_live_info_d): Define live range info structure.
+ (partition_is_global): Return 1 if used outside a basic block.
+ (live_entry_blocks): Return bitmap over blocks that partition is live
+ on entry to.
+ (live_on_exit): Return bitmap of partitions live on exit from a block.
+ (struct root_var_d): Define a root_var structure.
+ (ROOT_VAR_NONE): Define.
+ (num_root_vars): Number of variables in root_var object.
+ (root_var): Return variable for a root_var index.
+ (first_root_var_partition): Return first partition for a root_var.
+ (next_root_var_partition): Get next partition for a root_var.
+ (find_root_var): Find root_var index for a specific partition.
+ * tree-ssa.c (eliminate_extraneous_phis): Remove.
+ (set_if_valid): Set partition bit if variable is in a partition.
+ (add_conflicts_if_valid): Add conflict between variable and all
+ related partitions set in a bitvector.
+ (coalesce_ssa_name): Create a conflict graph and coalesce all
+ partitions which don't conflict and are related by the same root_var.
+ (assign_vars): Use a root_var object, and assign different real
+ variables to all partitions.
+ (rewrite_out_of_ssa): Call compact_var_map() once, and don't call
+ eliminate_extraneous_phis.
+
+2003-04-23 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-flow.h (create_global_var): Add prototype.
+
+ * tree-dfa.c (create_global_var): Externalize.
+
+ * tree-alias-common.c: Set DECL_CONTEXT on our temp alias vars.
+ (call_may_clobber): Make a copy of this function, since our version
+ will be slightly different soon.
+ (create_alias_vars): We need global_var, so create it if necessary.
+
More information about the Gcc
mailing list