public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/66588] combine should try transforming if_then_else of zero_extends into zero_extend of if_then_else Date: Thu, 18 Jun 2015 14:17:00 -0000 [thread overview] Message-ID: <bug-66588-4-EW6joviMCh@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-66588-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66588 --- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> --- BTW: x86_64 is missing any form of zero-extended cmove. >From gcc-bugs-return-489314-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 18 14:17:03 2015 Return-Path: <gcc-bugs-return-489314-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org> Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 60431 invoked by alias); 18 Jun 2015 14:17:02 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: <gcc-bugs.gcc.gnu.org> List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/> List-Post: <mailto:gcc-bugs@gcc.gnu.org> List-Help: <mailto:gcc-bugs-help@gcc.gnu.org> Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 60370 invoked by uid 48); 18 Jun 2015 14:16:54 -0000 From: "ebotcazou at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/66565] Problems and limitation GCC cost metrics and ways to improve the situation Date: Thu, 18 Jun 2015 14:17:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 6.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ebotcazou at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status cf_reconfirmed_on cc everconfirmed Message-ID: <bug-66565-4-BGm8Ciws8L@http.gcc.gnu.org/bugzilla/> In-Reply-To: <bug-66565-4@http.gcc.gnu.org/bugzilla/> References: <bug-66565-4@http.gcc.gnu.org/bugzilla/> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-06/txt/msg01646.txt.bz2 Content-length: 2058 https://gcc.gnu.org/bugzilla/show_bug.cgi?idf565 Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-06-18 CC| |ebotcazou at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > The proliferation and misunderstanding of cost units is a side effect of > this. So we really have to move to something like: > > target_should_inline_call (<interesting call information from the pass>) > target_should_ifconvert (<gimple sequences for before/after > transformation>) > target_combine_is_profitable_p (<before, after rtx>) > target_should_reconstruct_value_p (<candidate RTX to either build and keep > in registers or reconstruct in loop>) > target_choose_preferred_addressing_mode (<list of candidate addressing > modes for a MEM>) So basically one hook per transformation? And each back-end will have to factorize the common processing? > Where we ask specific and meaningful questions of the target, rather than > asking for a guess at costs and using that. > The difficult argument to make will be that we have to be radical about > this and prepared to regress many targets (in the short term) > for the sake of ending up with a maintainable and understandable design > for making these decisions. We simply cannot do that, there are ~50 architectures in the compilers and this will break them all except for a handful of them. Generally speaking, you cannot reimplement things from scratch in a 25 years old production compiler, you will break far more things than you will ever be able to fix or improve. Either you implement the new scheme in addition to the old one or you fix the old one incrementally, that's pretty much the only practical alternative.
next prev parent reply other threads:[~2015-06-18 14:17 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-06-18 13:39 [Bug middle-end/66588] New: " ktkachov at gcc dot gnu.org 2015-06-18 14:17 ` ubizjak at gmail dot com [this message] 2015-06-18 19:33 ` [Bug middle-end/66588] " ubizjak at gmail dot com 2015-06-19 8:26 ` ktkachov at gcc dot gnu.org 2015-07-05 16:28 ` segher at gcc dot gnu.org 2015-07-06 10:33 ` ktkachov at gcc dot gnu.org 2023-04-19 15:45 ` cvs-commit at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-66588-4-EW6joviMCh@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).