public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/18687] [4.0 Regression] ~50% compile time regression
Date: Thu, 10 Feb 2005 06:28:00 -0000	[thread overview]
Message-ID: <20050210003311.7548.qmail@sourceware.org> (raw)
In-Reply-To: <20041127043006.18687.belyshev@depni.sinp.msu.ru>


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-02-10 00:33 -------
Subject: Bug 18687

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rakdver@gcc.gnu.org	2005-02-10 00:32:49

Modified files:
	gcc            : ChangeLog tree-flow.h tree-ssa-loop-ivcanon.c 
	                 tree-ssa-loop-ivopts.c tree-ssa-loop-niter.c 
	                 tree.c tree.h 

Log message:
	PR tree-optimization/18687
	* tree-flow.h (find_loop_niter): Declare.
	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
	Try using scev even for loops with more than one exit.
	* tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
	(struct ivopts_data): Added niters field.
	(struct nfe_cache_elt): New.
	(nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
	functions.
	(tree_ssa_iv_optimize_init): Initialize niters cache.
	(determine_number_of_iterations): Removed.
	(find_induction_variables): Do not call determine_number_of_iterations.
	Access niters for single exit through niter_for_single_dom_exit.
	(add_iv_outer_candidates): Access niters for single exit through
	niter_for_single_dom_exit.
	(may_eliminate_iv): Take data argument.  Use niter_for_exit.  Do not use
	number_of_iterations_cond.
	(iv_period): New function.
	(determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
	(may_replace_final_value): Take data argument.  Use
	niter_for_single_dom_exit.
	(determine_use_iv_cost_outer): Pass data to may_replace_final_value.
	(rewrite_use_compare): Pass data to may_eliminate_iv.
	(rewrite_use_outer): Pass data to may_replace_final_value.
	(free_loop_data): Clean up the niters cache.
	(tree_ssa_iv_optimize_finalize): Free the niters cache.
	(tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
	* tree-ssa-loop-niter.c (find_loop_niter): New function.
	(find_loop_niter_by_eval): Use tree_int_cst_lt.
	(num_ending_zeros): Moved to tree.c.
	* tree.h (num_ending_zeros): Declare.
	* tree.c (num_ending_zeros): Moved from tree.c.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7427&r2=2.7428
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&r1=2.80&r2=2.81
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-ivcanon.c.diff?cvsroot=gcc&r1=2.5&r2=2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-ivopts.c.diff?cvsroot=gcc&r1=2.44&r2=2.45
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-niter.c.diff?cvsroot=gcc&r1=2.18&r2=2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.c.diff?cvsroot=gcc&r1=1.463&r2=1.464
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&r1=1.687&r2=1.688



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18687


  parent reply	other threads:[~2005-02-10  0:33 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20041127043006.18687.belyshev@depni.sinp.msu.ru>
2004-12-22 21:50 ` belyshev at depni dot sinp dot msu dot ru
2005-01-28  0:55 ` steven at gcc dot gnu dot org
2005-01-30 22:53 ` steven at gcc dot gnu dot org
2005-01-30 22:55 ` steven at gcc dot gnu dot org
2005-01-30 23:42 ` steven at gcc dot gnu dot org
2005-02-08 13:54 ` rakdver at gcc dot gnu dot org
2005-02-09  0:48 ` rakdver at gcc dot gnu dot org
2005-02-10  6:28 ` cvs-commit at gcc dot gnu dot org [this message]
2005-02-10  9:49 ` pinskia at gcc dot gnu dot org
2005-02-10 20:32 ` belyshev at depni dot sinp dot msu dot ru
2005-04-21  5:06 ` [Bug tree-optimization/18687] [4.0/4.1 " mmitchel at gcc dot gnu dot org
2005-07-08  1:44 ` mmitchel at gcc dot gnu dot org
2005-08-17 13:11 ` bonzini at gcc dot gnu dot org
2005-08-17 16:25 ` belyshev at depni dot sinp dot msu dot ru
2005-09-27 16:25 ` mmitchel at gcc dot gnu dot org
2004-11-27  4:30 [Bug tree-optimization/18687] New: [4.0 " belyshev at lubercy dot com
2004-11-27  4:31 ` [Bug tree-optimization/18687] " belyshev at lubercy dot com
2004-11-27  4:32 ` belyshev at lubercy dot com
2004-11-27  4:42 ` pinskia at gcc dot gnu dot org
2004-11-27 15:47 ` pinskia at gcc dot gnu dot org
2004-11-27 18:44 ` belyshev at lubercy dot com
2004-11-30 13:09 ` pinskia at gcc dot gnu dot org
2004-11-30 13:11 ` pinskia at gcc dot gnu dot org
2004-11-30 14:32 ` pinskia at gcc dot gnu dot org
2004-11-30 14:57 ` pinskia at gcc dot gnu dot org
2004-11-30 15:17 ` pinskia at gcc dot gnu dot org
2004-12-02 14:06 ` pinskia at gcc dot gnu dot org
2004-12-02 15:27 ` pinskia at gcc dot gnu dot org
2004-12-03  0:24 ` belyshev at lubercy dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050210003311.7548.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).