From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24620 invoked by alias); 3 Jan 2015 17:35:59 -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 24608 invoked by uid 89); 3 Jan 2015 17:35:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: hiauly1.hia.nrc.ca Received: from hiauly1.hia.nrc.ca (HELO hiauly1.hia.nrc.ca) (132.246.10.84) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 03 Jan 2015 17:35:54 +0000 Received: by hiauly1.hia.nrc.ca (Postfix, from userid 1000) id 8046F401B; Sat, 3 Jan 2015 12:35:49 -0500 (EST) Date: Sat, 03 Jan 2015 17:35:00 -0000 From: John David Anglin To: "H.J. Lu" Cc: gcc-patches@gcc.gnu.org, law@redhat.com Subject: Re: PATCH: [5 Regression] r219037 caused FAIL: gcc.dg/pr44194-1.c Message-ID: <20150103173548.GA22839@hiauly1.hia.nrc.ca> Reply-To: John David Anglin References: <20141231141317.GA575@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141231141317.GA575@gmail.com> User-Agent: Mutt/1.5.16 (2007-06-09) X-SW-Source: 2015-01/txt/msg00059.txt.bz2 On Wed, 31 Dec 2014, H.J. Lu wrote: > - /* Arguments for a sibling call that are pushed to memory are passed > - using the incoming argument pointer of the current function. These > - may or may not be frame related depending on the target. Since > - argument pointer related stores are not currently tracked, we treat > - a sibling call as though it does a wild read. */ > - if (SIBLING_CALL_P (insn)) > + if (targetm.sibcall_wild_read_p (insn)) > { > add_wild_read (bb_info); > return; Instead of falling through to code designed to handle normal calls, it would be better to treat them separately. Potentially, there are other optimizations that may be applicable. If a sibcall doesn't read from the frame, add_non_frame_wild_read() can be called. This would restore the x86 optimization. Dave -- J. David Anglin dave.anglin@bell.net