From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29844 invoked by alias); 7 Nov 2007 17:54:18 -0000 Received: (qmail 29805 invoked by uid 48); 7 Nov 2007 17:54:05 -0000 Date: Wed, 07 Nov 2007 17:54:00 -0000 Subject: [Bug tree-optimization/34017] New: ICE in lambda_loopnest_to_gcc_loopnest with -O2 -ftree-loop-linear X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "janis 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: 2007-11/txt/msg00602.txt.bz2 Test 445.gobmk in SPEC CPU2006 fails to build on powerpc64-linux with "-m64 -O2 -ftree-loop-linear" due to an ICE in lambda_loopnest_to_gcc_loopnest, at lambda-code.c:1840. This test case demonstrates the problem: extern int size; struct data2 { }; struct data1 { int origin; }; static void print (struct data1 *d1, struct data2 *d2) { int m, n; int mini, maxi; int minj, maxj; int origin = d1[0].origin; minj = size; for (m = 0; m < size; m++) for (n = 0; n < size; n++) { if (d1[21 + m * 20 + n].origin != origin) continue; if (m > maxi) maxi = m; if (n < minj) minj = n; } for (m = mini; m <= maxi; m++) { for (n = minj; n <= maxj; n++) { } } } void compute (struct data1 *d1, struct data2 d2[400]) { print (d1, d2); } The failure begins with: http://gcc.gnu.org/viewcvs?view=rev&rev=114205 r114205 | spop | 2006-05-29 16:01:16 +0000 (Mon, 29 May 2006) -- Summary: ICE in lambda_loopnest_to_gcc_loopnest with -O2 -ftree- loop-linear Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34017