From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 48858 invoked by alias); 2 Nov 2015 09:43:21 -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 48848 invoked by uid 89); 2 Nov 2015 09:43:20 -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,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-yk0-f174.google.com Received: from mail-yk0-f174.google.com (HELO mail-yk0-f174.google.com) (209.85.160.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 02 Nov 2015 09:43:18 +0000 Received: by ykba4 with SMTP id a4so133789656ykb.3 for ; Mon, 02 Nov 2015 01:43:16 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.129.13.215 with SMTP id 206mr17368421ywn.280.1446457396715; Mon, 02 Nov 2015 01:43:16 -0800 (PST) Received: by 10.37.117.136 with HTTP; Mon, 2 Nov 2015 01:43:16 -0800 (PST) In-Reply-To: <5633D2B6.4080201@redhat.com> References: <5632474C.50002@redhat.com> <87ziz08nnb.fsf@igel.home> <5633D2B6.4080201@redhat.com> Date: Mon, 02 Nov 2015 09:43:00 -0000 Message-ID: Subject: Re: [PATCH][PR tree-optimization/67892] Use FSM threader to handle backedges From: Richard Biener To: Jeff Law Cc: Andreas Schwab , GCC Patches Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-11/txt/msg00041.txt.bz2 On Fri, Oct 30, 2015 at 9:27 PM, Jeff Law wrote: > On 10/30/2015 07:57 AM, Andreas Schwab wrote: >> >> I'm getting this regression on m68k: >> >> FAIL: gcc.dg/tree-ssa/ssa-thread-11.c scan-tree-dump vrp2 "FSM" >> >> The generated code looks equivalent, though. > > Definitely an artifact of differences in branch costing. Pondering the best > way to fix. The usual list of targets and a dg-skip ... Or work towards eliminating those "early" target dependences introduced in our IL. Major effects are from LOGICAL_OP_NON_SHORT_CIRCUIT (boiling down to BRANCH_COST as default) and from PUSH_ARGS_REVERSED. Esp. the logical-op-non-short-circuit decisions are done a bit early (before profile-reading for example). So I'd rather keep the short-circuiting for all targets (for the GENERIC folding) and let ifcombine do the "heavy" lifting also taking into account branch predictability (and target preferences). Richard. > jeff