[PATCH] include MEM_REF type in tree dumps (PR 90676)

Jakub Jelinek jakub@redhat.com
Mon Jun 10 19:29:00 GMT 2019


On Mon, Jun 10, 2019 at 01:23:28PM -0600, Martin Sebor wrote:
> +  else if (integer_zerop (TREE_OPERAND (node, 1))
> +	   /* Dump the types of INTEGER_CSTs explicitly, for we can't
> +	      infer them and MEM_ATTR caching will share MEM_REFs
> +	      with differently-typed op0s.  */
> +	   && TREE_CODE (TREE_OPERAND (node, 0)) != INTEGER_CST
> +	   /* Released SSA_NAMES have no TREE_TYPE.  */
> +	   && TREE_TYPE (TREE_OPERAND (node, 0)) != NULL_TREE
> +	   /* Same pointer types, but ignoring POINTER_TYPE vs.
> +	      REFERENCE_TYPE.  */
> +	   && (TREE_TYPE (TREE_TYPE (TREE_OPERAND (node, 0)))
> +	       == TREE_TYPE (TREE_TYPE (TREE_OPERAND (node, 1))))
> +	   && (TYPE_MODE (TREE_TYPE (TREE_OPERAND (node, 0)))
> +	       == TYPE_MODE (TREE_TYPE (TREE_OPERAND (node, 1))))
> +	   && (TYPE_REF_CAN_ALIAS_ALL (TREE_TYPE (TREE_OPERAND (node, 0)))
> +	       == TYPE_REF_CAN_ALIAS_ALL (TREE_TYPE (TREE_OPERAND (node, 1))))
> +	   /* Same value types ignoring qualifiers.  */
> +	   && (TYPE_MAIN_VARIANT (TREE_TYPE (node))
> +	       == TYPE_MAIN_VARIANT
> +	       (TREE_TYPE (TREE_TYPE (TREE_OPERAND (node, 1)))))

You should be using types_compatible_p rather than type equality, that is
all GIMPLE cares about.

	Jakub



More information about the Gcc-patches mailing list