58 lines
1.2 KiB
Plaintext
58 lines
1.2 KiB
Plaintext
|
#include <metal_stdlib>
|
||
|
|
||
|
using namespace metal;
|
||
|
void uses_a(thread int* const tint_symbol) {
|
||
|
*(tint_symbol) = (*(tint_symbol) + 1);
|
||
|
}
|
||
|
|
||
|
void uses_b(thread int* const tint_symbol_1) {
|
||
|
*(tint_symbol_1) = (*(tint_symbol_1) * 2);
|
||
|
}
|
||
|
|
||
|
void uses_a_and_b(thread int* const tint_symbol_2, thread int* const tint_symbol_3) {
|
||
|
*(tint_symbol_2) = *(tint_symbol_3);
|
||
|
}
|
||
|
|
||
|
void no_uses() {
|
||
|
}
|
||
|
|
||
|
void outer(thread int* const tint_symbol_4, thread 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() {
|
||
|
thread int tint_symbol_7 = 0;
|
||
|
thread int* const tint_symbol_6 = &(tint_symbol_7);
|
||
|
*(tint_symbol_6) = 42;
|
||
|
uses_a(tint_symbol_6);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
kernel void main2() {
|
||
|
thread int tint_symbol_9 = 0;
|
||
|
thread int* const tint_symbol_8 = &(tint_symbol_9);
|
||
|
*(tint_symbol_8) = 7;
|
||
|
uses_b(tint_symbol_8);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
kernel void main3() {
|
||
|
thread int tint_symbol_11 = 0;
|
||
|
thread int* const tint_symbol_10 = &(tint_symbol_11);
|
||
|
thread int tint_symbol_13 = 0;
|
||
|
thread int* const tint_symbol_12 = &(tint_symbol_13);
|
||
|
outer(tint_symbol_10, tint_symbol_12);
|
||
|
no_uses();
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
kernel void main4() {
|
||
|
no_uses();
|
||
|
return;
|
||
|
}
|
||
|
|