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.
This commit is contained in:
Richard Biener 2023-06-23 10:06:08 +02:00
parent 9f76f04be4
commit c3bdee8618

View file

@ -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;