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