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