public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Guenther <rguenther@suse.de>
To: Sebastian Pop <sebpop@gmail.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [patch] Fix PR44483: incrementally gimplify BB predicates to avoid 	redundant computations.
Date: Fri, 11 Jun 2010 09:32:00 -0000	[thread overview]
Message-ID: <alpine.LNX.2.00.1006111105470.1429@zhemvz.fhfr.qr> (raw)
In-Reply-To: <AANLkTinGpk3FyNKkdiLn7hh2Ovp3_JuzRVevvOGm_L5h@mail.gmail.com>

On Thu, 10 Jun 2010, Sebastian Pop wrote:

> Hi,
> 
> The attached patch fixes PR44483 by early gimplifying the expressions
> that are used in the predicates of basic blocks: in the testcase,
> these expressions are redundant and if not gimplified in time, they
> end up to form an exponential tree of conditions.
> 
> With this patch we gimplify the predicates, and collect the gimple
> sequences during the analysis phase.  Because we now force the
> predicate of a BB to be an SSA_NAME, this is what is used further on
> for the next basic block, avoiding the full expression to be
> recomputed.  When the if-conversion analysis fails, the SSA_NAMEs used
> in the gimple sequences are released using free_stmt_operands.
> Otherwise the gimple sequences are inserted in the end of each basic
> block that is predicated by these computations.  These computations
> are then used in the if-conversion of the PHI nodes following the BB.
> 
> The patch passed make -k check RUNTESTFLAGS=tree-ssa.exp and vect.exp
> and is right now under regstrap on amd64-linux.  Ok for trunk after regstrap?

Ok.

Thanks,
Richard.

  reply	other threads:[~2010-06-11  9:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-10 23:45 Sebastian Pop
2010-06-11  9:32 ` Richard Guenther [this message]
2010-06-11 19:21   ` Sebastian Pop
2010-06-29  9:46 ` Ira Rosen
2010-06-29 10:27   ` Richard Guenther

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=alpine.LNX.2.00.1006111105470.1429@zhemvz.fhfr.qr \
    --to=rguenther@suse.de \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=sebpop@gmail.com \
    /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: link
Be 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).