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
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 }