Commit 26d7dc48 by Richard Biener Committed by Richard Biener

re PR ipa/79970 (ICE in add_stack_var, at cfgexpand.c:450 with always_inline attribute)

2017-03-09  Richard Biener  <rguenther@suse.de>

	PR ipa/79970
	* ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
	alignment of BLKmode params.

	* gcc.dg/torture/pr79970.c: New testcase.

From-SVN: r246001
parent 35f77c28
2017-03-09 Richard Biener <rguenther@suse.de>
PR ipa/79970
* ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
alignment of BLKmode params.
2017-03-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/79913
......
......@@ -4198,7 +4198,8 @@ ipa_modify_formal_parameters (tree fndecl, ipa_parm_adjustment_vec adjustments)
else
{
ptype = adj->type;
if (is_gimple_reg_type (ptype))
if (is_gimple_reg_type (ptype)
&& TYPE_MODE (ptype) != BLKmode)
{
unsigned malign = GET_MODE_ALIGNMENT (TYPE_MODE (ptype));
if (TYPE_ALIGN (ptype) != malign)
......
2017-03-09 Richard Biener <rguenther@suse.de>
PR ipa/79970
* gcc.dg/torture/pr79970.c: New testcase.
2017-03-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71966
......
/* { dg-do compile } */
/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */
/* { dg-additional-options "-mno-sse" { target x86_64-*-* i?86-*-* } } */
typedef int c __attribute__ ((__vector_size__ (16)));
__attribute__((always_inline)) void d (void); /* { dg-warning "" } { dg-error 7 "inlining failed" } */
void f(c x);
inline void e (c *b) {
f (*b);
}
void a ()
{
struct
{
c g[4];
} h;
d ();
e (h.g);
}
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