re PR other/47167 (Performance regression in numerical code)

2011-01-20  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/47167
	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
	Revert previous change, only avoid enumeral type changes.

From-SVN: r169050
This commit is contained in:
Richard Guenther 2011-01-20 10:33:15 +00:00 committed by Richard Biener
parent 525d13b031
commit ddd268f2e9
2 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2011-01-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47167
* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
Revert previous change, only avoid enumeral type changes.
2011-01-19 Dodji Seketeli <dodji@redhat.com>
PR c++/47291

View File

@ -226,11 +226,16 @@ copy_rename_partition_coalesce (var_map map, tree var1, tree var2, FILE *debug)
ign2 = false;
}
/* Don't coalesce if the two variables are not of the same type. */
if (TREE_TYPE (root1) != TREE_TYPE (root2))
/* Don't coalesce if the two variables aren't type compatible . */
if (!types_compatible_p (TREE_TYPE (root1), TREE_TYPE (root2))
/* There is a disconnect between the middle-end type-system and
VRP, avoid coalescing enum types with different bounds. */
|| ((TREE_CODE (TREE_TYPE (root1)) == ENUMERAL_TYPE
|| TREE_CODE (TREE_TYPE (root2)) == ENUMERAL_TYPE)
&& TREE_TYPE (root1) != TREE_TYPE (root2)))
{
if (debug)
fprintf (debug, " : Different types. No coalesce.\n");
fprintf (debug, " : Incompatible types. No coalesce.\n");
return false;
}