This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Make LTO type merging cheaper
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 13 Jul 2012 10:11:12 +0200 (CEST)
- Subject: [PATCH] Make LTO type merging cheaper
A patch that's in my local tree for quite some time. This removes
redundant tests.
LTO bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2012-07-13 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_types_compatible_p_1): Remove redundant
type attribute comparisons.
(gimple_canonical_types_compatible_p): Likewise.
Index: gcc/gimple.c
===================================================================
--- gcc/gimple.c (revision 189311)
+++ gcc/gimple.c (working copy)
@@ -3422,10 +3422,6 @@ gimple_types_compatible_p_1 (tree t1, tr
goto different_types;
}
- /* If their attributes are not the same they can't be the same type. */
- if (!attribute_list_equal (TYPE_ATTRIBUTES (t1), TYPE_ATTRIBUTES (t2)))
- goto different_types;
-
/* Do type-specific comparisons. */
switch (TREE_CODE (t1))
{
@@ -4449,10 +4445,6 @@ gimple_canonical_types_compatible_p (tre
return true;
}
- /* If their attributes are not the same they can't be the same type. */
- if (!attribute_list_equal (TYPE_ATTRIBUTES (t1), TYPE_ATTRIBUTES (t2)))
- return false;
-
/* Do type-specific comparisons. */
switch (TREE_CODE (t1))
{
@@ -4499,13 +4491,6 @@ gimple_canonical_types_compatible_p (tre
}
case METHOD_TYPE:
- /* Method types should belong to the same class. */
- if (!gimple_canonical_types_compatible_p
- (TYPE_METHOD_BASETYPE (t1), TYPE_METHOD_BASETYPE (t2)))
- return false;
-
- /* Fallthru */
-
case FUNCTION_TYPE:
/* Function types are the same if the return type and arguments types
are the same. */