bb-reorder: Fix assertion

When touching bb-reorder yesterday, I've noticed the checking assert
doesn't actually check what it meant to.
Because asm_noperands returns >= 0 for inline asm patterns (in that case
number of input+output+label operands, so asm goto has at least one)
and -1 if it isn't inline asm.

The following patch fixes the assertion to actually check that it is
asm goto.

2024-03-08  Jakub Jelinek  <jakub@redhat.com>

	* bb-reorder.cc (fix_up_fall_thru_edges): Fix up checking assert,
	asm_noperands < 0 means it is not asm goto too.
This commit is contained in:
Jakub Jelinek 2024-03-08 12:49:43 +01:00
parent a307a26e8b
commit d6bcc2e257

View file

@ -2024,7 +2024,8 @@ fix_up_fall_thru_edges (void)
See PR108596. */
rtx_insn *j = BB_END (cur_bb);
gcc_checking_assert (JUMP_P (j)
&& asm_noperands (PATTERN (j)));
&& (asm_noperands (PATTERN (j))
> 0));
edge e2 = find_edge (cur_bb, e->dest);
if (e2)
e2->flags |= EDGE_CROSSING;