This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.tree-ssa Makefile.in basic-b ...
- From: rakdver at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 20 Feb 2004 12:46:04 -0000
- Subject: gcc/gcc ChangeLog.tree-ssa Makefile.in basic-b ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: tree-ssa-20020619-branch
Changes by: rakdver@gcc.gnu.org 2004-02-20 12:46:03
Modified files:
gcc : ChangeLog.tree-ssa Makefile.in basic-block.h
bb-reorder.c cfg.c cfghooks.c cfghooks.h
cfglayout.c cfglayout.h cfgrtl.c common.opt
flags.h jump.c loop-unswitch.c opts.c rtl.h
timevar.def toplev.c tracer.c tree-cfg.c
tree-flow.h tree-optimize.c tree-pass.h
tree-ssa-loop.c
gcc/doc : invoke.texi
gcc/testsuite : ChangeLog.tree-ssa
gcc/testsuite/gcc.dg/tree-ssa: 20030711-1.c 20030714-2.c
20030807-3.c
Added files:
gcc/testsuite/gcc.dg/tree-ssa: copy-headers.c
Log message:
* Makefile.in (tree-ssa-loop.o): Add tree-inline.h dependency.
* basic-block.h (struct reorder_block_def): Moved from cfglayout.h.
(alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): New.
* bb-reorder.c (copy_bb): Use cfghooks for bb duplication.
* cfg.c (rbi_pool): New variable.
(alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New functions.
* cfghooks.c (can_duplicate_block_p, duplicate_block): New functions.
* cfghooks.h (struct cfg_hooks): Add can_duplicate_block_p and
duplicate_block hooks.
(can_duplicate_block_p, duplicate_block): Declare.
* cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
(fixup_reorder_chain): Use initialize_bb_rbi.
(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
(cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
(can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
* cfglayout.h (typedef struct reorder_block_def): Moved to
basic_block.h.
(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
removed.
* cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
and duplicate_block fields.
* common.opt (ftree-ch): Add.
* flags.h (flag_tree_ch): Declare.
* jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
copy_loop_headers): Removed.
* loop-unswitch.c (unswitch_loop): Use cfghooks for bb duplication.
* opts.c (decode_options): Enable flag_tree_ch at -O1.
(common_handle_option): Handle -ftree_ch.
* rtl.h (copy_loop_headers): Declaration removed.
* timevar.def (TV_TREE_CH): New.
* toplev.c (flag_tree_ch): New.
(rest_of_compilation): Do not call copy_loop_headers.
* tracer.c (tail_duplicate): Use cfghooks for bb duplication.
* tree-cfg.c (build_tree_cfg): Call alloc_rbi_pool.
(create_bb): Call initialize_bb_rbi.
(delete_tree_cfg): Call free_rbi_pool.
(tree_duplicate_bb): Hookize.
(tree_can_duplicate_bb_p): New.
(tree_cfg_hooks): Fill in can_duplicate_block_p and duplicate_block
fields.
* tree-flow.h (tree_duplicate_bb): Declaration removed.
* tree-optimize.c (init_tree_optimization_passes): Add pass_ch.
* tree-pass.h (pass_ch): Declare.
* tree-ssa-loop.c: Include tree-inline.h.
(call_expr_p, should_duplicate_loop_header_p, mark_defs_for_rewrite,
duplicate_blocks, copy_loop_headers, gate_ch): New functions.
(pass_ch): New.
* doc/invoke.texi (-fdump-tree-ch, -ftree-ch): Document.
* gcc.dg/tree-ssa/copy-headers.c: New test.
* gcc.dg/tree-ssa/20030711-1.c: Update outcome.
* gcc.dg/tree-ssa/20030714-2.c: Ditto.
* gcc.dg/tree-ssa/20030807-3.c: Ditto.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.tree-ssa.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.1200&r2=1.1.2.1201
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.903.2.181&r2=1.903.2.182
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/basic-block.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.153.2.46&r2=1.153.2.47
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/bb-reorder.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.49.2.6&r2=1.49.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfg.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.34.2.23&r2=1.34.2.24
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfghooks.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.11&r2=1.1.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfghooks.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.11&r2=1.1.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfglayout.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.19.2.18&r2=1.19.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfglayout.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.3.2.3&r2=1.3.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgrtl.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.57.2.29&r2=1.57.2.30
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/common.opt.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.14.2.21&r2=1.14.2.22
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flags.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.86.2.47&r2=1.86.2.48
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/jump.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.210.2.21&r2=1.210.2.22
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-unswitch.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.2.2.9&r2=1.2.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/opts.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.31.2.29&r2=1.31.2.30
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.362.2.36&r2=1.362.2.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/timevar.def.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.14.2.36&r2=1.14.2.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.654.2.100&r2=1.654.2.101
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tracer.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.2.6.10&r2=1.2.6.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-cfg.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.270&r2=1.1.4.271
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.190&r2=1.1.4.191
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-optimize.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.125&r2=1.1.4.126
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-pass.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.13&r2=1.1.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.6&r2=1.1.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.152.2.74&r2=1.152.2.75
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.tree-ssa.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.176&r2=1.1.2.177
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=NONE&r2=1.1.4.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=tree-ssa-20020619-branch&r1=1.1.2.5&r2=1.1.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/20030714-2.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/20030807-3.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.5&r2=1.1.2.6