gcc/gcc ChangeLog.rtlopt Makefile.in algebraic ...

rakdver@gcc.gnu.org rakdver@gcc.gnu.org
Wed Jul 9 21:48:00 GMT 2003


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	rtlopt-branch
Changes by:	rakdver@gcc.gnu.org	2003-07-09 21:48:08

Modified files:
	gcc            : ChangeLog.rtlopt Makefile.in algebraic.c 
	                 algebraic.h basic-block.h cfganal.c cfglayout.c 
	                 cfgloop.c cfgloop.h cfgloopanal.c 
	                 cfgloopmanip.c cfgrtl.c df.c doloop.c 
	                 dominance.c flags.h loop-init.c loop-iv.c 
	                 loop-unroll.c loop.c loop.h params.def rtl.h 
	                 toplev.c 
	gcc/config/i386: i386.c 
Added files:
	gcc            : loop-invariant.c 

Log message:
	* loop-invariant.c: New file.
	* Makefile.in (STRICT_WARN, STRICT2_WARN): Remove -Wtraditional.
	(OBJS): Add loop-invariant.o.
	(loop-init.o): Add flags.h and $(TIMEVAR_H) dependency.
	(loop-invariant.o): New.
	* algebraic.c: Ansify.
	(substitute_into_expr): Handle SIE_DEFAULT_ID.
	* algebraic.h: Ansify.
	(SIE_DEFAULT_ID): New flag for substitute_into_expr.
	* basic-block.h (def_enum_to_p): Declare.
	(fast_dom): Declare.
	(fast_dominated_by_p, create_fq_dominators, release_fq_dominators):
	Use global fast dominance structure.
	* cfganal.c (can_fallthru): Fix.
	* cfglayout.c (fixup_reorder_chain): Handle jumptables.
	* cfgloop.c (glb_enum_p): Renamed to ...
	(def_enum_to_p): ... and exported.
	(get_loop_body): Use it.
	(get_loop_exit_edges): Fix.
	(verify_loop_structure): Check landing pads.
	* cfgloop.h: Ansify.
	(struct loop): Added fields info and landing_pad.
	(LOOPS_HAVE_LANDING_PADS): New flag.
	(struct iv_occurence): Add field value.
	(struct movable_list, struct loop_df_info): New.
	(DF_REF_AUX_VALUE, DF_REF_AUX_MOVABLE): New.
	(loop_df, block_dominance_order): Declare.
	(loop_optimizer_optimize, find_movables, loops_invariant_motion,
	create_landing_pads): New.
	* cfgloopanal.c (get_loop_level): New.
	* cfgloopmanip.c (create_landing_pads): New.
	* cfgrtl.c (can_delete_note_p): Export.
	(force_nonfallthru_and_redirect): Don't skip dead jumptable.
	* df.c (df_reg_clobber_gen): Removed.
	(df_bb_rd_local_compute, df_insn_refs_record, df_rd_local_compute):
	Make more effective for hard regs.
	* doloop.c (get_loop_level): Moved to cfgloopanal.c.
	* dominance.c (fast_dom): New variable.
	(create_fq_dominators, release_fq_dominators): Work on global
	structure.
	* flags.h (flag_unroll_loops, flag_unroll_all_loops,
	flag_reroll_loops, flag_peel_loops): Declare.
	* loop-init.c: Include flags.h and timevar.h.
	(loop_optimizer_optimize): New.
	* loop-iv.c (block_dominance_order): Export.
	(df): Rename to ...
	(loop_df): ... and export.
	(dom): Removed.
	(enter_iv_occurence, record_iv_occurences_1): Initialize value field.
	(dump_insn_ivs, record_def_value, record_use_value, get_def_value,
	get_use_value, clear_reg_values, get_reg_value_at,
	iv_load_used_values, compute_reg_values, simplify_reg_values,
	fill_loop_rd_in_for_def, fill_rd_for_defs, initialize_iv_analysis,
	finalize_iv_analysis, compute_loop_end_values, compute_initial_values,
	record_iv_occurences, iv_new_insn_changes_commit): Use DF_REF_AUX_VALUE.
	(iv_emit_insn_before, iv_emit_insn_after): Return the last insn
	emitted.
	(initialize_iv_analysis): Create df also for hard regs.
	* loop-unroll.c (unroll_and_peel_loops): Kill landing pads.
	* loop.h (struct loop_info): Add bb_after_exit, bb_after_call and
	body fields.
	* params.def (LIM_SPILL_COST, LIM_N_USABLE_REGS, LIM_N_CALL_REGS,
	LIM_REGS_PER_LOOP_LEVEL, LIM_INSNS_PER_REG, LIM_LIFESPAN_WEIGHT,
	LIM_GAIN_WEIGHT, LIM_REG_WEIGHT): New params.
	* rtl.h (can_delete_note_p): Declare.
	* toplev.c (rest_of_compilation): Disable old loop optimizer. Call
	loop_optimizer_optimize.  Move one copy propagation pass after new
	loop optimizer.
	* config/i386/i386.c (override_options): Disable red zone on i386.
	* loop.c (indirect_jump_in_function, indirect_jump_in_function_p):
	Removed.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-invariant.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.184&r2=1.1.2.185
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.937.2.45&r2=1.937.2.46
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/algebraic.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/algebraic.h.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.2.3&r2=1.1.2.4
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.14&r2=1.158.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfganal.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.26.2.4&r2=1.26.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfglayout.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.21.4.10&r2=1.21.4.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.15.4.8&r2=1.15.4.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.h.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.2.19&r2=1.1.2.20
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloopanal.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.4.23&r2=1.1.4.24
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloopmanip.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.2.14&r2=1.1.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgrtl.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.58.4.11&r2=1.58.4.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/df.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.36.2.11&r2=1.36.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doloop.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.21.2.6&r2=1.21.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/dominance.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.12.2.5&r2=1.12.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flags.h.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.88.2.14&r2=1.88.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-init.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.2.6&r2=1.1.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-iv.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.2.16&r2=1.1.2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-unroll.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.1.2.23&r2=1.1.2.24
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.417.2.14&r2=1.417.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop.h.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.63.2.4&r2=1.63.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.def.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.15.6.14&r2=1.15.6.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.367.2.17&r2=1.367.2.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.668.2.49&r2=1.668.2.50
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&only_with_tag=rtlopt-branch&r1=1.446.2.29&r2=1.446.2.30



More information about the Gcc-cvs mailing list