This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.killloop Makefile.in cfgloop ...
- From: rakdver at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 30 Aug 2005 09:31:54 -0000
- Subject: gcc/gcc ChangeLog.killloop Makefile.in cfgloop ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: killloop-branch
Changes by: rakdver@gcc.gnu.org 2005-08-30 09:31:53
Modified files:
gcc : ChangeLog.killloop Makefile.in cfgloop.h df.c
loop-iv.c loop-unroll.c loop-unswitch.c
rtlanal.c
Log message:
* rtlanal.c (may_trap_p): Handle PREFETCH.
* loop-unroll.c (struct opt_info): Add refetches_to_remove field.
(analyze_prefetch_to_remove, remove_redundant_prefetch): New functions.
(analyze_insns_in_loop): Call analyze_prefetch_to_remove.
(apply_opt_in_copies): Call remove_redundant_prefetch.
(free_opt_info): Free prefetches_to_remove field.
* cfgloop.h (struct rtx_iv): Remove analysed field. Added biv_p field.
(iv_get_reaching_def): Removed.
(iv_analyze_result, iv_analyze_expr): Declare.
& df.c (df_bitmaps_free, df_bb_modify): Only work on the specified part
of cfg.
(df_find_use): Handle subregs.
* Makefile.in (loop-iv.o): Add DF_H dependency.
* loop-iv.c: Include df.h.
(enum iv_grd_result): New enum.
(DF_REF_IV, DF_REF_IV_SET): New macros.
(df): New global variable.
(struct insn_info, insn_info, last_def, bivs, max_insn_no, max_reg_no,
assign_luids, mark_sets, kill_sets, mark_single_set, simple_set_p):
Removed.
(clear_iv_info, latch_dominating_def, record_iv, iv_analyze_expr,
iv_analyze_result, iv_analyze_def): New functions.
(iv_analysis_loop_init, iv_get_reaching_def, simple_reg_p,
get_biv_step_1, get_biv_step, iv_analyze_biv, iv_analyze_op,
iv_analyze, biv_p, iv_analysis_done): Work with df representation of
UD chains.
(iv_constant, iv_subreg, iv_extend, iv_mult, iv_shift): Initialize
biv_p, do not set analysed.
(iv_number_of_iterations): Use new interface to iv analysis.
* loop-unroll.c (analyze_iv_to_split_insn): Ditto.
* loop-unswitch.c (may_unswitch_on): Ditto.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.killloop.diff?cvsroot=gcc&only_with_tag=killloop-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=killloop-branch&r1=1.1530.2.1&r2=1.1530.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.h.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.48&r2=1.48.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/df.c.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.86.2.1&r2=1.86.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-iv.c.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=2.35&r2=2.35.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-unroll.c.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.36&r2=1.36.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-unswitch.c.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.32&r2=1.32.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtlanal.c.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.218&r2=1.218.2.1