aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-08-09 07:38:13 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-08-09 07:38:13 +0000
commitfe7afdf5b55d1c3b8b00e7ea16b1b5df0537f45a (patch)
treee0c3937bc704118112caa3f7a62fcc2a1478c1ac
parentcadec7ca6e41f459aa2e156e672e6941660f26db (diff)
downloadgcc-fe7afdf5b55d1c3b8b00e7ea16b1b5df0537f45a.zip
gcc-fe7afdf5b55d1c3b8b00e7ea16b1b5df0537f45a.tar.gz
gcc-fe7afdf5b55d1c3b8b00e7ea16b1b5df0537f45a.tar.bz2
re PR target/68273 (Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg.)
2016-08-09 Richard Biener <rguenther@suse.de> PR ipa/68273 * ipa-prop.c (ipa_modify_formal_parameters): Build parameter types with natural alignment also for the over-aligned case. From-SVN: r239273
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/ipa-prop.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5dbbb05..eb0dc1d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2016-08-09 Richard Biener <rguenther@suse.de>
+
+ PR ipa/68273
+ * ipa-prop.c (ipa_modify_formal_parameters): Build
+ parameter types with natural alignment also for the
+ over-aligned case.
+
2016-08-08 Andi Kleen <ak@linux.intel.com>
* tree-vrp.c (get_single_symbol): Always initialize inv and neg.
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 132b622..4385614 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -3910,7 +3910,7 @@ ipa_modify_formal_parameters (tree fndecl, ipa_parm_adjustment_vec adjustments)
if (is_gimple_reg_type (ptype))
{
unsigned malign = GET_MODE_ALIGNMENT (TYPE_MODE (ptype));
- if (TYPE_ALIGN (ptype) < malign)
+ if (TYPE_ALIGN (ptype) != malign)
ptype = build_aligned_type (ptype, malign);
}
}