This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/37084] [4.4 regression] ICE in gimple_assign_rhs1
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Aug 2008 08:46:31 -0000
- Subject: [Bug tree-optimization/37084] [4.4 regression] ICE in gimple_assign_rhs1
- References: <bug-37084-1771@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from jakub at gcc dot gnu dot org 2008-08-12 08:46 -------
/* With return slot optimization we can end up with
non-gimple (foo *)&this->m, fix that here. */
if ((is_gimple_assign (stmt)
&& gimple_assign_rhs_code (stmt) == NOP_EXPR
&& !is_gimple_val (gimple_assign_rhs1 (stmt)))
|| id->regimplify)
{
tree new_rhs;
new_rhs = force_gimple_operand_gsi (©_gsi,
gimple_assign_rhs1 (stmt),
true, NULL, true, GSI_SAME_STMT);
gimple_assign_set_rhs1 (stmt, new_rhs);
}
else if (id->regimplify)
gimple_regimplify_operands (stmt, ©_gsi);
IMNSHO we just need to kill the || id->regimplify from the first if condition,
the then body isn't able to deal with it and the correct
gimple_regimplify_operands call never triggers.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2008-08-12 08:39:51 |2008-08-12 08:46:30
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37084