This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc basic-block.h cfgloop.c cfgloopanal.c ...
- From: rakdver at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 13 Jun 2002 18:18:14 -0000
- Subject: gcc/gcc basic-block.h cfgloop.c cfgloopanal.c ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: cfg-branch
Changes by: rakdver@gcc.gnu.org 2002-06-13 11:18:14
Modified files:
gcc : basic-block.h cfgloop.c cfgloopanal.c
loop-new.c
Log message:
* basic-block.h (BB_IRREDUCIBLE_LOOP): New flag.
(VLS_EXPECT_MARKED_IRREDUCIBLE_LOOPS): New flag for
verify_loop_structure.
(mark_irreducible_loops): Declare.
* cfgloop.c (flow_loop_dump): Dump BB_IRREDUCIBLE_LOOP flag.
(verify_loop_structure): Check correctness of BB_IRREDUCIBLE_LOOP flags.
* cfgloopanal.c (cbp_enum_p): Removed.
(create_preheader): Fix updating loopstructure.
(just_once_each_iteration_p): Use BB_IRREDUCIBLE_LOOP flag.
(constant_iterations): Only check desc->lim_alts and desc->var_alts
lists against their heads to avoid quadratic worst case.
(simple_loop_exit_p): Use just dominated_by_p instead of
just_once_each_iteration_p on one place.
(loop_split_edge_with): Update BB_IRREDUCIBLE_LOOP flag.
(mark_irreducible_loops): New function.
* loop-new.c (copy_bbs, duplicate_loop_to_header_edge,
may_unswitch_on_p, unswitch_loop): Update BB_IRREDUCIBLE_LOOP flag.
(loop_optimizer_init): Use mark_irreducible_loops.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/basic-block.h.diff?cvsroot=gcc&only_with_tag=cfg-branch&r1=1.127.2.34&r2=1.127.2.35
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.c.diff?cvsroot=gcc&only_with_tag=cfg-branch&r1=1.2.2.22&r2=1.2.2.23
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloopanal.c.diff?cvsroot=gcc&only_with_tag=cfg-branch&r1=1.1.2.14&r2=1.1.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-new.c.diff?cvsroot=gcc&only_with_tag=cfg-branch&r1=1.1.2.25&r2=1.1.2.26