Hi all,
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. */
But I'm encountering a case where the jump expression from the test block is:
(set (pc)
(if_then_else (eq (reg:CC 66 cc)
(const_int 0 [0]))
(label_ref:DI 22)
(pc)))
that is, the fallthrough happens when the condition is false. Does that make
this
basic block sequence non-canonical?
Thanks,
Kyrill