This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/61572] [4.10 Regression] ICE: in assign_by_spills, at lra-assigns.c:1335
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 24 Jun 2014 08:32:10 +0000
- Subject: [Bug tree-optimization/61572] [4.10 Regression] ICE: in assign_by_spills, at lra-assigns.c:1335
- Auto-submitted: auto-generated
- References: <bug-61572-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61572
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> The question of course is why rdx is live from function entry to its first
> use.
> My patch will only continue to paper over this issue.
Because of
/* Set the bit for regs that are considered being defined at the entry. */
static void
df_get_entry_block_def_set (bitmap entry_block_defs)
{
rtx r;
int i;
bitmap_clear (entry_block_defs);
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
{
if (global_regs[i])
bitmap_set_bit (entry_block_defs, i);
if (FUNCTION_ARG_REGNO_P (i))
bitmap_set_bit (entry_block_defs, INCOMING_REGNO (i));
}
dx is FUNCTION_ARG_REGNO_P.
I wonder if we can do less conservative here ...