tree-sra.c (create_access_replacement): Drop under-/over-alignment of types.

2015-03-31  Richard Biener  <rguenther@suse.de>

	* tree-sra.c (create_access_replacement): Drop under-/over-alignment
	of types.

From-SVN: r221795
This commit is contained in:
Richard Biener 2015-03-31 13:32:59 +00:00 committed by Richard Biener
parent 2d38d80934
commit 78f1b5234a
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2015-03-31 Richard Biener <rguenther@suse.de>
* tree-sra.c (create_access_replacement): Drop under-/over-alignment
of types.
2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching

View File

@ -2012,7 +2012,11 @@ create_access_replacement (struct access *access)
DECL_CONTEXT (repl) = current_function_decl;
}
else
repl = create_tmp_var (access->type, "SR");
/* Drop any special alignment on the type if it's not on the main
variant. This avoids issues with weirdo ABIs like AAPCS. */
repl = create_tmp_var (build_qualified_type
(TYPE_MAIN_VARIANT (access->type),
TYPE_QUALS (access->type)), "SR");
if (TREE_CODE (access->type) == COMPLEX_TYPE
|| TREE_CODE (access->type) == VECTOR_TYPE)
{