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