CFG cleanup maintains BB_FORWARDER_BLOCK and uses FORWARDER_BLOCK_P to check that apart from two places which use forwarder_block_p in outgoing_edges_match alongside many BB_FORWARDER_BLOCK uses.
The following adjusts those. Bootstrapped and tested on x86_64-unknown-linux-gnu, I verified cc1files produce the same code with/without this patch. OK? Thanks, Richard. * cfgcleanup.cc (outgoing_edges_match): Use FORWARDER_BLOCK_P. --- gcc/cfgcleanup.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/cfgcleanup.cc b/gcc/cfgcleanup.cc index 78f59e99653..5f1aa29c89d 100644 --- a/gcc/cfgcleanup.cc +++ b/gcc/cfgcleanup.cc @@ -1861,9 +1861,9 @@ outgoing_edges_match (int mode, basic_block bb1, basic_block bb2) /* fallthru edges must be forwarded to the same destination. */ if (fallthru1) { - basic_block d1 = (forwarder_block_p (fallthru1->dest) + basic_block d1 = (FORWARDER_BLOCK_P (fallthru1->dest) ? single_succ (fallthru1->dest): fallthru1->dest); - basic_block d2 = (forwarder_block_p (fallthru2->dest) + basic_block d2 = (FORWARDER_BLOCK_P (fallthru2->dest) ? single_succ (fallthru2->dest): fallthru2->dest); if (d1 != d2) -- 2.35.3