On Fri, Apr 29, 2016 at 12:52 PM, Kyrill Tkachov wrote:
> I'm looking at an issue in RTL ifcvt and I'm trying to understand the way
> edges between
> basic blocks are treated and in particular what is the canonical use of
> EDGE_FALLTHRU.
> Is it governed by the conditional jump condition?
>
> In find_if_header in ifcvt.c there is a comment that says:
>   /* The THEN edge is canonically the one that falls through.  */

This is true "inside" ifcvt.c, see also the comment in struct noce_if_info:

  /* True if this if block is not canonical.  In the canonical form of
     if blocks, the THEN_BB is the block reached via the fallthru edge
     from TEST_BB.  For the noce transformations, we allow the symmetric
     form as well.  */
  bool then_else_reversed;

Ciao!
Steven

Reply via email to