1var<workgroup> a : i32; 2 3var<workgroup> b : i32; 4 5var<workgroup> c : i32; 6 7fn uses_a() { 8 a = (a + 1); 9} 10 11fn uses_b() { 12 b = (b * 2); 13} 14 15fn uses_a_and_b() { 16 b = a; 17} 18 19fn no_uses() { 20} 21 22fn outer() { 23 a = 0; 24 uses_a(); 25 uses_a_and_b(); 26 uses_b(); 27 no_uses(); 28} 29 30[[stage(compute), workgroup_size(1)]] 31fn main1() { 32 a = 42; 33 uses_a(); 34} 35 36[[stage(compute), workgroup_size(1)]] 37fn main2() { 38 b = 7; 39 uses_b(); 40} 41 42[[stage(compute), workgroup_size(1)]] 43fn main3() { 44 outer(); 45 no_uses(); 46} 47 48[[stage(compute), workgroup_size(1)]] 49fn main4() { 50 no_uses(); 51} 52