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