From 4b70b2e07a589c4d50e14fa597eb164375a10a20 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Sat, 5 Dec 2020 18:26:25 +0000 Subject: [PATCH] loop-doloop: Add missing call to `onlyjump_p' Keep any jump that has side effects as those must not be removed. gcc/ * loop-doloop.c (add_test): Only remove the jump if `onlyjump_p'. --- gcc/loop-doloop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c index 02282d45bd5..661e50298cc 100644 --- a/gcc/loop-doloop.c +++ b/gcc/loop-doloop.c @@ -378,7 +378,7 @@ add_test (rtx cond, edge *e, basic_block dest) bb = split_edge_and_insert (*e, seq); *e = single_succ_edge (bb); - if (any_uncondjump_p (jump)) + if (any_uncondjump_p (jump) && onlyjump_p (jump)) { /* The condition is always true. */ delete_insn (jump); -- 2.30.2