gimple.c (gimple_call_same_target_p): Unique functions are eq.

* gimple.c (gimple_call_same_target_p): Unique functions are eq.
	* tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
	equality first.

From-SVN: r235964
This commit is contained in:
Nathan Sidwell 2016-05-06 13:02:42 +00:00 committed by Nathan Sidwell
parent ab4ccf2094
commit 3433ee3503
3 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2016-05-06 Nathan Sidwell <nathan@codesourcery.com>
* gimple.c (gimple_call_same_target_p): Unique functions are eq.
* tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
equality first.
2016-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/70948

View File

@ -1355,7 +1355,8 @@ gimple_call_same_target_p (const gimple *c1, const gimple *c2)
if (gimple_call_internal_p (c1))
return (gimple_call_internal_p (c2)
&& gimple_call_internal_fn (c1) == gimple_call_internal_fn (c2)
&& !gimple_call_internal_unique_p (as_a <const gcall *> (c1)));
&& (!gimple_call_internal_unique_p (as_a <const gcall *> (c1))
|| c1 == c2));
else
return (gimple_call_fn (c1) == gimple_call_fn (c2)
|| (gimple_call_fndecl (c1)

View File

@ -538,6 +538,9 @@ same_succ::equal (const same_succ *e1, const same_succ *e2)
gimple *s1, *s2;
basic_block bb1, bb2;
if (e1 == e2)
return 1;
if (e1->hashval != e2->hashval)
return 0;