From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14868 invoked by alias); 16 Feb 2010 15:06:47 -0000 Received: (qmail 14829 invoked by uid 48); 16 Feb 2010 15:06:33 -0000 Date: Tue, 16 Feb 2010 15:06:00 -0000 Message-ID: <20100216150633.14828.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/41043] [4.4/4.5 Regression] virtual memory exhausted: Cannot allocate memory In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-02/txt/msg01539.txt.bz2 ------- Comment #6 from rguenth at gcc dot gnu dot org 2010-02-16 15:06 ------- I can mitigate the effect of VRP calling SCEV somewhat, but still we'll the following trigger the issue. int foo (int i) { long j = i; int k = 0; while (j < 10000) { j *= i; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; j *= j; k += j; } return k; } when analyzing the scalar evolution of k we find (int) {0, +, D.2723_10}_1 and instantiating parameters causes us to analyze the scalar evolution of all other temporaries creating a ripple-down effect of caching expanded evolutions. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41043