Commit 400bc526 by John David Anglin

match.pd (simple_comparison): Don't optimize if either operand is a function pointer when...

	* match.pd (simple_comparison): Don't optimize if either operand is
	a function pointer when target needs function pointer canonicalization.

From-SVN: r264705
parent 68cf2892
2018-09-28 John David Anglin <danglin@gcc.gnu.org>
* match.pd (simple_comparison): Don't optimize if either operand is
a function pointer when target needs function pointer canonicalization.
2018-09-28 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/driver-rs6000.c (asm_names): Adjust the entries for
......
......@@ -3558,8 +3558,10 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
/* Disable this optimization if we're casting a function pointer
type on targets that require function pointer canonicalization. */
&& !(targetm.have_canonicalize_funcptr_for_compare ()
&& POINTER_TYPE_P (TREE_TYPE (@00))
&& ((POINTER_TYPE_P (TREE_TYPE (@00))
&& FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (@00))))
|| (POINTER_TYPE_P (TREE_TYPE (@10))
&& FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (@10))))))
&& single_use (@0))
(if (TYPE_PRECISION (TREE_TYPE (@00)) == TYPE_PRECISION (TREE_TYPE (@0))
&& (TREE_CODE (@10) == INTEGER_CST
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment