From e69dbe3721a150e221e05edde4985dd961edafd1 Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Thu, 5 Dec 2013 19:07:08 +0100 Subject: 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 --- gcc/ChangeLog | 6 ++++++ gcc/ipa-prop.c | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) 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); -- cgit v1.1