From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 119745 invoked by alias); 17 Apr 2016 21:24:54 -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 113671 invoked by uid 89); 17 Apr 2016 21:22:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=ripping, cfgrtlc, cfgrtl.c, UD:cfgrtl.c 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; Sun, 17 Apr 2016 21:22:47 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D452A3B3C2; Sun, 17 Apr 2016 21:22:45 +0000 (UTC) Received: from localhost.localdomain (ovpn-113-54.phx2.redhat.com [10.3.113.54]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u3HLMitS003024; Sun, 17 Apr 2016 17:22:44 -0400 Subject: Re: [PATCH 4/5] Don't mark targets of unconditional jumps with side effects as FALLTHRU. To: =?UTF-8?Q?Marcin_Ko=c5=9bcielnicki?= , gcc-patches@gcc.gnu.org References: <1451762204-13364-1-git-send-email-koriakin@0x04.net> <1451762204-13364-5-git-send-email-koriakin@0x04.net> From: Jeff Law Message-ID: <5713D83B.3000406@redhat.com> Date: Sun, 17 Apr 2016 21:24:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 MIME-Version: 1.0 In-Reply-To: <1451762204-13364-5-git-send-email-koriakin@0x04.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2016-04/txt/msg00797.txt.bz2 On 01/02/2016 12:16 PM, Marcin Kościelnicki wrote: > When an unconditional jump with side effects targets an immediately > following label, rtl_tidy_fallthru_edge is called. Since it has side > effects, it doesn't remove the jump, but the label is still marked > as fallthru. This later causes a verification error. Do nothing in this > case instead. > > gcc/ChangeLog: > > * cfgrtl.c (rtl_tidy_fallthru_edge): Bail for unconditional jumps > with side effects. OK for the trunk (gcc-7) It may not matter in practice, but you could try ripping out the other wide effects into individual insns and recognizing them. And if that works, then you can proceed to eliminate the jump, marking the fallthru label, etc. I think combine has some code to do similar things. jeff