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()14order_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