From patchwork Wed Sep 8 14:29:20 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Michael Matz X-Patchwork-Id: 64153 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id D5DEFB6EF7 for ; Thu, 9 Sep 2010 00:29:35 +1000 (EST) Received: (qmail 19619 invoked by alias); 8 Sep 2010 14:29:31 -0000 Received: (qmail 19605 invoked by uid 22791); 8 Sep 2010 14:29:30 -0000 X-SWARE-Spam-Status: No, hits=-5.6 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cantor.suse.de (HELO mx1.suse.de) (195.135.220.2) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 08 Sep 2010 14:29:24 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.221.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id B62DF946C9; Wed, 8 Sep 2010 16:29:21 +0200 (CEST) Date: Wed, 8 Sep 2010 16:29:20 +0200 (CEST) From: Michael Matz To: Richard Guenther Cc: gcc-patches@gcc.gnu.org Subject: Re: Improve PR33244 somewhat In-Reply-To: Message-ID: References: MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi, On Tue, 7 Sep 2010, Richard Guenther wrote: > On Tue, Sep 7, 2010 at 2:32 PM, Michael Matz wrote: > > Hello, > > > > this patch fixes one problem of those preventing to vectorize the testcase > > in PR33244.  Namely that code sinking sometimes fills loop latch blocks > > preventing later vectorization.  Changed by ensuring that we don't sink > > anything into a latch block that is still empty. > > > > The testcase I add is a modified version of the testcase in the PR because > > of unrelated problems also preventing vectorization (inlining needs to > > happen, a library with vectorized logf needs to be available, and loop > > interchange needs to work). > > > > Regstrapping on x86_64-linux (all default languages) in progress.  Okay? > > Ok. Seems I was careless when comparing testresults, uninit-17.c now fails because the imm-use chain for the uninitialized SSA name is ordered differently, therefore the first found uninitialized use is different from before the patch. Hence I'm checking in this patch as obvious. Ciao, Michael. -- * c-c++-common/uninit-17.c: Adjust. Index: testsuite/c-c++-common/uninit-17.c =================================================================== --- testsuite/c-c++-common/uninit-17.c (revision 164001) +++ testsuite/c-c++-common/uninit-17.c (working copy) @@ -11,9 +11,9 @@ static void bar(int a, int *ptr) { int b; /* { dg-message "declared" } */ if (b < 40) { - ptr[0] = b; /* { dg-warning "may be used uninitialized" } */ + ptr[0] = b; } - b += 1; + b += 1; /* { dg-warning "may be used uninitialized" } */ ptr++; } while (--a != 0);