[Bug tree-optimization/19080] [4.0 regression] ICE while compiling linux kernel
steven at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Dec 20 09:11:00 GMT 2004
------- Additional Comments From steven at gcc dot gnu dot org 2004-12-20 09:10 -------
After alias2, we have this statement:
# NMT.24D.1619 = V_MAY_DEF <NMT.24D.1619>;
# NMT.25D.1620 = V_MAY_DEF <NMT.25D.1620>;
# NMT.26D.1621 = V_MAY_DEF <NMT.26D.1621>;
# NMT.27D.1622 = V_MAY_DEF <NMT.27D.1622>;
foo_int_int (D.1505_6, D.1506_5);
but in this loop:
/* Note that virtual definitions are irrelevant for computing KILLS
because a V_MAY_DEF does not constitute a killing definition of the
variable. However, the operand of a virtual definitions is a use
of the variable, so it may cause the variable to be considered
live-on-entry. */
FOR_EACH_SSA_MAYDEF_OPERAND (def_p, use_p, stmt, iter)
{
if (prepare_use_operand_for_rename (use_p, &uid))
{
/* If we do not already have an SSA_NAME for our destination,
then set the destination to the source. */
if (TREE_CODE (DEF_FROM_PTR (def_p)) != SSA_NAME)
SET_DEF (def_p, USE_FROM_PTR (use_p));
set_livein_block (USE_FROM_PTR (use_p), bb);
set_def_block (DEF_FROM_PTR (def_p), bb, false, false);
REWRITE_THIS_STMT (stmt) = 1;
}
}
we never return true for any of the NMTs in prepare_use_operand_for_rename,
so we never mark this statement for renaming.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19080
More information about the Gcc-bugs
mailing list