This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[tree-ssa] Branch broken


Folks,

We were quite active yesterday.  One of these patches (or a combination)
broke bootstraps on x86 with:

/home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/bld.toribio/gcc/xgcc -shared-libgcc -B/home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/bld.toribio/gcc/ -
nostdinc++ -L/home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/bld.toribio/i686-pc-linux-gnu/libstdc++-v3/src -L/home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/bld.toribio/i686-pc-linux-gnu/libstdc++-v3/src
/.libs -B/home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/inst.toribio/i686-pc-linux-gnu/bin/ -B/home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/inst.toribio/i686-pc-linux-gnu/lib/ -isystem /home/dnovillo/p
erf/sbox/tree-ssa-branch/local.i686/inst.toribio/i686-pc-linux-gnu/include -isystem /home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/inst.toribio/i686-pc-linux-gnu/sys-include -I/home/dnovillo/perf/sbox/tree-s
sa-branch/local.i686/bld.toribio/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/bld.toribio/i686-pc-linux-gnu/libstdc++-v3/include -I/home/dnovillo/
perf/sbox/tree-ssa-branch/local.i686/src/libstdc++-v3/libsupc++ -O2 -g -O2 -g -O2 -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -fdiagnostics-show-location=once -ffunction-sections -f
data-sections -fimplicit-templates -c /home/dnovillo/perf/sbox/tree-ssa-branch/local.i686/src/libstdc++-v3/src/demangle.cc  -fPIC -DPIC -o .libs/demangle.o

