From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29010 invoked by alias); 30 Jan 2005 19:09:38 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 28413 invoked by alias); 30 Jan 2005 19:09:24 -0000 Date: Sun, 30 Jan 2005 19:09:00 -0000 Message-ID: <20050130190924.28412.qmail@sourceware.org> From: "cvs-commit at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050125144432.19624.rguenth@tat.physik.uni-tuebingen.de> References: <20050125144432.19624.rguenth@tat.physik.uni-tuebingen.de> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug tree-optimization/19624] PRE pessimizes ivopts X-Bugzilla-Reason: CC X-SW-Source: 2005-01/txt/msg04490.txt.bz2 List-Id: ------- 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: dberlin@gcc.gnu.org 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 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