From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29697 invoked by alias); 23 Oct 2009 19:54:34 -0000 Received: (qmail 29664 invoked by alias); 23 Oct 2009 19:54:23 -0000 Date: Fri, 23 Oct 2009 19:54:00 -0000 Message-ID: <20091023195423.29663.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/41811] graphite miscompiles 454.calculix of the SPEC 2k6 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "sebpop at gmail dot com" 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: 2009-10/txt/msg02056.txt.bz2 ------- Comment #4 from sebpop at gmail dot com 2009-10-23 19:54 ------- Subject: Re: graphite miscompiles 454.calculix of the SPEC 2k6 On Fri, Oct 23, 2009 at 14:46, spop at gcc dot gnu dot org wrote: > and the code generated by CLooG for the interchange looks like this: > > for (scat_1=0;scat_1<=2;scat_1++) { >  for (scat_3=0;scat_3<=2;scat_3++) { >    S4(scat_1,scat_3) ; >    for (scat_5=0;scat_5<=2;scat_5++) { >      S5(scat_1,scat_5,scat_3) ; >    } >    S7(scat_1,scat_3) ; >    S18(scat_1,scat_3) ; >  } S7 and S18 should not be generated before S5 finishes to execute over all the iterations of the original innermost loop (do k=1,20). S7 and S18 contain the end of the reduction and the write in the array xs(i,j) that is independent of the k loop. >  for (scat_3=3;scat_3<=19;scat_3++) { >    for (scat_5=0;scat_5<=2;scat_5++) { >      S5(scat_1,scat_5,scat_3) ; >    } >  } > } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41811