54 lines
1.1 KiB
Plaintext
54 lines
1.1 KiB
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
void uses_a(thread int* const tint_symbol) {
|
|
*(tint_symbol) = as_type<int>((as_type<uint>(*(tint_symbol)) + as_type<uint>(1)));
|
|
}
|
|
|
|
void uses_b(thread int* const tint_symbol_1) {
|
|
*(tint_symbol_1) = as_type<int>((as_type<uint>(*(tint_symbol_1)) * as_type<uint>(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_6 = 0;
|
|
tint_symbol_6 = 42;
|
|
uses_a(&(tint_symbol_6));
|
|
return;
|
|
}
|
|
|
|
kernel void main2() {
|
|
thread int tint_symbol_7 = 0;
|
|
tint_symbol_7 = 7;
|
|
uses_b(&(tint_symbol_7));
|
|
return;
|
|
}
|
|
|
|
kernel void main3() {
|
|
thread int tint_symbol_8 = 0;
|
|
thread int tint_symbol_9 = 0;
|
|
outer(&(tint_symbol_8), &(tint_symbol_9));
|
|
no_uses();
|
|
return;
|
|
}
|
|
|
|
kernel void main4() {
|
|
no_uses();
|
|
return;
|
|
}
|
|
|