re PR tree-optimization/27218 (ICE in get_indirect_ref_operands, at tree-ssa-operands.c:1515, inlining produces non-gimple)
2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> Richard Guenther <rguenther@suse.de> PR tree-optimization/27218 * tree-inline.c (expand_call_inline): Strip useless type conversions for the return slot address. * g++.dg/tree-ssa/pr27218.C: New testcase. Co-Authored-By: Richard Guenther <rguenther@suse.de> From-SVN: r113218
This commit is contained in:
parent
0162f1556e
commit
72fa5e06ab
4 changed files with 31 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
|
||||
Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/27218
|
||||
* tree-inline.c (expand_call_inline): Strip useless type
|
||||
conversions for the return slot address.
|
||||
|
||||
2006-04-24 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* cfgloop.h (struct loops): Remove unused field array. Reorder
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
|
||||
Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/27218
|
||||
* g++.dg/tree-ssa/pr27218.C: New testcase.
|
||||
|
||||
2006-04-23 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/26912
|
||||
|
|
17
gcc/testsuite/g++.dg/tree-ssa/pr27218.C
Normal file
17
gcc/testsuite/g++.dg/tree-ssa/pr27218.C
Normal file
|
@ -0,0 +1,17 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
struct Vector
|
||||
{
|
||||
double _x, _y;
|
||||
};
|
||||
typedef Vector Point;
|
||||
Vector d;
|
||||
static inline Vector f(void)
|
||||
{
|
||||
return d;
|
||||
}
|
||||
void add_duck (void)
|
||||
{
|
||||
new Point (f());
|
||||
}
|
|
@ -2073,6 +2073,7 @@ expand_call_inline (basic_block bb, tree stmt, tree *tp, void *data)
|
|||
if (CALL_EXPR_RETURN_SLOT_OPT (t))
|
||||
{
|
||||
return_slot_addr = build_fold_addr_expr (modify_dest);
|
||||
STRIP_USELESS_TYPE_CONVERSION (return_slot_addr);
|
||||
modify_dest = NULL;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue