From: Martin Jambor Date: Thu, 5 Dec 2013 18:07:08 +0000 (+0100) Subject: re PR ipa/58253 (IPA-SRA creates calls with different arguments that the callee accepts) X-Git-Tag: upstream/12.2.0~66072 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e69dbe3721a150e221e05edde4985dd961edafd1;p=platform%2Fupstream%2Fgcc.git re PR ipa/58253 (IPA-SRA creates calls with different arguments that the callee accepts) 2013-12-05 Martin Jambor PR ipa/58253 * ipa-prop.c (ipa_modify_formal_parameters): Create decls of non-BLKmode in their naturally aligned type. From-SVN: r205715 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 55757a0..d4a52ee 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-12-05 Martin Jambor + + PR ipa/58253 + * ipa-prop.c (ipa_modify_formal_parameters): Create decls of + non-BLKmode in their naturally aligned type. + 2013-12-05 Marek Polacek PR sanitizer/59333 diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 712dab7..83dc53e 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -3444,7 +3444,15 @@ ipa_modify_formal_parameters (tree fndecl, ipa_parm_adjustment_vec adjustments) if (adj->by_ref) ptype = build_pointer_type (adj->type); else - ptype = adj->type; + { + ptype = adj->type; + if (is_gimple_reg_type (ptype)) + { + unsigned malign = GET_MODE_ALIGNMENT (TYPE_MODE (ptype)); + if (TYPE_ALIGN (ptype) < malign) + ptype = build_aligned_type (ptype, malign); + } + } if (care_for_types) new_arg_types = tree_cons (NULL_TREE, ptype, new_arg_types);