diff options
author | Andrew Pinski <apinski@marvell.com> | 2022-11-17 17:48:00 +0000 |
---|---|---|
committer | Andrew Pinski <apinski@marvell.com> | 2022-11-17 17:56:55 +0000 |
commit | ee892832ea19b21a3420ef042e582204fac852a2 (patch) | |
tree | bd699483e6d9a0e39e5cff88977bb47c4548fb8b /gcc | |
parent | 4e306222f442f8d4c6fc6da997ab756a5e43e36e (diff) | |
download | gcc-ee892832ea19b21a3420ef042e582204fac852a2.zip gcc-ee892832ea19b21a3420ef042e582204fac852a2.tar.gz gcc-ee892832ea19b21a3420ef042e582204fac852a2.tar.bz2 |
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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/match.pd | 2 |
1 files changed, 2 insertions, 0 deletions
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++) |