PR middle-end/90597: gcc_assert ICE in layout_type
This patch fixes the default implementation of TARGET_VECTOR_ALIGNMENT, known as default_vector_alignment, using the same logic as my earlier nvptx patch, as the ICE caused by TYPE_SIZE(type) being zero during error handling in gcc.dg/attr-vector_size.c is common among backends, and is known in bugzilla as PR middle-end/90597, apparently a recent regression. 2020-09-01 Roger Sayle <roger@nextmovesoftware.com> gcc/ChangeLog: PR middle-end/90597 * targhooks.c (default_vector_alignment): Return at least the GET_MODE_ALIGNMENT for the type's mode.
This commit is contained in:
parent
3d137b75fe
commit
b61eaa25b0
1 changed files with 3 additions and 2 deletions
|
@ -1233,8 +1233,9 @@ default_vector_alignment (const_tree type)
|
|||
tree size = TYPE_SIZE (type);
|
||||
if (tree_fits_uhwi_p (size))
|
||||
align = tree_to_uhwi (size);
|
||||
|
||||
return align < MAX_OFILE_ALIGNMENT ? align : MAX_OFILE_ALIGNMENT;
|
||||
if (align >= MAX_OFILE_ALIGNMENT)
|
||||
return MAX_OFILE_ALIGNMENT;
|
||||
return MAX (align, GET_MODE_ALIGNMENT (TYPE_MODE (type)));
|
||||
}
|
||||
|
||||
/* The default implementation of
|
||||
|
|
Loading…
Add table
Reference in a new issue