gcc/gcc ChangeLog.rtlopt Makefile.in basic-blo ...

rakdver@gcc.gnu.org rakdver@gcc.gnu.org
Sat Oct 19 08:20:00 GMT 2002


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	rtlopt-branch
Changes by:	rakdver@gcc.gnu.org	2002-10-19 08:20:25

Modified files:
	gcc            : ChangeLog.rtlopt Makefile.in basic-block.h 
	                 bb-reorder.c cfglayout.c cfglayout.h cfgloop.c 
	                 doloop.c loop.c params.def predict.c toplev.c 
	                 tracer.c unroll.c 
Added files:
	gcc            : cfgloopanal.c cfgloopmanip.c cfgloop.h 
	                 loop-init.c loop-unswitch.c loop-unroll.c 

Log message:
	* Makefile.in (cfgloopanal.o): New.
	(doloop.o, predict.o, toplev.o, loop.o, unroll.o, cfgloop.o): Include
	cfgloop.h
	* basic-block.h (loop, loops): Forward declare.
	(flow_loops_find, flow_loops_update, flow_loops_free, flow_loops_dump,
	flow_loop_dump, flow_loop_scan, flow_loop_tree_node_add,
	flow_loop_tree_node_remove, LOOP_*, flow_loop_outside_edge_p,
	flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
	dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
	add_bb_to_loop, remove_bb_from_loops, find_common_loop,
	verify_loop_structure, VLS_*): Move to ...
	(BB_IRREDUCIBLE): New flag.
	* cfgloop.h: ... here; new file;
	(struct loop_desc, simple_loop_p, count_iterations): Declare.
	* cfgloop.c: Include cfgloop.h
	* doloop.c: Likewise.
	* predict.c: Likewise.
	(estimate_probability): Predict number of iterations.
	* loop.c: Likewise.
	(strength_reduce): kill PRED_LOOP_ITERATIONS prediction
	* toplev.c: Include cfgloop.h
	* unroll.c: Likewise.
	* cfgloopanal.c: New file.
	
	* Makefile.in (cfgloopmanip.o): New.
	* cfglayout.c (cfg_layout_redirect_edge): Return exit status.
	(cfg_layout_duplicate_bb): Set copy field.
	* cfglayout.h (cfg_layout_redirect_edge): Declaration changed.
	(struct reorder_block_def): Added new fields.
	* cfgloop.c (cancel_loop, cancel_loop_tree): New functions.
	* cfgloop.h: Reformated.
	(struct loop): Added new field.
	(cancel_loop, cancel_loop_tree, can_duplicate_loop_p,
	duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
	Declare.
	* cfgloopmanip.c: New.
	
	* Makefile.in (loop-unswitch.o, loop-init.o): New.
	(cfglayout.o): Add dependency on cfgloop.h.
	(cfgloopmanip.o): Add dependency on output.h.
	* basic-block.h (BB_SUPERBLOCK): New flag.
	* cfglayout.h (cfg_layout_initialize): Declaration changed.
	* cfglayout.c (cfgloop.h): Include.
	(cleanup_unconditional_jumps, cfg_layout_initialize): Update loop data.
	(break_superblocks): New.
	(cfg_layout_finalize): Call it.
	* bb_reorder.c (reorder_basic_blocks): Add parameter to
	cfg_layout_initialize call.
	* cfgloop.c (verify_loop_structure): Add irreducible loop info
	verification.
	* cfgloop.h (VLS_EXPECR_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES):
	Merged to enum together with...
	(VLS_EXPECT_MARKED_IRREDUCIBLE_LOOPS, VLS_FOR_LOOP): New flags.
	(CP_SIMPLE_PREHEADERS, CP_INSIDE_CFGLAYOUT): New flags.
	(num_loop_insns, loop_split_edge_with, fix_loop_placement,
	create_preheaders, force_single_succ_latches, expected_loop_iterations,
	loop_optimizer_init, loop_optimizer_finalize, unswitch_loops): Declare.
	* cfgloopanal.c (num_loop_insns, expected_loop_iterations):
	New functions.
	* cfgloopmanip.c (output.h): Include.
	(fix_loop_placement): Declaration moved to cfgloop.h.
	(create_preheader, create_preheaders, force_sinle_succ_latches,
	loop_split_edge_with): New functions.
	* loop-init.c: New.
	* loop-unswitch: New.
	* params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
	* toplev.c (DFI_loop2): New.
	(flag_unswitch_loops): New.
	(rest_of_compilation): Add loop unswitching pass.
	(parse_options_and_default_flags): Enable it at -O3.
	
	* Makefile.in (loop-unroll.o): New.
	* cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New flags.
	(unroll_and_peel_loops): Declare.
	* loop-unroll.c: New.
	* params.def (PARAM_MAX_UNROLL_TIMES, PARAM_MAX_PEELED_INSNS,
	PARAM_MAX_PEEL_TIMES): New.
	* toplev.c (flag_old_unroll_loops, flag_old_unroll_all_loops): Used
	instead of ...
	(flag_unroll_loops, flag_unroll_all_loops): Used for new loop optimizer.
	(flag_peel_loops): New.
	(parse_options_and_default_flags): Turn them on with -O3.
	(process_options): Modified.
	(rest_of_compilation): Add unrolling/peeling pass.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloopanal.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=NONE&r2=1.1.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloopmanip.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.h.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-init.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-unswitch.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-unroll.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.rtlopt.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.2.4&r2=1.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.937.2.2&r2=1.937.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/basic-block.h.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.158.2.1&r2=1.158.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/bb-reorder.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.50&r2=1.50.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfglayout.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.21.4.1&r2=1.21.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfglayout.h.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.3&r2=1.3.8.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.15.4.1&r2=1.15.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doloop.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.21.2.1&r2=1.21.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.417.2.1&r2=1.417.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.def.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.15.6.1&r2=1.15.6.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/predict.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.73.2.1&r2=1.73.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.668.2.2&r2=1.668.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tracer.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.3.2.1&r2=1.3.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/unroll.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.174.2.1&r2=1.174.2.2



More information about the Gcc-cvs mailing list