cc1plus: out of memory allocating 304924720 bytes after a total of 37729036 bytes
make[4]: *** [demangle.lo] Error 1
make[4]: Leaving directory `/notnfs/dnovillo/sbox/tree-ssa-branch/bld.toribio/i686-pc-linux-gnu/libstdc++-v3/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/notnfs/dnovillo/sbox/tree-ssa-branch/bld.toribio/i686-pc-linux-gnu/libstdc++-v3'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/notnfs/dnovillo/sbox/tree-ssa-branch/bld.toribio/i686-pc-linux-gnu/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/notnfs/dnovillo/sbox/tree-ssa-branch/bld.toribio'
make: *** [bootstrap] Error 2


Bootstraps on alpha died similarly.  On ia64 we get a warning in
tree-eh.c and fail to finish stage2.  Full logs at
http://people.redhat.com/dnovillo/nightly-testing/tree-ssa-branch/


Thanks.  Diego.

--- gcc.prev/gcc/ChangeLog	2003-09-15 19:09:56.000000000 -0400
+++ gcc/gcc/ChangeLog	2003-09-17 19:47:48.000000000 -0400
@@ -1,3 +1,7 @@
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+	* cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
+
 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
             Jeff Law  <law@redhat.com>
  
--- gcc.prev/gcc/ChangeLog.tree-ssa	2003-09-16 19:46:38.000000000 -0400
+++ gcc/gcc/ChangeLog.tree-ssa	2003-09-18 04:39:34.000000000 -0400
@@ -1,3 +1,146 @@
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+	* tree-cfg.c (remove_useless_stmts_and_vars): Revert last change.
+	* tree-flow.h, tree-ssa.c: Likewise.
+
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+	* tree-eh.c (decide_copy_try_finally): Remove forgotten debug code.
+
+2003-09-17  Daniel Berlin  <dberlin@dberlin.org>
+
+        * tree-ssa-pre.c (pick_ssa_name): New function.
+        (code_motion): Use it.
+
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+	* tree-eh.c: New file.
+	* Makefile.in (OBJS-common): Add it.
+	(tree-eh.o): New.
+	* calls.c (emit_call_1): New argument for full call expr.
+	Check with lookup_stmt_eh_region to set REG_EH_REGION.
+	(expand_call): Likewise for tail-calls.
+	* except.c (struct eh_region): Add tree_label.
+	(gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
+	gen_eh_region_catch, gen_eh_region_allowed,
+	gen_eh_region_must_not_throw, get_eh_region_number,
+	get_eh_region_may_contain_throw, get_eh_region_tree_label,
+	set_eh_region_tree_label, expand_resx_expr): New.
+	(expand_eh_region_start, expand_start_catch): Use them.
+	(expand_end_catch): Tidy.
+	(note_eh_region_may_contain_throw): Take region argument.
+	(note_current_region_may_contain_throw): New.
+	(get_exception_filter): Export.
+	(collect_eh_region_array): Export.
+	(remove_unreachable_regions): Check ERT_TRY based on reachability
+	of catches, not reachability of continue_label.  Never remove 
+	ERT_MUST_NOT_THROW regions.
+	(collect_rtl_labels_from_trees): New.
+	(convert_from_eh_region_ranges): Use it.
+	(connect_post_landing_pads): Handle dying cleanups.
+	(struct reachable_info): Add callback data.
+	(add_reachable_handler): Invoke the callback.
+	(foreach_reachable_handler): New.
+	(reachable_handlers): Use it.
+	(arh_to_landing_pad, arh_to_label): New.
+	(can_throw_internal_1): Split out from can_throw_internal.
+	(can_throw_external_1): Similarly.
+	* except.h: Update.
+	* expr.c (expand_expr): Handle RESX_EXPR, FILTER_EXPR.
+	* gimplify.c (gimplify_modify_expr): Use tree_could_trap_p.
+	* stmt.c (using_eh_for_cleanups_p): Export.
+	(expand_return): Allow any typed rhs.
+	* timevar.def (TV_TREE_EH): New.
+	* tree-cfg.c (eh_stack): Kill.
+	(build_tree_cfg): Don't set it.  Kill code to handle EH.
+	(could_trap_p): Move to tree-eh.c as tree_could_trap_p.
+	(get_eh_region_type, make_try_expr_blocks, make_catch_expr_blocks,
+	make_eh_filter_expr_blocks, try_finallys): Kill.
+	(make_edges): Kill code to handle EH.
+	(make_ctrl_stmt_edges): Kill TRY_FINALLY_EXPR, CATCH_EXPR,
+	EH_FILTER_EXPR.  Handle RESX_EXPR.
+	(make_call_expr_edges): Kill.
+	(make_exit_edges): Use make_eh_edges.
+	(label_to_block): New.
+	(make_goto_expr_edges): Use it.
+	(is_ctrl_stmt): Add RESX_EXPR.
+	(is_ctrl_altering_stmt): Restructure.  Use tree_can_throw_internal.
+	(last_exec_block, compute_reachable_eh): Kill.
+	* tree-dfa.c (get_stmt_operands): Add RESX_EXPR.
+	(get_expr_operands): Add FILTER_EXPR.
+	* tree-dump.c (dump_files): Add tree-eh.
+	* tree-flow.h (struct stmt_ann_d): Kill reachable_exception_handlers.
+	(label_to_block, lower_eh_constructs, make_eh_edges,
+	tree_could_trap_p, tree_could_throw_p, tree_can_throw_internal,
+	tree_can_throw_external): Declare.
+	* tree-optimize.c (optimize_function_tree): Call lower_eh_constructs.
+	(tree_rest_of_compilation): Save tree for inlining.
+	* tree-pretty-print.c (dump_generic_node): Handle FILTER_EXPR,
+	RESX_EXPR.
+	* tree-simple.c (is_gimple_stmt): Add RESX_EXPR.
+	(is_gimple_val): Add FILTER_EXPR.
+	* tree-ssa-dce.c (stmt_useful_p): Restructure.  Add lhs of
+	EXC_PTR_EXPR or FILTER_EXPR.
+	* tree.def (FILTER_EXPR, RESX_EXPR): New.
+	* tree.h (enum tree_dump_index): Add TDI_eh.
+
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+	* tree.c (tsi_link_before): Remove unnecessary parens.
+	(tsi_link_chain_before, tsi_delink): Likewise.
+	(tsi_link_after): Accept the case if the iterator points
+	to a NULL node; treat it as an empty list.
+	(tsi_link_chain_after): Likewise.  Update iterator properly
+	for TSI_CHAIN_END.
+
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+	* tree-inline.c (debug_find_tree_1, debug_find_tree): New.
+
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+	* tree-cfg.c (struct rusv_data): New.
+	(remove_useless_stmts_and_vars_1): Rename from 
+	remove_useless_stmts_and_vars.  Use rusv_data.  Handle goto-next
+	via remembering the last goto seen, and zapping it when appropriate.
+	(remove_useless_stmts_and_vars): New.  Loop until done.
+	* tree-flow.h (remove_useless_stmts_and_vars): Update decl.
+	* tree-optimize.c (optimize_function_tree): Don't cache fnbody.
+	Dump data after remove_useless_stmts_and_vars.
+	* tree-ssa.c (rewrite_out_of_ssa): Kill loop around 
+	remove_useless_stmts_and_vars.
+	* tree-dump.c (dump_files): Add .useless.
+	* tree.h (enum tree_dump_index): Add TDI_useless.
+
+2003-09-17  Diego Novillo  <dnovillo@redhat.com>
+
+	* pretty-print.c (pp_write_text_to_stream): Export.
+	* pretty-print.h (pp_write_text_to_stream): Declare.
+	* tree-pretty-print.c (print_generic_stmt): Flush to file.
+	(dump_generic_node): Call pp_write_text_to_stream.
+	(maybe_init_pretty_print): Take file argument; associate the
+	stream with the buffer.
+
+2003-09-17  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-ccp.c (ccp_fold): If the return value has the wrong
+	type, try to convert it to the proper type rather than failing.
+
+	* tree-ssa-dom.c (optimize_stmt): Note that the statement is
+	modified, even if we just change the virtual operands.  If
+	the statement was modified by const/copy propagation, then
+	set may_have_exposed_new_symbols.
+
+2003-09-17  Diego Novillo  <dnovillo@redhat.com>
+
+	* tree-dfa.c (find_vars_r): Do not consider 'void *' pointers as
+	dereferenced when scanning function call arguments.
+	* tree-flow-inline.h (may_propagate_copy): Block propagation of
+	pointers when they have different memory tags.
+	* tree-ssa-copyprop.c (propagate_copy): When copy propagating
+	pointers, abort if the two pointers don't have identical memory
+	tags.
+
 2003-09-16  Jeff Law  <law@redhat.com>
 
 	* tree-ssa-ccp.c (visit_stmt): Do not set DONT_SIMULATE_AGAIN
--- gcc.prev/gcc/cp/ChangeLog.tree-ssa	2003-09-03 15:10:30.000000000 -0400
+++ gcc/gcc/cp/ChangeLog.tree-ssa	2003-09-17 20:19:27.000000000 -0400
@@ -1,3 +1,8 @@
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+	* decl.c (cxx_init_decl_processing): Don't using_eh_for_cleanups
+	if exceptions are disabled.
+
 2003-09-03  Richard Henderson  <rth@redhat.com>
 
 	* cp-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Use expand_stmt_toplev.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]