54 lines
1.1 KiB
Plaintext
54 lines
1.1 KiB
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
void uses_a(threadgroup int* const tint_symbol) {
|
|
*(tint_symbol) = (*(tint_symbol) + 1);
|
|
}
|
|
|
|
void uses_b(threadgroup int* const tint_symbol_1) {
|
|
*(tint_symbol_1) = (*(tint_symbol_1) * 2);
|
|
}
|
|
|
|
void uses_a_and_b(threadgroup int* const tint_symbol_2, threadgroup int* const tint_symbol_3) {
|
|
*(tint_symbol_2) = *(tint_symbol_3);
|
|
}
|
|
|
|
void no_uses() {
|
|
}
|
|
|
|
void outer(threadgroup int* const tint_symbol_4, threadgroup int* const tint_symbol_5) {
|
|
*(tint_symbol_4) = 0;
|
|
uses_a(tint_symbol_4);
|
|
uses_a_and_b(tint_symbol_5, tint_symbol_4);
|
|
uses_b(tint_symbol_5);
|
|
no_uses();
|
|
}
|
|
|
|
kernel void main1() {
|
|
threadgroup int tint_symbol_6 = 0;
|
|
tint_symbol_6 = 42;
|
|
uses_a(&(tint_symbol_6));
|
|
return;
|
|
}
|
|
|
|
kernel void main2() {
|
|
threadgroup int tint_symbol_7 = 0;
|
|
tint_symbol_7 = 7;
|
|
uses_b(&(tint_symbol_7));
|
|
return;
|
|
}
|
|
|
|
kernel void main3() {
|
|
threadgroup int tint_symbol_8 = 0;
|
|
threadgroup int tint_symbol_9 = 0;
|
|
outer(&(tint_symbol_8), &(tint_symbol_9));
|
|
no_uses();
|
|
return;
|
|
}
|
|
|
|
kernel void main4() {
|
|
no_uses();
|
|
return;
|
|
}
|
|
|