From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31881 invoked by alias); 4 Apr 2005 14:03:24 -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 31708 invoked by uid 48); 4 Apr 2005 14:03:14 -0000 Date: Mon, 04 Apr 2005 14:03:00 -0000 Message-ID: <20050404140314.31707.qmail@sourceware.org> From: "rakdver at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050404113801.20742.jakub@gcc.gnu.org> References: <20050404113801.20742.jakub@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug tree-optimization/20742] [4.0/4.1 Regression] Hang in tree_ssa_iv_optimize_loop X-Bugzilla-Reason: CC X-SW-Source: 2005-04/txt/msg00299.txt.bz2 List-Id: ------- Additional Comments From rakdver at gcc dot gnu dot org 2005-04-04 14:03 ------- This is scev analysis problem. On this testcase, it produces exponentially large expressions (of form a_5 + b_6 + b_6 - a_5 + b_6 + b_6 - a_5 + b_6 - a_5 ...). As for possible solutions: more clever folding that would transform this to c1 * a_5 + c2 * b_6 would help in this particular case, but the possibility that an exponentially large expression that will not be possible to fold will be produced by scev would still exist. Scev probably should keep track of how large expressions it produces, and just give up if it grows beyond some limit. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20742