25 lines
574 B
C
25 lines
574 B
C
/* We used to ICE on this testcase: the address of bad_spill_regs is
|
|
only taken in a phi node, which we missed and cleared its TREE_ADDRESSABLE
|
|
flag. This gets revealed when the loop is completely unrolled, thus
|
|
exposing the addresses as ordinary statements. */
|
|
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-O1" } */
|
|
|
|
|
|
typedef unsigned HARD_REG_SET[2];
|
|
static HARD_REG_SET bad_spill_regs;
|
|
|
|
void
|
|
order_regs_for_reload ()
|
|
{
|
|
register int i;
|
|
|
|
register unsigned *scan_tp_ = bad_spill_regs;
|
|
|
|
for (i = 0; i < 2; i++)
|
|
*scan_tp_++ = 0;
|
|
|
|
bad_spill_regs[0] |= 1;
|
|
}
|