1 /* We used to ICE on this testcase: the address of bad_spill_regs is
2    only taken in a phi node, which we missed and cleared its TREE_ADDRESSABLE
3    flag.  This gets revealed when the loop is completely unrolled, thus
4    exposing the addresses as ordinary statements.  */
5 
6 /* { dg-do compile } */
7 /* { dg-options "-O1" } */
8 
9 
10 typedef unsigned HARD_REG_SET[2];
11 static HARD_REG_SET bad_spill_regs;
12 
13 void
order_regs_for_reload()14 order_regs_for_reload ()
15 {
16   register int i;
17 
18   register unsigned *scan_tp_ = bad_spill_regs;
19 
20   for (i = 0; i < 2; i++)
21     *scan_tp_++ = 0;
22 
23   bad_spill_regs[0] |= 1;
24 }
25