This is the mail archive of the gcc-cvs@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]

gcc/gcc ChangeLog.lno Makefile.in cfghooks.h c ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	lno-branch
Changes by:	rakdver@gcc.gnu.org	2004-01-03 20:25:31

Modified files:
	gcc            : ChangeLog.lno Makefile.in cfghooks.h cfgloop.c 
	                 cfgloop.h cfgloopanal.c cfgloopmanip.c cfgrtl.c 
	                 jump.c loop-unswitch.c params.def rtl.h 
	                 toplev.c tree-cfg.c tree-dump.c tree-flow.h 
	                 tree-mudflap.c tree-optimize.c tree-sra.c 
	                 tree-ssa-loop.c tree-ssa.c tree-tailcall.c 
	                 tree.c tree.h 
	gcc/doc        : invoke.texi 
	gcc/testsuite/gcc.dg/tree-ssa: 20030711-1.c 20030714-2.c 
Added files:
	gcc            : tree-ssa-loop-im.c 
	gcc/testsuite/gcc.dg/tree-ssa: copy-headers.c 

Log message:
	* cfghooks.h (struct cfg_hooks): New fields split_block_after_labels
	and move_block_after, type of cfgh_make_forwarder_block field changed.
	(HEADER_BLOCK, LATCH_EDGE): Moved to cfgloop.c.
	(split_block_after_labels, move_block_after): New macros.
	(make_forwarder_block): Changed.
	* cfgloop.c (HEADER_BLOCK, LATCH_EDGE): Moved from cfghooks.h.
	(update_latch_info, mfb_keep_just, mfb_keep_nonlatch,
	fill_sons_in_loop): New functions.
	(canonicalize_loop_headers): Changed due to changes in
	make_forwarder_block.
	* cfgloopmanip.c (split_loop_bb): Don't update dominators.
	(create_preheader): Use make_forwarder_block.
	(mfb_keep_just, mfb_update_loops): New.
	* cfgrtl.c (rtl_split_block_after_labels): New.
	(redirect_edge_with_latch_update): Removed.
	(rtl_make_forwarder_block): New sematics.
	(rtl_split_block): Update dominators.
	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks):
	Add rtl_split_block_after_labels.
	* tree-cfg.c (tree_make_forwarder_block): Changed semantics.
	(create_blocks_annotations): Removed.
	(build_tree_cfg): Don't call create_blocks_annotations.
	(create_bb): Create annotations for a new block.
	(tree_split_edge): Don't call create_block_annotation.
	Update irreducible loop information.
	(tree_loop_optimizer_finalize): Add loop structure check.
	(tree_redirect_edge_and_branch_1): Return the original edge if
	no redirecting is neccessary.
	(tree_split_block): Make the semantics same as for rtl_split_block.
	(tree_split_block_after_labels, tree_move_block_after): New.
	(tree_cfg_hooks): Add tree_split_block_after_labels and
	tree_move_block_after.
	
	* cfgloopanal.c (mark_irreducible_loops): Fix.
	* loop-unswitch.c (unswitch_loop): Fix.
	
	* Makefile.in (tree-ssa-loop.o): Add cfgloop.h and tree-inline.h
	dependency.
	* jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
	copy_loop_headers): Removed.
	* rtl.h (copy_loop_headers): Declaration removed.
	* toplev.c (rest_of_compilation): Do not call loop header copying.
	* tree-dump.c (dump_files): Add .ch dump.
	* tree-flow.h (tree_duplicate_bb, copy_loop_headers): Declare.
	* tree-optimize.c (optimize_function_tree): Add loop header copying
	pass.
	* tree-ssa-loop.c: Include cfgloop.h and tree-inline.h.
	(dump_file, dump_flags): Renamed to loop_dump_file and
	loop_dump_flags.
	(call_expr_p, should_duplicate_loop_header_p, copy_loop_headers):
	New.
	* tree.h (enum tree_dump_index): Add ch dump.
	* doc/invoke.texi (-fdump-tree-copy-headers): Document.
	* testsuite/gcc.dg/tree-ssa/20030711-1.c: Update test outcome.
	* testsuite/gcc.dg/tree-ssa/20030714-2.c: Ditto.
	* testsuite/gcc.dg/tree-ssa/copy-headers.c: New test.
	* tree-cfg.c (tree_duplicate_bb): New function.
	
	* tree-ssa-loop-im.c: New file.
	* Makefile.in (tree-ssa-loop-im.o): Add.
	* params.def (PARAM_LIM_EXPENSIVE): New parameter.
	* tree-dump.c (dump_files): Move .loop dump.
	* cfgloop.h (superloop_at_depth, get_loop_body_in_dom_order): Declare.
	(loop_dump_file, loop_dump_flags): Declare variables.
	* cfgloop.c (superloop_at_depth, get_loop_body_in_dom_order): New
	functions.
	* tree-flow.h (struct stmt_ann_d): Add aux field.
	(bsi_commit_edge_inserts): Declaration changed.
	(tree_ssa_lim): Declare.
	* tree-mudflap.c (mf_xform_derefs_1): Use in_array_bounds_p.
	* tree-optimize.c (optimize_function_tree): Move loop optimization
	pass.
	* tree-sra.c (scalarize_structures): Modified due to
	bsi_commit_edge_inserts change.
	* tree-ssa-loop.c (tree_ssa_loop_opt): Call tree_ssa_lim.
	* tree-ssa.c (rewrite_trees, rewrite_vars_out_of_ssa): Modified due to
	bsi_commit_edge_inserts change.
	* tree.c (in_array_bounds_p): New function.
	* tree.h (in_array_bounds_p): Declare.
	(enum tree_dump_index): Move loop dump.
	* tree-cfg.c (bsi_commit_edge_inserts): Don't take update_annotations
	argument.
	
	* tree-ssa.c (rewrite_into_ssa, rewrite_out_of_ssa): Ensure that the
	closed files are not used.
	
	* tree-tailcall.c (find_tail_calls, eliminate_tail_call): Update
	phi nodes for vdefs of the eliminated call.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-im.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.lno.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.13&r2=1.1.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.903.2.158.2.2&r2=1.903.2.158.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfghooks.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.6&r2=1.1.2.6.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.14.2.12&r2=1.14.2.12.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.2.4.9.2.1&r2=1.2.4.9.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloopanal.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.2.4.9&r2=1.2.4.9.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloopmanip.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.3.2.11&r2=1.3.2.11.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgrtl.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.57.2.21&r2=1.57.2.21.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/jump.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.210.2.17&r2=1.210.2.17.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-unswitch.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.2.2.6&r2=1.2.2.6.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.def.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.15.2.15&r2=1.15.2.15.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.362.2.30&r2=1.362.2.30.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.654.2.84.2.2&r2=1.654.2.84.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-cfg.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.4.244&r2=1.1.4.244.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-dump.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.6.2.61.2.2&r2=1.6.2.61.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.4.177.2.1&r2=1.1.4.177.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-mudflap.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.60&r2=1.1.2.60.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-optimize.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.4.98.2.3&r2=1.1.4.98.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-sra.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.9&r2=1.1.2.9.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.3&r2=1.1.2.3.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.4.180&r2=1.1.4.180.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-tailcall.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.12&r2=1.1.2.12.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.263.2.75.2.1&r2=1.263.2.75.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.342.2.154.2.4&r2=1.342.2.154.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.152.2.63.2.2&r2=1.152.2.63.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/20030711-1.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.4&r2=1.1.2.4.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/20030714-2.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.2&r2=1.1.2.2.2.1


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