From ee892832ea19b21a3420ef042e582204fac852a2 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Thu, 17 Nov 2022 17:48:00 +0000 Subject: [PATCH] Fix PR 107734: valgrind errors with sbitmap in match.pd sbitmap is a simple bitmap and the memory allocated is not cleared on creation; you have to clear it or set it to all ones before using it. This is unlike bitmap which is a sparse bitmap and the entries are cleared as created. The code added in r13-4044-gdc95e1e9702f2f missed that. This patch fixes that mistake. Committed as obvious after a bootstrap and test on x86_64-linux-gnu. gcc/ChangeLog: PR middle-end/107734 * match.pd (perm + vector op pattern): Clear the sbitmap before use. --- gcc/match.pd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/match.pd b/gcc/match.pd index 5aba165..a4d1386 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -8288,6 +8288,8 @@ and, if (sel.encoding ().encoded_full_vector_p ()) { auto_sbitmap seen (nelts); + bitmap_clear (seen); + unsigned HOST_WIDE_INT count = 0, i; for (i = 0; i < nelts; i++) -- 2.7.4