From c3bdee86183b3d84f269e9775b2603f8f8221417 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Fri, 23 Jun 2023 10:06:08 +0200 Subject: [PATCH] Fix TYPE_PRECISION use in hashable_expr_equal_p While the checks look unnecessary they probably are quick and thus done early. The following avoids using TYPE_PRECISION on VECTOR_TYPEs by making the code match the comment which talks about precision and signedness. An alternative would be to only retain the ERROR_MARK and TYPE_MODE checks or use TYPE_PRECISION_RAW (but I like that least). * tree-ssa-scopedtables.cc (hashable_expr_equal_p): Use element_precision. --- gcc/tree-ssa-scopedtables.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/tree-ssa-scopedtables.cc b/gcc/tree-ssa-scopedtables.cc index 528ddf2a2ab..e698ef97343 100644 --- a/gcc/tree-ssa-scopedtables.cc +++ b/gcc/tree-ssa-scopedtables.cc @@ -574,7 +574,7 @@ hashable_expr_equal_p (const struct hashable_expr *expr0, && (TREE_CODE (type0) == ERROR_MARK || TREE_CODE (type1) == ERROR_MARK || TYPE_UNSIGNED (type0) != TYPE_UNSIGNED (type1) - || TYPE_PRECISION (type0) != TYPE_PRECISION (type1) + || element_precision (type0) != element_precision (type1) || TYPE_MODE (type0) != TYPE_MODE (type1))) return false;