Commit 1e05d185 by Vladimir Makarov Committed by Vladimir Makarov

re PR target/85860 (ICE: in lra_split_hard_reg_for, at lra-assigns.c:1810:…

re PR target/85860 (ICE: in lra_split_hard_reg_for, at lra-assigns.c:1810: unable to find a register to spill with -flive-range-shrinkage -mbmi2)

2019-03-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/85860
	* lra-constraints.c (inherit_in_ebb): Update
	potential_reload_hard_regs along with live_hard_regs.

2019-03-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/85860
	* gcc.target/i386/pr85860.c: New.

From-SVN: r269662
parent 43fb4c80
2019-03-13 Vladimir Makarov <vmakarov@redhat.com>
PR target/85860
* lra-constraints.c (inherit_in_ebb): Update
potential_reload_hard_regs along with live_hard_regs.
2019-03-13 Jakub Jelinek <jakub@redhat.com>
PR debug/89498
......
......@@ -6365,6 +6365,7 @@ inherit_in_ebb (rtx_insn *head, rtx_insn *tail)
add_to_hard_reg_set (&s, PSEUDO_REGNO_MODE (dst_regno),
reg_renumber[dst_regno]);
AND_COMPL_HARD_REG_SET (live_hard_regs, s);
AND_COMPL_HARD_REG_SET (potential_reload_hard_regs, s);
}
/* We should invalidate potential inheritance or
splitting for the current insn usages to the next
......
2019-03-13 Vladimir Makarov <vmakarov@redhat.com>
PR target/85860
* gcc.target/i386/pr85860.c: New.
2019-03-13 Marek Polacek <polacek@redhat.com>
PR c++/89686 - mixing init-capture and simple-capture in lambda.
......
/* { dg-do compile { target lp64 } } */
/* { dg-options "-O2 -fno-guess-branch-probability -flive-range-shrinkage -mbmi2" } */
int a, b, c, d, e;
extern int bar(void);
__int128
foo (unsigned g, int h, long i, __int128 j, short k, __int128 l)
{
unsigned __int128 m = j;
do
{
j %= 5;
c = c >> (m & 31);
e = __builtin_sub_overflow (b, 0, &m);
d = bar ();
l *= __builtin_mul_overflow_p ((unsigned) d, ~(unsigned __int128) 1,
(unsigned __int128) 0);
}
while (a);
return m + j + k + l;
}
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