re PR middle-end/48849 (SPEC CPU 2000/2006 failed to build with LTO)
2011-05-20 Richard Guenther <rguenther@suse.de> PR middle-end/48849 * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL of pointer types the same way the middle-end does. From-SVN: r173939
This commit is contained in:
parent
fb291a1ea7
commit
0ea80a1603
|
@ -1,3 +1,9 @@
|
||||||
|
2011-05-20 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR middle-end/48849
|
||||||
|
* gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
|
||||||
|
of pointer types the same way the middle-end does.
|
||||||
|
|
||||||
2011-05-20 Richard Guenther <rguenther@suse.de>
|
2011-05-20 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
* gimple.c (gimple_register_type_1): Do not fiddle with
|
* gimple.c (gimple_register_type_1): Do not fiddle with
|
||||||
|
|
19
gcc/gimple.c
19
gcc/gimple.c
|
@ -4801,6 +4801,25 @@ gimple_register_canonical_type (tree t)
|
||||||
if (TYPE_CANONICAL (t))
|
if (TYPE_CANONICAL (t))
|
||||||
return TYPE_CANONICAL (t);
|
return TYPE_CANONICAL (t);
|
||||||
|
|
||||||
|
/* For pointer and reference types do as the middle-end does - the
|
||||||
|
canonical type is a pointer to the canonical pointed-to type. */
|
||||||
|
if (TREE_CODE (t) == POINTER_TYPE)
|
||||||
|
{
|
||||||
|
TYPE_CANONICAL (t)
|
||||||
|
= build_pointer_type_for_mode
|
||||||
|
(gimple_register_canonical_type (TREE_TYPE (t)),
|
||||||
|
TYPE_MODE (t), TYPE_REF_CAN_ALIAS_ALL (t));
|
||||||
|
return TYPE_CANONICAL (t);
|
||||||
|
}
|
||||||
|
else if (TREE_CODE (t) == REFERENCE_TYPE)
|
||||||
|
{
|
||||||
|
TYPE_CANONICAL (t)
|
||||||
|
= build_reference_type_for_mode
|
||||||
|
(gimple_register_canonical_type (TREE_TYPE (t)),
|
||||||
|
TYPE_MODE (t), TYPE_REF_CAN_ALIAS_ALL (t));
|
||||||
|
return TYPE_CANONICAL (t);
|
||||||
|
}
|
||||||
|
|
||||||
if (gimple_canonical_types == NULL)
|
if (gimple_canonical_types == NULL)
|
||||||
gimple_canonical_types = htab_create_ggc (16381, gimple_canonical_type_hash,
|
gimple_canonical_types = htab_create_ggc (16381, gimple_canonical_type_hash,
|
||||||
gimple_canonical_type_eq, 0);
|
gimple_canonical_type_eq, 0);
|
||||||
|
|
Loading…
Reference in New Issue