1 // { dg-do compile } 2 // { dg-options "-fno-ipa-sra -fcompare-debug" } 3 // { dg-xfail-if "" { powerpc-ibm-aix* } } 4 5 struct comp_cost { int cost; unsigned complexity; }; 6 struct cost_pair { struct iv_cand *cand; }; 7 struct iv_use { unsigned n_map_members; cost_pair *cost_map; }; 8 struct iv_cand { unsigned id; }; 9 10 unsigned gu; 11 12 void bar(comp_cost,comp_cost)13bar (comp_cost, comp_cost) 14 { 15 } 16 17 void foo(iv_use * use,iv_cand * cand)18foo (iv_use *use, iv_cand *cand) 19 { 20 unsigned i, s = cand->id & (use->n_map_members - 1); 21 for (i = 0; i < s; i++) 22 if (use->cost_map[i].cand) 23 goto found; 24 found: 25 use->cost_map[i].cand = cand; 26 comp_cost elim_cost, express_cost, bound_cost; 27 bar (elim_cost, express_cost); 28 gu = express_cost.complexity; 29 } 30 31 32