From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27929 invoked by alias); 21 Nov 2011 14:54:50 -0000 Received: (qmail 27921 invoked by uid 22791); 21 Nov 2011 14:54:49 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mtagate1.uk.ibm.com (HELO mtagate1.uk.ibm.com) (194.196.100.161) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 21 Nov 2011 14:54:18 +0000 Received: from d06nrmr1307.portsmouth.uk.ibm.com (d06nrmr1307.portsmouth.uk.ibm.com [9.149.38.129]) by mtagate1.uk.ibm.com (8.13.1/8.13.1) with ESMTP id pALEsGQG028409 for ; Mon, 21 Nov 2011 14:54:16 GMT Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by d06nrmr1307.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id pALEsG6a1491196 for ; Mon, 21 Nov 2011 14:54:16 GMT Received: from d06av06.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id pALLsGbk009486 for ; Mon, 21 Nov 2011 14:54:16 -0700 Received: from d06ml319.portsmouth.uk.ibm.com (d06ml319.portsmouth.uk.ibm.com [9.149.76.146]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id pALLsG9M009483; Mon, 21 Nov 2011 14:54:16 -0700 In-Reply-To: <20111121135915.GH27242@tyan-ft48-01.lab.bos.redhat.com> References: <20111121125707.GG27242@tyan-ft48-01.lab.bos.redhat.com> <20111121135915.GH27242@tyan-ft48-01.lab.bos.redhat.com> To: Jakub Jelinek Cc: GCC Patches , Richard Guenther MIME-Version: 1.0 Subject: Re: [PATCH, take 2] Fix PR tree-optimization/49960 ,Fix self data dependence X-KeepSent: 53481D2E:E48C0FB3-C225794F:004F7C31; type=4; name=$KeepSent From: Razya Ladelsky Message-ID: Date: Mon, 21 Nov 2011 15:43:00 -0000 Content-Type: text/plain; charset="US-ASCII" X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-11/txt/msg02106.txt.bz2 Jakub Jelinek wrote on 21/11/2011 03:59:15 PM: > From: Jakub Jelinek > To: Razya Ladelsky/Haifa/IBM@IBMIL > Cc: GCC Patches , Richard Guenther > > Date: 21/11/2011 03:59 PM > Subject: Re: [PATCH, take 2] Fix PR tree-optimization/49960 ,Fix > self data dependence > > On Mon, Nov 21, 2011 at 03:50:10PM +0200, Razya Ladelsky wrote: > > what do you mean by 'except for the affine stuff'? > > I mean that compute_affine_dependence must never be called on gather > data refs, that function can't do anything meaningful for them, they are > gather data refs exactly because dr_analyze_innermost failed on them > otherwise, as base and/or offset aren't simple IVs. > I understand. I tried to follow the same paths that data refs (affine or not) go through in compute_all_depepndences. According to compute_all_depepndences(), the path for computing any data dependence is: call initialize_data_depepndence_relation(), and call compute_affine_dependence() if there's a loop nest. I tried to keep the same semantics for self dependences. Although compute_affine_dependence() can't do anything meaningful for the gather data refs, it may still be assigning values to the dependence relation structure, if you need to use them. Therefore I did not skip the call to compute_self_dependence(), which indeed calls compute_affine_depepndence(). If you think it's redundant, we can remove it. Thanks, Razya > > > So, when compute_all_dependences no longer calls it, neither should > > > vect_analyze_data_refs. > > > > So do you want to replace it with the call to compute_affine_dependence? > > No. With nothing at all. > > Jakub >