Commit 191879f9 by Richard Guenther Committed by Richard Biener

re PR middle-end/51895 (ICE in simplify_subreg)

2012-01-23  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51895
	* tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
	parameter decomposition into BLKmode components.

From-SVN: r183429
parent b31799f4
2012-01-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51895
* tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
parameter decomposition into BLKmode components.
2012-01-23 Eric Botcazou <ebotcazou@adacore.com>
* tree-ssa-structalias.c (intra_create_variable_infos): Do not create
......
......@@ -3914,6 +3914,13 @@ decide_one_param_reduction (struct access *repr)
if (by_ref && repr->non_addressable)
return 0;
/* Do not decompose a non-BLKmode param in a way that would
create BLKmode params. Especially for by-reference passing
(thus, pointer-type param) this is hardly worthwhile. */
if (DECL_MODE (parm) != BLKmode
&& TYPE_MODE (repr->type) == BLKmode)
return 0;
if (!by_ref || (!repr->grp_maybe_modified
&& !repr->grp_not_necessarilly_dereferenced))
total_size += repr->size;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment