From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 125991 invoked by alias); 10 Feb 2018 16:36:16 -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 125980 invoked by uid 89); 10 Feb 2018 16:36:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy= 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 ESMTP; Sat, 10 Feb 2018 16:36:14 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 61B5078541; Sat, 10 Feb 2018 16:36:13 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-4.rdu2.redhat.com [10.10.112.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 09670600C2; Sat, 10 Feb 2018 16:36:08 +0000 (UTC) Subject: Re: [SFN+LVU+IEPM v4 9/9] [IEPM] Introduce inline entry point markers To: Alexandre Oliva Cc: Alan Modra , Jakub Jelinek , Jason Merrill , Richard Biener , GCC Patches References: <20171110023448.28164-9-aoliva@redhat.com> <20180124171232.GG2063@tucnak> <20180209035334.GF3846@bubble.grove.modra.org> <6e28e34e-681d-bebb-d815-569eee148de5@redhat.com> <6dc55573-7535-6b75-9ef4-823738d561c9@redhat.com> From: Jeff Law Message-ID: Date: Sat, 10 Feb 2018 16:36:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg00584.txt.bz2 On 02/10/2018 06:04 AM, Alexandre Oliva wrote: > On Feb 10, 2018, Jeff Law wrote: > >> So given what I've seen in the ARM port, I don't think we can generally >> assume any insn advances the PC. > > Ugh. Thanks, I'll adjust the patch to not count call insns, I guess. > > Maybe what we should have is some target hook that, instead of vowing > for ATTR_length (or not), tells us whether an insn might not advance the > PC, with a default that assumes "reasonable" behavior and some more > conservative alternatives for targets that do messy stuff. I'll give > that some more thought. > >> So in the end I don't think you can assume that any given insn advances >> the PC. The closest we have is the length attribute, but it has always >> supposed to have been conservatively correct for the purposes of branch >> shortening. ie, it can never return a length less than the actual >> length, but it is allowed to return a length longer than the actual length. > > Interesting. I recall some cases back in my SH days in which I needed > it to be quite precise; I guess this distorted my general expectation. > Oh well... Back to the drawing board WRT the locview table > optimizations. Maybe we'll find out my concern about them was > unjustified, and the space they take up is tolerable. Or maybe we can > find some way to get the most out of them without actually breaking > anything. We'll see... We have had ports at times try to be very accurate. You mention the sh, I also tried for high accuracy on the PA at one time. I think it was to support jumps in call delay slots where you have to compute the difference of two labels. I eventually gave up and fixed gas :-) But the process was still helpful in improving delay slot filling and instruction scheduling. jeff