Message ID | alpine.LNX.2.00.1207131010090.17088@jbgna.fhfr.qr |
---|---|
State | New |
Headers | show |
On Fri, Jul 13, 2012 at 1:11 AM, Richard Guenther <rguenther@suse.de> wrote: > > 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. > This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53959
On Fri, Jul 13, 2012 at 1:11 AM, Richard Guenther <rguenther@suse.de> wrote: > > 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)) > { I don't see why this is redundant since attributes aren't checked anywhere else. Revert this part fixes: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53959
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. */