------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-01-30 19:09 ------- Subject: Bug 19624
CVSROOT: /cvs/gcc Module name: gcc Changes by: [EMAIL PROTECTED] 2005-01-30 19:08:37 Modified files: gcc : Makefile.in tree-ssa-pre.c Added files: gcc/testsuite/gcc.dg/tree-ssa: ssa-pre-4.c ssa-pre-5.c ssa-pre-6.c Log message: 2005-01-30 Daniel Berlin <[EMAIL PROTECTED]> Fix PR tree-optimization/19624 * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H. * tree-ssa-pre.c: Add cfgloop.h. Update comment. (pre_stats): New member, constified. (inserted_exprs): New static variable. (NECESSARY): New macro. (create_expression_by_pieces): Fold the expression, and mark it as defaulting to not necessary. Also put in inserted_exprs. (fully_constant_expression): New function. (insert_into_preds_of_block): Modify to not insert phis when we are playing with induction variables. Push phis onto the inserted_exprs vector, and mark them as not necessary by default. (insert_aux): Call fully_constant_expression on eprime. If all edges produce the same value, mark it constant. (mark_operand_necessary): New function. (remove_dead_inserted_code): New function. (init_pre): Init loop optimizer to get loop info. (fini_pre): Free loop_optimizer, and inserted_exprs vec. (execute_pre): Commit edge inserts, then remove dead code. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&r1=1.1444&r2=1.1445 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-pre.c.diff?cvsroot=gcc&r1=2.62&r2=2.63 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-4.c.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-5.c.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-6.c.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19624