From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57237 invoked by alias); 14 Oct 2015 13:41:10 -0000 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 Received: (qmail 56573 invoked by uid 89); 14 Oct 2015 13:41:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_20,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 14 Oct 2015 13:41:07 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id ECFCF8EA47; Wed, 14 Oct 2015 13:41:05 +0000 (UTC) Received: from localhost.localdomain (vpn1-5-28.ams2.redhat.com [10.36.5.28]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t9EDf4n6015829; Wed, 14 Oct 2015 09:41:04 -0400 Subject: Re: [PATCH v2] PR rtl-optimization/66790: uninitialized registers handling in REE To: Pierre-Marie de Rodat , gcc-patches@gcc.gnu.org References: <55AACFBD.7000200@adacore.com> <55B5F2FD.5080403@adacore.com> <55C5C4AC.4090603@adacore.com> <55E40141.1070300@adacore.com> <561D2085.90802@adacore.com> Cc: Richard Biener , Jeff Law , Bernd Schmidt From: Bernd Schmidt Message-ID: <561E5B6F.7000103@redhat.com> Date: Wed, 14 Oct 2015 13:41:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <561D2085.90802@adacore.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2015-10/txt/msg01362.txt.bz2 On 10/13/2015 05:17 PM, Pierre-Marie de Rodat wrote: > The first attached patch is the second attempt to fix PR > rtl-optimization/66790 (see > ). > > The second one is a fix for some inconsistency noticed while working on > the original bug. This specific patch fixes no known bug, but anyway… > > Both were bootstrapped and regtested on x86_64-linux. Ok to commit? > Thank you in advance! > > [PATCH 1/2] REE: fix uninitialized registers handling This one is OK with minor changes. I ran some tests with it, and the mir sets look good this time. Code generation still seems unaffected by it on all my example code (which is as expected). > + > + /* Ignoring artificial defs is intentionnal: these often pretend that some "intentional". > + if ((!bitmap_equal_p (&problem_data->in[bb->index], DF_MIR_IN (bb))) > + || (!bitmap_equal_p (&problem_data->out[bb->index], DF_MIR_OUT (bb)))) > + { > + /*df_dump (stderr);*/ > + gcc_unreachable (); > + } Please remove the commented out code and then also the unnecessary braces. In general we avoid commented out code in gcc, but when doing it, #if 0 is generally a better method. > + const rtx reg = XEXP (src, 0); Drop the const maybe? It doesn't seem to add much and the idiom is to just use rtx. >>From ff694bf70e0b1ebd336c684713ce6153cc26b3d6 Mon Sep 17 00:00:00 2001 > From: Pierre-Marie de Rodat > Date: Tue, 22 Sep 2015 16:02:41 +0200 > Subject: [PATCH 2/2] DF_LIVE: make clobbers cancel effect of previous GENs in > the same BBs > > gcc/ChangeLog: > > * df-problems.c (df_live_bb_local_compute): Clear GEN bits for > DF_REF_MUST_CLOBBER references. This one is probably ok too; I still want to experiment with it a little. Bernd