Make reserved words an error.

This CL moves reserved words from a deprecation to an error.

Bug: tint:1463
Change-Id: I5c66baa15dc748215877c8152171c690495bc0c2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/108861
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This commit is contained in:
dan sinclair 2022-11-07 16:15:55 +00:00 committed by Dawn LUCI CQ
parent 2d706a0436
commit 5071a54af4
59 changed files with 422 additions and 428 deletions

View File

@ -8,6 +8,7 @@
* The `@stage` attribute has been removed. The short forms should be used
instead (`@vertex`, `@fragment`, or `@compute`). [tint:1503](crbug.com/tint/1503)
* Module-scope `let` is now an error. Use module-scope `const` instead. [tint:1580](crbug.com/tint/1584)
* Reserved words are now an error instead of a deprecation. [tint:1463](crbug.com/tint/1463)
### New features

View File

@ -109,7 +109,7 @@ static const char sRenderValidationShaderSource[] = R"(
}
}
fn pass(drawIndex: u32) {
fn set_pass(drawIndex: u32) {
let numInputParams = numIndirectParamsPerDrawCallInput();
var outIndex = drawIndex * numIndirectParamsPerDrawCallOutput();
let inIndex = batch.indirectOffsets[drawIndex];
@ -137,7 +137,7 @@ static const char sRenderValidationShaderSource[] = R"(
}
if(!bool(batch.flags & kValidationEnabled)) {
pass(id.x);
set_pass(id.x);
return;
}
@ -152,14 +152,14 @@ static const char sRenderValidationShaderSource[] = R"(
}
if (!bool(batch.flags & kIndexedDraw)) {
pass(id.x);
set_pass(id.x);
return;
}
if (batch.numIndexBufferElementsHigh >= 2u) {
// firstIndex and indexCount are both u32. The maximum possible sum of these
// values is 0x1fffffffe, which is less than 0x200000000. Nothing to validate.
pass(id.x);
set_pass(id.x);
return;
}
@ -178,7 +178,7 @@ static const char sRenderValidationShaderSource[] = R"(
fail(id.x);
return;
}
pass(id.x);
set_pass(id.x);
}
)";

View File

@ -3774,7 +3774,7 @@ Expect<std::string> ParserImpl::expect_ident(std::string_view use) {
next();
if (is_reserved(t)) {
deprecated(t.source(), "'" + t.to_str() + "' is a reserved keyword");
return add_error(t.source(), "'" + t.to_str() + "' is a reserved keyword");
}
return {t.to_str(), t.source()};

View File

@ -21,74 +21,67 @@ using ParserImplReservedKeywordTest = ParserImplTestWithParam<std::string>;
TEST_P(ParserImplReservedKeywordTest, Function) {
auto name = GetParam();
auto p = parser("fn " + name + "() {}");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:4: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:4: '" + name + "' is a reserved keyword");
}
TEST_P(ParserImplReservedKeywordTest, ModuleConst) {
auto name = GetParam();
auto p = parser("const " + name + " : i32 = 1;");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:7: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:7: '" + name + "' is a reserved keyword");
}
TEST_P(ParserImplReservedKeywordTest, ModuleVar) {
auto name = GetParam();
auto p = parser("var " + name + " : i32 = 1;");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:5: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:5: '" + name + "' is a reserved keyword");
}
TEST_P(ParserImplReservedKeywordTest, FunctionLet) {
auto name = GetParam();
auto p = parser("fn f() { let " + name + " : i32 = 1; }");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:14: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:14: '" + name + "' is a reserved keyword");
}
TEST_P(ParserImplReservedKeywordTest, FunctionVar) {
auto name = GetParam();
auto p = parser("fn f() { var " + name + " : i32 = 1; }");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:14: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:14: '" + name + "' is a reserved keyword");
}
TEST_P(ParserImplReservedKeywordTest, FunctionParam) {
auto name = GetParam();
auto p = parser("fn f(" + name + " : i32) {}");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:6: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:6: '" + name + "' is a reserved keyword");
}
TEST_P(ParserImplReservedKeywordTest, Struct) {
auto name = GetParam();
auto p = parser("struct " + name + " {};");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:8: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), R"(1:8: ')" + name + R"(' is a reserved keyword
1:)" + std::to_string(9 + name.length()) +
R"(: statement found outside of function body)");
}
TEST_P(ParserImplReservedKeywordTest, StructMember) {
auto name = GetParam();
auto p = parser("struct S { " + name + " : i32, };");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:12: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:12: '" + name + "' is a reserved keyword");
}
TEST_P(ParserImplReservedKeywordTest, Alias) {
auto name = GetParam();
auto p = parser("type " + name + " = i32;");
EXPECT_TRUE(p->Parse());
EXPECT_FALSE(p->has_error());
EXPECT_EQ(p->error(),
"1:6: use of deprecated language feature: '" + name + "' is a reserved keyword");
EXPECT_FALSE(p->Parse());
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:6: '" + name + "' is a reserved keyword");
}
INSTANTIATE_TEST_SUITE_P(ParserImplReservedKeywordTest,
ParserImplReservedKeywordTest,

View File

@ -169,7 +169,7 @@ TEST_F(ClampFragDepthTest, OtherFunctionWithoutFragDepth) {
@fragment fn main() -> @builtin(frag_depth) f32 {
return 0.0;
}
@fragment fn friend() -> @location(0) f32 {
@fragment fn other() -> @location(0) f32 {
return 0.0;
}
)";
@ -194,7 +194,7 @@ fn main() -> @builtin(frag_depth) f32 {
}
@fragment
fn friend() -> @location(0) f32 {
fn other() -> @location(0) f32 {
return 0.0;
}
)";

View File

@ -580,9 +580,9 @@ TEST_F(MultiplanarExternalTextureTest, BasicTextureLoad) {
@fragment
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
var signed = textureLoad(ext_tex, vec2<i32>(1));
var unsigned = textureLoad(ext_tex, vec2<u32>(1));
return signed + unsigned;
var val_signed = textureLoad(ext_tex, vec2<i32>(1));
var val_unsigned = textureLoad(ext_tex, vec2<u32>(1));
return val_signed + val_unsigned;
}
)";
@ -652,9 +652,9 @@ fn textureLoadExternal_1(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, coo
@fragment
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
var signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params);
var unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
return (signed + unsigned);
var val_signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params);
var val_unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
return (val_signed + val_unsigned);
}
)";
@ -670,9 +670,9 @@ TEST_F(MultiplanarExternalTextureTest, BasicTextureLoad_OutOfOrder) {
auto* src = R"(
@fragment
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
var signed = textureLoad(ext_tex, vec2<i32>(1));
var unsigned = textureLoad(ext_tex, vec2<u32>(1));
return signed + unsigned;
var val_signed = textureLoad(ext_tex, vec2<i32>(1));
var val_unsigned = textureLoad(ext_tex, vec2<u32>(1));
return val_signed + val_unsigned;
}
@group(0) @binding(0) var ext_tex : texture_external;
@ -742,9 +742,9 @@ fn textureLoadExternal_1(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, coo
@fragment
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
var signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params);
var unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
return (signed + unsigned);
var val_signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params);
var val_unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
return (val_signed + val_unsigned);
}
@group(0) @binding(0) var ext_tex : texture_2d<f32>;

View File

@ -787,7 +787,7 @@ TEST_F(RobustnessTest, TextureLoad_Clamp) {
@group(0) @binding(0) var tex_depth_2d_arr : texture_depth_2d_array;
@group(0) @binding(0) var tex_external : texture_external;
fn signed() {
fn idx_signed() {
var array_idx : i32;
var level_idx : i32;
var sample_idx : i32;
@ -802,7 +802,7 @@ fn signed() {
textureLoad(tex_external, vec2<i32>(1, 2));
}
fn unsigned() {
fn idx_unsigned() {
var array_idx : u32;
var level_idx : u32;
var sample_idx : u32;
@ -836,7 +836,7 @@ fn unsigned() {
@group(0) @binding(0) var tex_external : texture_external;
fn signed() {
fn idx_signed() {
var array_idx : i32;
var level_idx : i32;
var sample_idx : i32;
@ -850,7 +850,7 @@ fn signed() {
textureLoad(tex_external, clamp(vec2<i32>(1, 2), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex_external)) - vec2(1)))));
}
fn unsigned() {
fn idx_unsigned() {
var array_idx : u32;
var level_idx : u32;
var sample_idx : u32;
@ -873,7 +873,7 @@ fn unsigned() {
// Clamp textureLoad() coord, array_index and level values
TEST_F(RobustnessTest, TextureLoad_Clamp_OutOfOrder) {
auto* src = R"(
fn signed() {
fn idx_signed() {
var array_idx : i32;
var level_idx : i32;
var sample_idx : i32;
@ -888,7 +888,7 @@ fn signed() {
textureLoad(tex_external, vec2<i32>(1, 2));
}
fn unsigned() {
fn idx_unsigned() {
var array_idx : u32;
var level_idx : u32;
var sample_idx : u32;
@ -915,7 +915,7 @@ fn unsigned() {
auto* expect =
R"(
fn signed() {
fn idx_signed() {
var array_idx : i32;
var level_idx : i32;
var sample_idx : i32;
@ -929,7 +929,7 @@ fn signed() {
textureLoad(tex_external, clamp(vec2<i32>(1, 2), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex_external)) - vec2(1)))));
}
fn unsigned() {
fn idx_unsigned() {
var array_idx : u32;
var level_idx : u32;
var sample_idx : u32;
@ -976,14 +976,14 @@ TEST_F(RobustnessTest, TextureStore_Clamp) {
@group(0) @binding(3) var tex3d : texture_storage_3d<rgba8sint, write>;
fn signed() {
fn idx_signed() {
textureStore(tex1d, 10i, vec4<i32>());
textureStore(tex2d, vec2<i32>(10, 20), vec4<i32>());
textureStore(tex2d_arr, vec2<i32>(10, 20), 50i, vec4<i32>());
textureStore(tex3d, vec3<i32>(10, 20, 30), vec4<i32>());
}
fn unsigned() {
fn idx_unsigned() {
textureStore(tex1d, 10u, vec4<i32>());
textureStore(tex2d, vec2<u32>(10, 20), vec4<i32>());
textureStore(tex2d_arr, vec2<u32>(10, 20), 50u, vec4<i32>());
@ -1000,14 +1000,14 @@ fn unsigned() {
@group(0) @binding(3) var tex3d : texture_storage_3d<rgba8sint, write>;
fn signed() {
fn idx_signed() {
textureStore(tex1d, clamp(10i, 0, i32((u32(textureDimensions(tex1d)) - 1))), vec4<i32>());
textureStore(tex2d, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d)) - vec2(1)))), vec4<i32>());
textureStore(tex2d_arr, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1)))), clamp(50i, 0, i32((u32(textureNumLayers(tex2d_arr)) - 1))), vec4<i32>());
textureStore(tex3d, clamp(vec3<i32>(10, 20, 30), vec3(0), vec3<i32>((vec3<u32>(textureDimensions(tex3d)) - vec3(1)))), vec4<i32>());
}
fn unsigned() {
fn idx_unsigned() {
textureStore(tex1d, min(10u, (u32(textureDimensions(tex1d)) - 1)), vec4<i32>());
textureStore(tex2d, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d)) - vec2(1))), vec4<i32>());
textureStore(tex2d_arr, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1))), min(50u, (u32(textureNumLayers(tex2d_arr)) - 1)), vec4<i32>());
@ -1023,14 +1023,14 @@ fn unsigned() {
// Clamp textureStore() coord, array_index and level values
TEST_F(RobustnessTest, TextureStore_Clamp_OutOfOrder) {
auto* src = R"(
fn signed() {
fn idx_signed() {
textureStore(tex1d, 10i, vec4<i32>());
textureStore(tex2d, vec2<i32>(10, 20), vec4<i32>());
textureStore(tex2d_arr, vec2<i32>(10, 20), 50i, vec4<i32>());
textureStore(tex3d, vec3<i32>(10, 20, 30), vec4<i32>());
}
fn unsigned() {
fn idx_unsigned() {
textureStore(tex1d, 10u, vec4<i32>());
textureStore(tex2d, vec2<u32>(10, 20), vec4<i32>());
textureStore(tex2d_arr, vec2<u32>(10, 20), 50u, vec4<i32>());
@ -1048,14 +1048,14 @@ fn unsigned() {
)";
auto* expect = R"(
fn signed() {
fn idx_signed() {
textureStore(tex1d, clamp(10i, 0, i32((u32(textureDimensions(tex1d)) - 1))), vec4<i32>());
textureStore(tex2d, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d)) - vec2(1)))), vec4<i32>());
textureStore(tex2d_arr, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1)))), clamp(50i, 0, i32((u32(textureNumLayers(tex2d_arr)) - 1))), vec4<i32>());
textureStore(tex3d, clamp(vec3<i32>(10, 20, 30), vec3(0), vec3<i32>((vec3<u32>(textureDimensions(tex3d)) - vec3(1)))), vec4<i32>());
}
fn unsigned() {
fn idx_unsigned() {
textureStore(tex1d, min(10u, (u32(textureDimensions(tex1d)) - 1)), vec4<i32>());
textureStore(tex2d, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d)) - vec2(1))), vec4<i32>());
textureStore(tex2d_arr, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1))), min(50u, (u32(textureNumLayers(tex2d_arr)) - 1)), vec4<i32>());

View File

@ -71,10 +71,10 @@ fn getClusterIndex(fragCoord : vec4<f32>) -> u32 {
return ((tile.x + (tile.y * tileCount.x)) + ((tile.z * tileCount.x) * tileCount.y));
}
fn sqDistPointAABB(point : vec3<f32>, minAABB : vec3<f32>, maxAABB : vec3<f32>) -> f32 {
fn sqDistPointAABB(p: vec3<f32>, minAABB : vec3<f32>, maxAABB : vec3<f32>) -> f32 {
var sqDist = 0.0;
for(var i : i32 = 0; (i < 3); i = (i + 1)) {
let v = point[i];
let v = p[i];
if ((v < minAABB[i])) {
sqDist = (sqDist + ((minAABB[i] - v) * (minAABB[i] - v)));
}

View File

@ -8,7 +8,7 @@
OpName %f "f"
OpName %v "v"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "ref"
OpMemberName %buf0 0 "r"
OpName %_ ""
OpName %_GLF_color "_GLF_color"
OpMemberDecorate %buf0 0 Offset 0

View File

@ -3,7 +3,7 @@ precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 {
vec4 ref;
vec4 r;
};
layout(binding = 0, std140) uniform x_7_block_ubo {
@ -21,7 +21,7 @@ void main_1() {
float x_39 = f;
v = vec4(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
vec4 x_42 = v;
vec4 x_44 = x_7.inner.ref;
vec4 x_44 = x_7.inner.r;
if ((distance(x_42, x_44) < 0.100000001f)) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
} else {

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ float4 ref;
/* 0x0000 */ float4 r;
};
void main_1(const constant buf0* const tint_symbol_3, thread float4* const tint_symbol_4) {
@ -15,7 +15,7 @@ void main_1(const constant buf0* const tint_symbol_3, thread float4* const tint_
float const x_39 = f;
v = float4(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
float4 const x_42 = v;
float4 const x_44 = (*(tint_symbol_3)).ref;
float4 const x_44 = (*(tint_symbol_3)).r;
if ((distance(x_42, x_44) < 0.100000001f)) {
*(tint_symbol_4) = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else {

View File

@ -12,7 +12,7 @@
OpName %x_7_block "x_7_block"
OpMemberName %x_7_block 0 "inner"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "ref"
OpMemberName %buf0 0 "r"
OpName %x_7 "x_7"
OpName %x_GLF_color "x_GLF_color"
OpName %main_1 "main_1"

View File

@ -1,5 +1,5 @@
struct buf0 {
ref : vec4<f32>,
r : vec4<f32>,
}
@group(0) @binding(0) var<uniform> x_7 : buf0;
@ -16,7 +16,7 @@ fn main_1() {
let x_39 : f32 = f;
v = vec4<f32>(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
let x_42 : vec4<f32> = v;
let x_44 : vec4<f32> = x_7.ref;
let x_44 : vec4<f32> = x_7.r;
if ((distance(x_42, x_44) < 0.100000001f)) {
x_GLF_color = vec4<f32>(1.0f, 0.0f, 0.0f, 1.0f);
} else {

View File

@ -14,7 +14,7 @@
OpMemberName %buf1 0 "_GLF_uniform_float_values"
OpName %__0 ""
OpName %R "R"
OpName %ref "ref"
OpName %r "r"
OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_int_uint_5 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
@ -63,7 +63,7 @@
%I = OpVariable %_ptr_Function_v4float Function
%N = OpVariable %_ptr_Function_v4float Function
%R = OpVariable %_ptr_Function_v4float Function
%ref = OpVariable %_ptr_Function_v4float Function
%r = OpVariable %_ptr_Function_v4float Function
%39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%40 = OpLoad %int %39
%41 = OpBitcast %uint %40
@ -93,9 +93,9 @@
%62 = OpLoad %v4float %N
%63 = OpVectorTimesScalar %v4float %62 %61
%64 = OpFSub %v4float %55 %63
OpStore %ref %64
OpStore %r %64
%65 = OpLoad %v4float %R
%66 = OpLoad %v4float %ref
%66 = OpLoad %v4float %r
%67 = OpExtInst %float %1 Distance %65 %66
%68 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%69 = OpLoad %float %68

View File

@ -30,7 +30,7 @@ fn main_1() {
var I : vec4<f32>;
var N : vec4<f32>;
var R : vec4<f32>;
var ref : vec4<f32>;
var r : vec4<f32>;
let x_40 : i32 = x_6.x_GLF_uniform_int_values[2].el;
let x_43 : i32 = x_6.x_GLF_uniform_int_values[3].el;
let x_46 : i32 = x_6.x_GLF_uniform_int_values[4].el;
@ -44,9 +44,9 @@ fn main_1() {
let x_58 : vec4<f32> = N;
let x_59 : vec4<f32> = I;
let x_62 : vec4<f32> = N;
ref = (x_55 - (x_62 * (x_57 * dot(x_58, x_59))));
r = (x_55 - (x_62 * (x_57 * dot(x_58, x_59))));
let x_65 : vec4<f32> = R;
let x_66 : vec4<f32> = ref;
let x_66 : vec4<f32> = r;
let x_69 : f32 = x_9.x_GLF_uniform_float_values[0].el;
if ((distance(x_65, x_66) < x_69)) {
let x_75 : i32 = x_6.x_GLF_uniform_int_values[0].el;

View File

@ -10,7 +10,7 @@
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ ""
OpName %v1 "v1"
OpName %ref "ref"
OpName %r "r"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_int_values"
OpName %__0 ""
@ -58,7 +58,7 @@
%34 = OpLabel
%a = OpVariable %_ptr_Function_uint Function
%v1 = OpVariable %_ptr_Function_v4float Function
%ref = OpVariable %_ptr_Function_v4float Function
%r = OpVariable %_ptr_Function_v4float Function
%35 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%36 = OpLoad %float %35
%37 = OpCompositeConstruct %v4float %36 %36 %36 %36
@ -92,14 +92,14 @@
%63 = OpLoad %float %62
%64 = OpFDiv %float %61 %63
%65 = OpCompositeConstruct %v4float %46 %52 %58 %64
OpStore %ref %65
OpStore %r %65
%66 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%67 = OpLoad %int %66
%68 = OpAccessChain %_ptr_Function_float %v1 %67
%69 = OpLoad %float %68
%70 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%71 = OpLoad %int %70
%72 = OpAccessChain %_ptr_Function_float %ref %71
%72 = OpAccessChain %_ptr_Function_float %r %71
%73 = OpLoad %float %72
%74 = OpFOrdEqual %bool %69 %73
OpSelectionMerge %75 None
@ -111,7 +111,7 @@
%80 = OpLoad %float %79
%81 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2
%82 = OpLoad %int %81
%83 = OpAccessChain %_ptr_Function_float %ref %82
%83 = OpAccessChain %_ptr_Function_float %r %82
%84 = OpLoad %float %83
%85 = OpFOrdEqual %bool %80 %84
OpBranch %75
@ -126,7 +126,7 @@
%92 = OpLoad %float %91
%93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3
%94 = OpLoad %int %93
%95 = OpAccessChain %_ptr_Function_float %ref %94
%95 = OpAccessChain %_ptr_Function_float %r %94
%96 = OpLoad %float %95
%97 = OpFOrdEqual %bool %92 %96
OpBranch %87
@ -141,7 +141,7 @@
%104 = OpLoad %float %103
%105 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%106 = OpLoad %int %105
%107 = OpAccessChain %_ptr_Function_float %ref %106
%107 = OpAccessChain %_ptr_Function_float %r %106
%108 = OpLoad %float %107
%109 = OpFOrdEqual %bool %104 %108
OpBranch %99

View File

@ -29,7 +29,7 @@ var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var a : u32;
var v1 : vec4<f32>;
var ref : vec4<f32>;
var r : vec4<f32>;
var x_85 : bool;
var x_97 : bool;
var x_109 : bool;
@ -48,18 +48,18 @@ fn main_1() {
let x_57 : f32 = x_6.x_GLF_uniform_float_values[1].el;
let x_60 : f32 = x_6.x_GLF_uniform_float_values[0].el;
let x_63 : f32 = x_6.x_GLF_uniform_float_values[1].el;
ref = vec4<f32>((-(x_42) / x_45), (-(x_48) / x_51), (-(x_54) / x_57), (-(x_60) / x_63));
r = vec4<f32>((-(x_42) / x_45), (-(x_48) / x_51), (-(x_54) / x_57), (-(x_60) / x_63));
let x_67 : i32 = x_10.x_GLF_uniform_int_values[1].el;
let x_69 : f32 = v1[x_67];
let x_71 : i32 = x_10.x_GLF_uniform_int_values[0].el;
let x_73 : f32 = ref[x_71];
let x_73 : f32 = r[x_71];
let x_74 : bool = (x_69 == x_73);
x_86_phi = x_74;
if (x_74) {
let x_78 : i32 = x_10.x_GLF_uniform_int_values[3].el;
let x_80 : f32 = v1[x_78];
let x_82 : i32 = x_10.x_GLF_uniform_int_values[2].el;
let x_84 : f32 = ref[x_82];
let x_84 : f32 = r[x_82];
x_85 = (x_80 == x_84);
x_86_phi = x_85;
}
@ -69,7 +69,7 @@ fn main_1() {
let x_90 : i32 = x_10.x_GLF_uniform_int_values[2].el;
let x_92 : f32 = v1[x_90];
let x_94 : i32 = x_10.x_GLF_uniform_int_values[3].el;
let x_96 : f32 = ref[x_94];
let x_96 : f32 = r[x_94];
x_97 = (x_92 == x_96);
x_98_phi = x_97;
}
@ -79,7 +79,7 @@ fn main_1() {
let x_102 : i32 = x_10.x_GLF_uniform_int_values[0].el;
let x_104 : f32 = v1[x_102];
let x_106 : i32 = x_10.x_GLF_uniform_int_values[1].el;
let x_108 : f32 = ref[x_106];
let x_108 : f32 = r[x_106];
x_109 = (x_104 == x_108);
x_110_phi = x_109;
}

View File

@ -11,7 +11,7 @@
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %ref "ref"
OpName %r "r"
OpName %i_0 "i"
OpName %a_0 "a"
OpName %param "param"
@ -36,7 +36,7 @@
OpDecorate %22 RelaxedPrecision
OpDecorate %23 RelaxedPrecision
OpDecorate %24 RelaxedPrecision
OpDecorate %ref RelaxedPrecision
OpDecorate %r RelaxedPrecision
OpDecorate %25 RelaxedPrecision
OpDecorate %26 RelaxedPrecision
OpDecorate %27 RelaxedPrecision
@ -145,7 +145,7 @@
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%main = OpFunction %void None %96
%123 = OpLabel
%ref = OpVariable %_ptr_Function__arr_int_uint_10 Function
%r = OpVariable %_ptr_Function__arr_int_uint_10 Function
%i_0 = OpVariable %_ptr_Function_int Function
%a_0 = OpVariable %_ptr_Function__arr_int_uint_10 Function
%param = OpVariable %_ptr_Function_int Function
@ -155,61 +155,61 @@
%25 = OpLoad %int %124
%125 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%26 = OpLoad %int %125
%126 = OpAccessChain %_ptr_Function_int %ref %25
%126 = OpAccessChain %_ptr_Function_int %r %25
OpStore %126 %26
%127 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
%27 = OpLoad %int %127
%128 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%28 = OpLoad %int %128
%129 = OpAccessChain %_ptr_Function_int %ref %27
%129 = OpAccessChain %_ptr_Function_int %r %27
OpStore %129 %28
%130 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%29 = OpLoad %int %130
%131 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%30 = OpLoad %int %131
%132 = OpAccessChain %_ptr_Function_int %ref %29
%132 = OpAccessChain %_ptr_Function_int %r %29
OpStore %132 %30
%133 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%31 = OpLoad %int %133
%134 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%32 = OpLoad %int %134
%135 = OpAccessChain %_ptr_Function_int %ref %31
%135 = OpAccessChain %_ptr_Function_int %r %31
OpStore %135 %32
%136 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%33 = OpLoad %int %136
%137 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%34 = OpLoad %int %137
%138 = OpAccessChain %_ptr_Function_int %ref %33
%138 = OpAccessChain %_ptr_Function_int %r %33
OpStore %138 %34
%139 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%35 = OpLoad %int %139
%140 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
%36 = OpLoad %int %140
%141 = OpAccessChain %_ptr_Function_int %ref %35
%141 = OpAccessChain %_ptr_Function_int %r %35
OpStore %141 %36
%142 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%37 = OpLoad %int %142
%143 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_7
%38 = OpLoad %int %143
%144 = OpAccessChain %_ptr_Function_int %ref %37
%144 = OpAccessChain %_ptr_Function_int %r %37
OpStore %144 %38
%145 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
%39 = OpLoad %int %145
%146 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
%40 = OpLoad %int %146
%147 = OpAccessChain %_ptr_Function_int %ref %39
%147 = OpAccessChain %_ptr_Function_int %r %39
OpStore %147 %40
%148 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%41 = OpLoad %int %148
%149 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%42 = OpLoad %int %149
%150 = OpAccessChain %_ptr_Function_int %ref %41
%150 = OpAccessChain %_ptr_Function_int %r %41
OpStore %150 %42
%151 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
%43 = OpLoad %int %151
%152 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
%44 = OpLoad %int %152
%153 = OpAccessChain %_ptr_Function_int %ref %43
%153 = OpAccessChain %_ptr_Function_int %r %43
OpStore %153 %44
%154 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%45 = OpLoad %int %154
@ -330,7 +330,7 @@
%199 = OpAccessChain %_ptr_Function_int %a_0 %84
%85 = OpLoad %int %199
%86 = OpLoad %int %i_1
%200 = OpAccessChain %_ptr_Function_int %ref %86
%200 = OpAccessChain %_ptr_Function_int %r %86
%87 = OpLoad %int %200
%201 = OpINotEqual %bool %85 %87
OpSelectionMerge %202 None

View File

@ -41,7 +41,7 @@ fn f_i1_(a : ptr<function, i32>) -> i32 {
}
fn main_1() {
var ref : array<i32, 10u>;
var r : array<i32, 10u>;
var i_1 : i32;
var a_1 : array<i32, 10u>;
var param : i32;
@ -49,34 +49,34 @@ fn main_1() {
var i_2 : i32;
let x_25 : i32 = x_8.x_GLF_uniform_int_values[0].el;
let x_26 : i32 = x_8.x_GLF_uniform_int_values[1].el;
ref[x_25] = x_26;
r[x_25] = x_26;
let x_27 : i32 = x_8.x_GLF_uniform_int_values[11].el;
let x_28 : i32 = x_8.x_GLF_uniform_int_values[2].el;
ref[x_27] = x_28;
r[x_27] = x_28;
let x_29 : i32 = x_8.x_GLF_uniform_int_values[1].el;
let x_30 : i32 = x_8.x_GLF_uniform_int_values[3].el;
ref[x_29] = x_30;
r[x_29] = x_30;
let x_31 : i32 = x_8.x_GLF_uniform_int_values[2].el;
let x_32 : i32 = x_8.x_GLF_uniform_int_values[4].el;
ref[x_31] = x_32;
r[x_31] = x_32;
let x_33 : i32 = x_8.x_GLF_uniform_int_values[3].el;
let x_34 : i32 = x_8.x_GLF_uniform_int_values[5].el;
ref[x_33] = x_34;
r[x_33] = x_34;
let x_35 : i32 = x_8.x_GLF_uniform_int_values[4].el;
let x_36 : i32 = x_8.x_GLF_uniform_int_values[6].el;
ref[x_35] = x_36;
r[x_35] = x_36;
let x_37 : i32 = x_8.x_GLF_uniform_int_values[5].el;
let x_38 : i32 = x_8.x_GLF_uniform_int_values[7].el;
ref[x_37] = x_38;
r[x_37] = x_38;
let x_39 : i32 = x_8.x_GLF_uniform_int_values[8].el;
let x_40 : i32 = x_8.x_GLF_uniform_int_values[8].el;
ref[x_39] = x_40;
r[x_39] = x_40;
let x_41 : i32 = x_8.x_GLF_uniform_int_values[9].el;
let x_42 : i32 = x_8.x_GLF_uniform_int_values[9].el;
ref[x_41] = x_42;
r[x_41] = x_42;
let x_43 : i32 = x_8.x_GLF_uniform_int_values[10].el;
let x_44 : i32 = x_8.x_GLF_uniform_int_values[10].el;
ref[x_43] = x_44;
r[x_43] = x_44;
let x_45 : i32 = x_8.x_GLF_uniform_int_values[0].el;
i_1 = x_45;
loop {
@ -148,7 +148,7 @@ fn main_1() {
let x_84 : i32 = i_2;
let x_85 : i32 = a_1[x_84];
let x_86 : i32 = i_2;
let x_87 : i32 = ref[x_86];
let x_87 : i32 = r[x_86];
if ((x_85 != x_87)) {
let x_88 : i32 = x_8.x_GLF_uniform_int_values[0].el;
let x_205 : f32 = f32(x_88);

View File

@ -9,7 +9,7 @@
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %ref "ref"
OpName %r "r"
OpName %a "a"
OpName %i "i"
OpName %ok "ok"
@ -65,7 +65,7 @@
%main = OpFunction %void None %14
%50 = OpLabel
%A = OpVariable %_ptr_Function__arr_int_uint_17 Function
%ref = OpVariable %_ptr_Function__arr_int_uint_17 Function
%r = OpVariable %_ptr_Function__arr_int_uint_17 Function
%a = OpVariable %_ptr_Function_int Function
%i = OpVariable %_ptr_Function_int Function
%ok = OpVariable %_ptr_Function_bool Function
@ -141,7 +141,7 @@
%118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%119 = OpLoad %int %118
%120 = OpCompositeConstruct %_arr_int_uint_17 %87 %89 %91 %93 %95 %97 %99 %101 %103 %105 %107 %109 %111 %113 %115 %117 %119
OpStore %ref %120
OpStore %r %120
%121 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%122 = OpLoad %int %121
OpStore %a %122
@ -203,7 +203,7 @@
%163 = OpAccessChain %_ptr_Function_int %A %162
%164 = OpLoad %int %163
%165 = OpLoad %int %i_0
%166 = OpAccessChain %_ptr_Function_int %ref %165
%166 = OpAccessChain %_ptr_Function_int %r %165
%167 = OpLoad %int %166
%168 = OpINotEqual %bool %164 %167
OpSelectionMerge %169 None

View File

@ -15,7 +15,7 @@ var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var A : array<i32, 17u>;
var ref : array<i32, 17u>;
var r : array<i32, 17u>;
var a : i32;
var i : i32;
var ok : bool;
@ -55,7 +55,7 @@ fn main_1() {
let x_115 : i32 = x_6.x_GLF_uniform_int_values[17].el;
let x_117 : i32 = x_6.x_GLF_uniform_int_values[18].el;
let x_119 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref = array<i32, 17u>(x_87, x_89, x_91, x_93, x_95, x_97, x_99, x_101, x_103, x_105, x_107, x_109, x_111, x_113, x_115, x_117, x_119);
r = array<i32, 17u>(x_87, x_89, x_91, x_93, x_95, x_97, x_99, x_101, x_103, x_105, x_107, x_109, x_111, x_113, x_115, x_117, x_119);
let x_122 : i32 = x_6.x_GLF_uniform_int_values[2].el;
a = x_122;
let x_124 : i32 = x_6.x_GLF_uniform_int_values[2].el;
@ -96,7 +96,7 @@ fn main_1() {
let x_162 : i32 = i_1;
let x_164 : i32 = A[x_162];
let x_165 : i32 = i_1;
let x_167 : i32 = ref[x_165];
let x_167 : i32 = r[x_165];
if ((x_164 != x_167)) {
ok = false;
}

View File

@ -7,7 +7,7 @@
OpName %main "main"
OpName %a "a"
OpName %values "values"
OpName %ref "ref"
OpName %r "r"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ ""
@ -60,7 +60,7 @@
%36 = OpLabel
%a = OpVariable %_ptr_Function_uint Function
%values = OpVariable %_ptr_Function_v4float Function
%ref = OpVariable %_ptr_Function_v4float Function
%r = OpVariable %_ptr_Function_v4float Function
%37 = OpExtInst %uint %1 PackHalf2x16 %20
OpStore %a %37
%38 = OpLoad %uint %a
@ -84,14 +84,14 @@
%55 = OpLoad %float %54
%56 = OpFDiv %float %53 %55
%57 = OpCompositeConstruct %v4float %41 %46 %51 %56
OpStore %ref %57
OpStore %r %57
%58 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%59 = OpLoad %int %58
%60 = OpAccessChain %_ptr_Function_float %values %59
%61 = OpLoad %float %60
%62 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%63 = OpLoad %int %62
%64 = OpAccessChain %_ptr_Function_float %ref %63
%64 = OpAccessChain %_ptr_Function_float %r %63
%65 = OpLoad %float %64
%66 = OpFSub %float %61 %65
%67 = OpExtInst %float %1 FAbs %66
@ -107,7 +107,7 @@
%76 = OpLoad %float %75
%77 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%78 = OpLoad %int %77
%79 = OpAccessChain %_ptr_Function_float %ref %78
%79 = OpAccessChain %_ptr_Function_float %r %78
%80 = OpLoad %float %79
%81 = OpFSub %float %76 %80
%82 = OpExtInst %float %1 FAbs %81
@ -126,7 +126,7 @@
%92 = OpLoad %float %91
%93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3
%94 = OpLoad %int %93
%95 = OpAccessChain %_ptr_Function_float %ref %94
%95 = OpAccessChain %_ptr_Function_float %r %94
%96 = OpLoad %float %95
%97 = OpFSub %float %92 %96
%98 = OpExtInst %float %1 FAbs %97
@ -145,7 +145,7 @@
%108 = OpLoad %float %107
%109 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2
%110 = OpLoad %int %109
%111 = OpAccessChain %_ptr_Function_float %ref %110
%111 = OpAccessChain %_ptr_Function_float %r %110
%112 = OpLoad %float %111
%113 = OpFSub %float %108 %112
%114 = OpExtInst %float %1 FAbs %113

View File

@ -29,7 +29,7 @@ var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var a : u32;
var values : vec4<f32>;
var ref : vec4<f32>;
var r : vec4<f32>;
var x_85 : bool;
var x_101 : bool;
var x_117 : bool;
@ -46,11 +46,11 @@ fn main_1() {
let x_50 : f32 = x_8.x_GLF_uniform_float_values[0].el;
let x_53 : f32 = x_8.x_GLF_uniform_float_values[1].el;
let x_55 : f32 = x_8.x_GLF_uniform_float_values[0].el;
ref = vec4<f32>(x_41, (x_43 / x_45), (x_48 / x_50), (x_53 / x_55));
r = vec4<f32>(x_41, (x_43 / x_45), (x_48 / x_50), (x_53 / x_55));
let x_59 : i32 = x_10.x_GLF_uniform_int_values[0].el;
let x_61 : f32 = values[x_59];
let x_63 : i32 = x_10.x_GLF_uniform_int_values[0].el;
let x_65 : f32 = ref[x_63];
let x_65 : f32 = r[x_63];
let x_69 : f32 = x_8.x_GLF_uniform_float_values[2].el;
let x_70 : bool = (abs((x_61 - x_65)) < x_69);
x_86_phi = x_70;
@ -58,7 +58,7 @@ fn main_1() {
let x_74 : i32 = x_10.x_GLF_uniform_int_values[1].el;
let x_76 : f32 = values[x_74];
let x_78 : i32 = x_10.x_GLF_uniform_int_values[1].el;
let x_80 : f32 = ref[x_78];
let x_80 : f32 = r[x_78];
let x_84 : f32 = x_8.x_GLF_uniform_float_values[2].el;
x_85 = (abs((x_76 - x_80)) < x_84);
x_86_phi = x_85;
@ -69,7 +69,7 @@ fn main_1() {
let x_90 : i32 = x_10.x_GLF_uniform_int_values[3].el;
let x_92 : f32 = values[x_90];
let x_94 : i32 = x_10.x_GLF_uniform_int_values[3].el;
let x_96 : f32 = ref[x_94];
let x_96 : f32 = r[x_94];
let x_100 : f32 = x_8.x_GLF_uniform_float_values[2].el;
x_101 = (abs((x_92 - x_96)) < x_100);
x_102_phi = x_101;
@ -80,7 +80,7 @@ fn main_1() {
let x_106 : i32 = x_10.x_GLF_uniform_int_values[2].el;
let x_108 : f32 = values[x_106];
let x_110 : i32 = x_10.x_GLF_uniform_int_values[2].el;
let x_112 : f32 = ref[x_110];
let x_112 : f32 = r[x_110];
let x_116 : f32 = x_8.x_GLF_uniform_float_values[2].el;
x_117 = (abs((x_108 - x_112)) < x_116);
x_118_phi = x_117;

View File

@ -5,7 +5,7 @@
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %ref "ref"
OpName %r "r"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
@ -58,7 +58,7 @@
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%main = OpFunction %void None %14
%44 = OpLabel
%ref = OpVariable %_ptr_Function__arr_int_uint_15 Function
%r = OpVariable %_ptr_Function__arr_int_uint_15 Function
%i = OpVariable %_ptr_Function_int Function
%data = OpVariable %_ptr_Function__arr_int_uint_15 Function
%i_0 = OpVariable %_ptr_Function_int Function
@ -68,101 +68,101 @@
%46 = OpLoad %int %45
%47 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%48 = OpLoad %int %47
%49 = OpAccessChain %_ptr_Function_int %ref %46
%49 = OpAccessChain %_ptr_Function_int %r %46
OpStore %49 %48
%50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%51 = OpLoad %int %50
%52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%53 = OpLoad %int %52
%54 = OpAccessChain %_ptr_Function_int %ref %51
%54 = OpAccessChain %_ptr_Function_int %r %51
OpStore %54 %53
%55 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%56 = OpLoad %int %55
%57 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%58 = OpLoad %int %57
%59 = OpAccessChain %_ptr_Function_int %ref %56
%59 = OpAccessChain %_ptr_Function_int %r %56
OpStore %59 %58
%60 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%61 = OpLoad %int %60
%62 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%63 = OpLoad %int %62
%64 = OpAccessChain %_ptr_Function_int %ref %61
%64 = OpAccessChain %_ptr_Function_int %r %61
OpStore %64 %63
%65 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%66 = OpLoad %int %65
%67 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%68 = OpLoad %int %67
%69 = OpAccessChain %_ptr_Function_int %ref %66
%69 = OpAccessChain %_ptr_Function_int %r %66
OpStore %69 %68
%70 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%71 = OpLoad %int %70
%72 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%73 = OpLoad %int %72
%74 = OpSNegate %int %73
%75 = OpAccessChain %_ptr_Function_int %ref %71
%75 = OpAccessChain %_ptr_Function_int %r %71
OpStore %75 %74
%76 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
%77 = OpLoad %int %76
%78 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%79 = OpLoad %int %78
%80 = OpSNegate %int %79
%81 = OpAccessChain %_ptr_Function_int %ref %77
%81 = OpAccessChain %_ptr_Function_int %r %77
OpStore %81 %80
%82 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%83 = OpLoad %int %82
%84 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%85 = OpLoad %int %84
%86 = OpSNegate %int %85
%87 = OpAccessChain %_ptr_Function_int %ref %83
%87 = OpAccessChain %_ptr_Function_int %r %83
OpStore %87 %86
%88 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
%89 = OpLoad %int %88
%90 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%91 = OpLoad %int %90
%92 = OpSNegate %int %91
%93 = OpAccessChain %_ptr_Function_int %ref %89
%93 = OpAccessChain %_ptr_Function_int %r %89
OpStore %93 %92
%94 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
%95 = OpLoad %int %94
%96 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%97 = OpLoad %int %96
%98 = OpSNegate %int %97
%99 = OpAccessChain %_ptr_Function_int %ref %95
%99 = OpAccessChain %_ptr_Function_int %r %95
OpStore %99 %98
%100 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
%101 = OpLoad %int %100
%102 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%103 = OpLoad %int %102
%104 = OpSNegate %int %103
%105 = OpAccessChain %_ptr_Function_int %ref %101
%105 = OpAccessChain %_ptr_Function_int %r %101
OpStore %105 %104
%106 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_12
%107 = OpLoad %int %106
%108 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%109 = OpLoad %int %108
%110 = OpSNegate %int %109
%111 = OpAccessChain %_ptr_Function_int %ref %107
%111 = OpAccessChain %_ptr_Function_int %r %107
OpStore %111 %110
%112 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_13
%113 = OpLoad %int %112
%114 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%115 = OpLoad %int %114
%116 = OpSNegate %int %115
%117 = OpAccessChain %_ptr_Function_int %ref %113
%117 = OpAccessChain %_ptr_Function_int %r %113
OpStore %117 %116
%118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_14
%119 = OpLoad %int %118
%120 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%121 = OpLoad %int %120
%122 = OpSNegate %int %121
%123 = OpAccessChain %_ptr_Function_int %ref %119
%123 = OpAccessChain %_ptr_Function_int %r %119
OpStore %123 %122
%124 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_15
%125 = OpLoad %int %124
%126 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%127 = OpLoad %int %126
%128 = OpSNegate %int %127
%129 = OpAccessChain %_ptr_Function_int %ref %125
%129 = OpAccessChain %_ptr_Function_int %r %125
OpStore %129 %128
OpStore %i %int_0
OpBranch %130
@ -267,7 +267,7 @@
%200 = OpAccessChain %_ptr_Function_int %data %199
%201 = OpLoad %int %200
%202 = OpLoad %int %i_2
%203 = OpAccessChain %_ptr_Function_int %ref %202
%203 = OpAccessChain %_ptr_Function_int %r %202
%204 = OpLoad %int %203
%205 = OpINotEqual %bool %201 %204
OpSelectionMerge %206 None

View File

@ -14,7 +14,7 @@ struct buf0 {
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var ref : array<i32, 15u>;
var r : array<i32, 15u>;
var i : i32;
var data : array<i32, 15u>;
var i_1 : i32;
@ -22,49 +22,49 @@ fn main_1() {
var i_3 : i32;
let x_46 : i32 = x_6.x_GLF_uniform_int_values[0].el;
let x_48 : i32 = x_6.x_GLF_uniform_int_values[0].el;
ref[x_46] = x_48;
r[x_46] = x_48;
let x_51 : i32 = x_6.x_GLF_uniform_int_values[1].el;
let x_53 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_51] = x_53;
r[x_51] = x_53;
let x_56 : i32 = x_6.x_GLF_uniform_int_values[2].el;
let x_58 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_56] = x_58;
r[x_56] = x_58;
let x_61 : i32 = x_6.x_GLF_uniform_int_values[3].el;
let x_63 : i32 = x_6.x_GLF_uniform_int_values[3].el;
ref[x_61] = x_63;
r[x_61] = x_63;
let x_66 : i32 = x_6.x_GLF_uniform_int_values[4].el;
let x_68 : i32 = x_6.x_GLF_uniform_int_values[4].el;
ref[x_66] = x_68;
r[x_66] = x_68;
let x_71 : i32 = x_6.x_GLF_uniform_int_values[5].el;
let x_73 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_71] = -(x_73);
r[x_71] = -(x_73);
let x_77 : i32 = x_6.x_GLF_uniform_int_values[8].el;
let x_79 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_77] = -(x_79);
r[x_77] = -(x_79);
let x_83 : i32 = x_6.x_GLF_uniform_int_values[9].el;
let x_85 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_83] = -(x_85);
r[x_83] = -(x_85);
let x_89 : i32 = x_6.x_GLF_uniform_int_values[10].el;
let x_91 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_89] = -(x_91);
r[x_89] = -(x_91);
let x_95 : i32 = x_6.x_GLF_uniform_int_values[11].el;
let x_97 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_95] = -(x_97);
r[x_95] = -(x_97);
let x_101 : i32 = x_6.x_GLF_uniform_int_values[6].el;
let x_103 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_101] = -(x_103);
r[x_101] = -(x_103);
let x_107 : i32 = x_6.x_GLF_uniform_int_values[12].el;
let x_109 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_107] = -(x_109);
r[x_107] = -(x_109);
let x_113 : i32 = x_6.x_GLF_uniform_int_values[13].el;
let x_115 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_113] = -(x_115);
r[x_113] = -(x_115);
let x_119 : i32 = x_6.x_GLF_uniform_int_values[14].el;
let x_121 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_119] = -(x_121);
r[x_119] = -(x_121);
let x_125 : i32 = x_6.x_GLF_uniform_int_values[15].el;
let x_127 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_125] = -(x_127);
r[x_125] = -(x_127);
i = 0;
loop {
let x_134 : i32 = i;
@ -132,7 +132,7 @@ fn main_1() {
let x_199 : i32 = i_3;
let x_201 : i32 = data[x_199];
let x_202 : i32 = i_3;
let x_204 : i32 = ref[x_202];
let x_204 : i32 = r[x_202];
if ((x_201 != x_204)) {
let x_209 : i32 = x_6.x_GLF_uniform_int_values[0].el;
let x_210 : f32 = f32(x_209);

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -365,7 +365,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %37
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%253 = OpLabel
@ -373,9 +373,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%254 = OpLoad %int %from
%254 = OpLoad %int %f
OpStore %k %254
%255 = OpLoad %int %from
%255 = OpLoad %int %f
OpStore %i %255
%256 = OpLoad %int %mid
%257 = OpIAdd %int %256 %int_1
@ -459,7 +459,7 @@
%296 = OpLabel
OpBranch %294
%295 = OpLabel
%312 = OpLoad %int %from
%312 = OpLoad %int %f
OpStore %i_0 %312
OpBranch %313
%313 = OpLabel
@ -492,7 +492,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -524,7 +524,7 @@
OpBranchConditional %344 %345 %339
%345 = OpLabel
%346 = OpLoad %int %i_1
OpStore %from_0 %346
OpStore %f_0 %346
%347 = OpLoad %int %i_1
%348 = OpLoad %int %m
%349 = OpIAdd %int %347 %348
@ -538,7 +538,7 @@
%356 = OpLoad %int %high
%357 = OpExtInst %int %1 SMin %355 %356
OpStore %to_0 %357
%358 = OpLoad %int %from_0
%358 = OpLoad %int %f_0
OpStore %param %358
%359 = OpLoad %int %mid_0
OpStore %param_0 %359

View File

@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
@group(0) @binding(1) var<uniform> x_32 : buf1;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_254 : i32 = *(from);
let x_254 : i32 = *(f);
k = x_254;
let x_255 : i32 = *(from);
let x_255 : i32 = *(f);
i = x_255;
let x_256 : i32 = *(mid);
j = (x_256 + 1);
@ -73,7 +73,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_310 : i32 = data[x_307];
temp[x_305] = x_310;
}
let x_312 : i32 = *(from);
let x_312 : i32 = *(f);
i_1 = x_312;
loop {
let x_317 : i32 = i_1;
@ -100,7 +100,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -126,7 +126,7 @@ fn mergeSort_() {
break;
}
let x_346 : i32 = i_2;
from_1 = x_346;
f_1 = x_346;
let x_347 : i32 = i_2;
let x_348 : i32 = m;
mid_1 = ((x_347 + x_348) - 1);
@ -134,7 +134,7 @@ fn mergeSort_() {
let x_352 : i32 = m;
let x_356 : i32 = high;
to_1 = min(((x_351 + (2 * x_352)) - 1), x_356);
let x_358 : i32 = from_1;
let x_358 : i32 = f_1;
param = x_358;
let x_359 : i32 = mid_1;
param_1 = x_359;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -366,7 +366,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %37
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%254 = OpLabel
@ -374,9 +374,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%255 = OpLoad %int %from
%255 = OpLoad %int %f
OpStore %k %255
%256 = OpLoad %int %from
%256 = OpLoad %int %f
OpStore %i %256
%257 = OpLoad %int %mid
%258 = OpIAdd %int %257 %int_1
@ -460,7 +460,7 @@
%297 = OpLabel
OpBranch %295
%296 = OpLabel
%313 = OpLoad %int %from
%313 = OpLoad %int %f
OpStore %i_0 %313
OpBranch %314
%314 = OpLabel
@ -493,7 +493,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -525,7 +525,7 @@
OpBranchConditional %345 %346 %340
%346 = OpLabel
%347 = OpLoad %int %i_1
OpStore %from_0 %347
OpStore %f_0 %347
%348 = OpLoad %int %i_1
%349 = OpLoad %int %m
%350 = OpIAdd %int %348 %349
@ -539,7 +539,7 @@
%357 = OpLoad %int %high
%358 = OpExtInst %int %1 SMin %356 %357
OpStore %to_0 %358
%359 = OpLoad %int %from_0
%359 = OpLoad %int %f_0
OpStore %param %359
%360 = OpLoad %int %mid_0
OpStore %param_0 %360

View File

@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
@group(0) @binding(1) var<uniform> x_32 : buf1;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_255 : i32 = *(from);
let x_255 : i32 = *(f);
k = x_255;
let x_256 : i32 = *(from);
let x_256 : i32 = *(f);
i = x_256;
let x_257 : i32 = *(mid);
j = (x_257 + 1);
@ -73,7 +73,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_311 : i32 = data[x_308];
temp[x_306] = x_311;
}
let x_313 : i32 = *(from);
let x_313 : i32 = *(f);
i_1 = x_313;
loop {
let x_318 : i32 = i_1;
@ -100,7 +100,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -126,7 +126,7 @@ fn mergeSort_() {
break;
}
let x_347 : i32 = i_2;
from_1 = x_347;
f_1 = x_347;
let x_348 : i32 = i_2;
let x_349 : i32 = m;
mid_1 = ((x_348 + x_349) - 1);
@ -134,7 +134,7 @@ fn mergeSort_() {
let x_353 : i32 = m;
let x_357 : i32 = high;
to_1 = min(((x_352 + (2 * x_353)) - 1), x_357);
let x_359 : i32 = from_1;
let x_359 : i32 = f_1;
param = x_359;
let x_360 : i32 = mid_1;
param_1 = x_360;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -367,7 +367,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %37
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%255 = OpLabel
@ -375,9 +375,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%256 = OpLoad %int %from
%256 = OpLoad %int %f
OpStore %k %256
%257 = OpLoad %int %from
%257 = OpLoad %int %f
OpStore %i %257
%258 = OpLoad %int %mid
%259 = OpIAdd %int %258 %int_1
@ -464,7 +464,7 @@
%299 = OpLabel
OpBranch %296
%298 = OpLabel
%316 = OpLoad %int %from
%316 = OpLoad %int %f
OpStore %i_0 %316
OpBranch %317
%317 = OpLabel
@ -497,7 +497,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -529,7 +529,7 @@
OpBranchConditional %348 %349 %343
%349 = OpLabel
%350 = OpLoad %int %i_1
OpStore %from_0 %350
OpStore %f_0 %350
%351 = OpLoad %int %i_1
%352 = OpLoad %int %m
%353 = OpIAdd %int %351 %352
@ -543,7 +543,7 @@
%360 = OpLoad %int %high
%361 = OpExtInst %int %1 SMin %359 %360
OpStore %to_0 %361
%362 = OpLoad %int %from_0
%362 = OpLoad %int %f_0
OpStore %param %362
%363 = OpLoad %int %mid_0
OpStore %param_0 %363

View File

@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
@group(0) @binding(1) var<uniform> x_32 : buf1;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_256 : i32 = *(from);
let x_256 : i32 = *(f);
k = x_256;
let x_257 : i32 = *(from);
let x_257 : i32 = *(f);
i = x_257;
let x_258 : i32 = *(mid);
j = (x_258 + 1);
@ -77,7 +77,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_314 : i32 = data[x_311];
temp[x_309] = x_314;
}
let x_316 : i32 = *(from);
let x_316 : i32 = *(f);
i_1 = x_316;
loop {
let x_321 : i32 = i_1;
@ -104,7 +104,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -130,7 +130,7 @@ fn mergeSort_() {
break;
}
let x_350 : i32 = i_2;
from_1 = x_350;
f_1 = x_350;
let x_351 : i32 = i_2;
let x_352 : i32 = m;
mid_1 = ((x_351 + x_352) - 1);
@ -138,7 +138,7 @@ fn mergeSort_() {
let x_356 : i32 = m;
let x_360 : i32 = high;
to_1 = min(((x_355 + (2 * x_356)) - 1), x_360);
let x_362 : i32 = from_1;
let x_362 : i32 = f_1;
param = x_362;
let x_363 : i32 = mid_1;
param_1 = x_363;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -355,7 +355,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%250 = OpLabel
@ -363,9 +363,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%251 = OpLoad %int %from
%251 = OpLoad %int %f
OpStore %k %251
%252 = OpLoad %int %from
%252 = OpLoad %int %f
OpStore %i %252
%253 = OpLoad %int %mid
%254 = OpIAdd %int %253 %int_1
@ -449,7 +449,7 @@
%293 = OpLabel
OpBranch %291
%292 = OpLabel
%309 = OpLoad %int %from
%309 = OpLoad %int %f
OpStore %i_0 %309
OpBranch %310
%310 = OpLabel
@ -482,7 +482,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -514,7 +514,7 @@
OpBranchConditional %341 %342 %336
%342 = OpLabel
%343 = OpLoad %int %i_1
OpStore %from_0 %343
OpStore %f_0 %343
%344 = OpLoad %int %i_1
%345 = OpLoad %int %m
%346 = OpIAdd %int %344 %345
@ -528,7 +528,7 @@
%353 = OpLoad %int %high
%354 = OpExtInst %int %1 SMin %352 %353
OpStore %to_0 %354
%355 = OpLoad %int %from_0
%355 = OpLoad %int %f_0
OpStore %param %355
%356 = OpLoad %int %mid_0
OpStore %param_0 %356

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_251 : i32 = *(from);
let x_251 : i32 = *(f);
k = x_251;
let x_252 : i32 = *(from);
let x_252 : i32 = *(f);
i = x_252;
let x_253 : i32 = *(mid);
j = (x_253 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_307 : i32 = data[x_304];
temp[x_302] = x_307;
}
let x_309 : i32 = *(from);
let x_309 : i32 = *(f);
i_1 = x_309;
loop {
let x_314 : i32 = i_1;
@ -94,7 +94,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -120,7 +120,7 @@ fn mergeSort_() {
break;
}
let x_343 : i32 = i_2;
from_1 = x_343;
f_1 = x_343;
let x_344 : i32 = i_2;
let x_345 : i32 = m;
mid_1 = ((x_344 + x_345) - 1);
@ -128,7 +128,7 @@ fn mergeSort_() {
let x_349 : i32 = m;
let x_353 : i32 = high;
to_1 = min(((x_348 + (2 * x_349)) - 1), x_353);
let x_355 : i32 = from_1;
let x_355 : i32 = f_1;
param = x_355;
let x_356 : i32 = mid_1;
param_1 = x_356;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -371,7 +371,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%261 = OpLabel
@ -379,9 +379,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%262 = OpLoad %int %from
%262 = OpLoad %int %f
OpStore %k %262
%263 = OpLoad %int %from
%263 = OpLoad %int %f
OpStore %i %263
%264 = OpLoad %int %mid
%265 = OpIAdd %int %264 %int_1
@ -465,7 +465,7 @@
%304 = OpLabel
OpBranch %302
%303 = OpLabel
%320 = OpLoad %int %from
%320 = OpLoad %int %f
OpStore %i_0 %320
OpBranch %321
%321 = OpLabel
@ -498,7 +498,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -530,7 +530,7 @@
OpBranchConditional %352 %353 %347
%353 = OpLabel
%354 = OpLoad %int %i_1
OpStore %from_0 %354
OpStore %f_0 %354
%355 = OpLoad %int %i_1
%356 = OpLoad %int %m
%357 = OpIAdd %int %355 %356
@ -544,7 +544,7 @@
%364 = OpLoad %int %high
%365 = OpExtInst %int %1 SMin %363 %364
OpStore %to_0 %365
%366 = OpLoad %int %from_0
%366 = OpLoad %int %f_0
OpStore %param %366
%367 = OpLoad %int %mid_0
OpStore %param_0 %367

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_262 : i32 = *(from);
let x_262 : i32 = *(f);
k = x_262;
let x_263 : i32 = *(from);
let x_263 : i32 = *(f);
i = x_263;
let x_264 : i32 = *(mid);
j = (x_264 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_318 : i32 = data[x_315];
temp[x_313] = x_318;
}
let x_320 : i32 = *(from);
let x_320 : i32 = *(f);
i_1 = x_320;
loop {
let x_325 : i32 = i_1;
@ -94,7 +94,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -120,7 +120,7 @@ fn mergeSort_() {
break;
}
let x_354 : i32 = i_2;
from_1 = x_354;
f_1 = x_354;
let x_355 : i32 = i_2;
let x_356 : i32 = m;
mid_1 = ((x_355 + x_356) - 1);
@ -128,7 +128,7 @@ fn mergeSort_() {
let x_360 : i32 = m;
let x_364 : i32 = high;
to_1 = min(((x_359 + (2 * x_360)) - 1), x_364);
let x_366 : i32 = from_1;
let x_366 : i32 = f_1;
param = x_366;
let x_367 : i32 = mid_1;
param_1 = x_367;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -359,7 +359,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%254 = OpLabel
@ -367,9 +367,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%255 = OpLoad %int %from
%255 = OpLoad %int %f
OpStore %k %255
%256 = OpLoad %int %from
%256 = OpLoad %int %f
OpStore %i %256
%257 = OpLoad %int %mid
%258 = OpIAdd %int %257 %int_1
@ -582,7 +582,7 @@
%374 = OpLabel
OpBranch %372
%373 = OpLabel
%390 = OpLoad %int %from
%390 = OpLoad %int %f
OpStore %i_0 %390
OpBranch %391
%391 = OpLabel
@ -615,7 +615,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -647,7 +647,7 @@
OpBranchConditional %422 %423 %417
%423 = OpLabel
%424 = OpLoad %int %i_1
OpStore %from_0 %424
OpStore %f_0 %424
%425 = OpLoad %int %i_1
%426 = OpLoad %int %m
%427 = OpIAdd %int %425 %426
@ -661,7 +661,7 @@
%434 = OpLoad %int %high
%435 = OpExtInst %int %1 SMin %433 %434
OpStore %to_0 %435
%436 = OpLoad %int %from_0
%436 = OpLoad %int %f_0
OpStore %param %436
%437 = OpLoad %int %mid_0
OpStore %param_0 %437

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_255 : i32 = *(from);
let x_255 : i32 = *(f);
k = x_255;
let x_256 : i32 = *(from);
let x_256 : i32 = *(f);
i = x_256;
let x_257 : i32 = *(mid);
j = (x_257 + 1);
@ -175,7 +175,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_388 : i32 = data[x_385];
temp[x_383] = x_388;
}
let x_390 : i32 = *(from);
let x_390 : i32 = *(f);
i_1 = x_390;
loop {
let x_395 : i32 = i_1;
@ -202,7 +202,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -228,7 +228,7 @@ fn mergeSort_() {
break;
}
let x_424 : i32 = i_2;
from_1 = x_424;
f_1 = x_424;
let x_425 : i32 = i_2;
let x_426 : i32 = m;
mid_1 = ((x_425 + x_426) - 1);
@ -236,7 +236,7 @@ fn mergeSort_() {
let x_430 : i32 = m;
let x_434 : i32 = high;
to_1 = min(((x_429 + (2 * x_430)) - 1), x_434);
let x_436 : i32 = from_1;
let x_436 : i32 = f_1;
param = x_436;
let x_437 : i32 = mid_1;
param_1 = x_437;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -359,7 +359,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%254 = OpLabel
@ -367,9 +367,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%255 = OpLoad %int %from
%255 = OpLoad %int %f
OpStore %k %255
%256 = OpLoad %int %from
%256 = OpLoad %int %f
OpStore %i %256
%257 = OpLoad %int %mid
%258 = OpIAdd %int %257 %int_1
@ -580,7 +580,7 @@
%372 = OpLabel
OpBranch %370
%371 = OpLabel
%388 = OpLoad %int %from
%388 = OpLoad %int %f
OpStore %i_0 %388
OpBranch %389
%389 = OpLabel
@ -613,7 +613,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -645,7 +645,7 @@
OpBranchConditional %420 %421 %415
%421 = OpLabel
%422 = OpLoad %int %i_1
OpStore %from_0 %422
OpStore %f_0 %422
%423 = OpLoad %int %i_1
%424 = OpLoad %int %m
%425 = OpIAdd %int %423 %424
@ -659,7 +659,7 @@
%432 = OpLoad %int %high
%433 = OpExtInst %int %1 SMin %431 %432
OpStore %to_0 %433
%434 = OpLoad %int %from_0
%434 = OpLoad %int %f_0
OpStore %param %434
%435 = OpLoad %int %mid_0
OpStore %param_0 %435

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_255 : i32 = *(from);
let x_255 : i32 = *(f);
k = x_255;
let x_256 : i32 = *(from);
let x_256 : i32 = *(f);
i = x_256;
let x_257 : i32 = *(mid);
j = (x_257 + 1);
@ -174,7 +174,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_386 : i32 = data[x_383];
temp[x_381] = x_386;
}
let x_388 : i32 = *(from);
let x_388 : i32 = *(f);
i_1 = x_388;
loop {
let x_393 : i32 = i_1;
@ -201,7 +201,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -227,7 +227,7 @@ fn mergeSort_() {
break;
}
let x_422 : i32 = i_2;
from_1 = x_422;
f_1 = x_422;
let x_423 : i32 = i_2;
let x_424 : i32 = m;
mid_1 = ((x_423 + x_424) - 1);
@ -235,7 +235,7 @@ fn mergeSort_() {
let x_428 : i32 = m;
let x_432 : i32 = high;
to_1 = min(((x_427 + (2 * x_428)) - 1), x_432);
let x_434 : i32 = from_1;
let x_434 : i32 = f_1;
param = x_434;
let x_435 : i32 = mid_1;
param_1 = x_435;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -434,7 +434,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%302 = OpLabel
@ -442,9 +442,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%303 = OpLoad %int %from
%303 = OpLoad %int %f
OpStore %k %303
%304 = OpLoad %int %from
%304 = OpLoad %int %f
OpStore %i %304
%305 = OpLoad %int %mid
%306 = OpIAdd %int %305 %int_1
@ -528,7 +528,7 @@
%345 = OpLabel
OpBranch %343
%344 = OpLabel
%361 = OpLoad %int %from
%361 = OpLoad %int %f
OpStore %i_0 %361
OpBranch %362
%362 = OpLabel
@ -561,7 +561,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -593,7 +593,7 @@
OpBranchConditional %393 %394 %388
%394 = OpLabel
%395 = OpLoad %int %i_1
OpStore %from_0 %395
OpStore %f_0 %395
%396 = OpLoad %int %i_1
%397 = OpLoad %int %m
%398 = OpIAdd %int %396 %397
@ -607,7 +607,7 @@
%405 = OpLoad %int %high
%406 = OpExtInst %int %1 SMin %404 %405
OpStore %to_0 %406
%407 = OpLoad %int %from_0
%407 = OpLoad %int %f_0
OpStore %param %407
%408 = OpLoad %int %mid_0
OpStore %param_0 %408

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_303 : i32 = *(from);
let x_303 : i32 = *(f);
k = x_303;
let x_304 : i32 = *(from);
let x_304 : i32 = *(f);
i = x_304;
let x_305 : i32 = *(mid);
j = (x_305 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_359 : i32 = data[x_356];
temp[x_354] = x_359;
}
let x_361 : i32 = *(from);
let x_361 : i32 = *(f);
i_1 = x_361;
loop {
let x_366 : i32 = i_1;
@ -307,7 +307,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -333,7 +333,7 @@ fn mergeSort_() {
break;
}
let x_395 : i32 = i_2;
from_1 = x_395;
f_1 = x_395;
let x_396 : i32 = i_2;
let x_397 : i32 = m;
mid_1 = ((x_396 + x_397) - 1);
@ -341,7 +341,7 @@ fn mergeSort_() {
let x_401 : i32 = m;
let x_405 : i32 = high;
to_1 = min(((x_400 + (2 * x_401)) - 1), x_405);
let x_407 : i32 = from_1;
let x_407 : i32 = f_1;
param = x_407;
let x_408 : i32 = mid_1;
param_1 = x_408;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -431,7 +431,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%301 = OpLabel
@ -439,9 +439,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%302 = OpLoad %int %from
%302 = OpLoad %int %f
OpStore %k %302
%303 = OpLoad %int %from
%303 = OpLoad %int %f
OpStore %i %303
%304 = OpLoad %int %mid
%305 = OpIAdd %int %304 %int_1
@ -525,7 +525,7 @@
%344 = OpLabel
OpBranch %342
%343 = OpLabel
%360 = OpLoad %int %from
%360 = OpLoad %int %f
OpStore %i_0 %360
OpBranch %361
%361 = OpLabel
@ -558,7 +558,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -590,7 +590,7 @@
OpBranchConditional %392 %393 %387
%393 = OpLabel
%394 = OpLoad %int %i_1
OpStore %from_0 %394
OpStore %f_0 %394
%395 = OpLoad %int %i_1
%396 = OpLoad %int %m
%397 = OpIAdd %int %395 %396
@ -604,7 +604,7 @@
%404 = OpLoad %int %high
%405 = OpExtInst %int %1 SMin %403 %404
OpStore %to_0 %405
%406 = OpLoad %int %from_0
%406 = OpLoad %int %f_0
OpStore %param %406
%407 = OpLoad %int %mid_0
OpStore %param_0 %407

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_302 : i32 = *(from);
let x_302 : i32 = *(f);
k = x_302;
let x_303 : i32 = *(from);
let x_303 : i32 = *(f);
i = x_303;
let x_304 : i32 = *(mid);
j = (x_304 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_358 : i32 = data[x_355];
temp[x_353] = x_358;
}
let x_360 : i32 = *(from);
let x_360 : i32 = *(f);
i_1 = x_360;
loop {
let x_365 : i32 = i_1;
@ -304,7 +304,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -330,7 +330,7 @@ fn mergeSort_() {
break;
}
let x_394 : i32 = i_2;
from_1 = x_394;
f_1 = x_394;
let x_395 : i32 = i_2;
let x_396 : i32 = m;
mid_1 = ((x_395 + x_396) - 1);
@ -338,7 +338,7 @@ fn mergeSort_() {
let x_400 : i32 = m;
let x_404 : i32 = high;
to_1 = min(((x_399 + (2 * x_400)) - 1), x_404);
let x_406 : i32 = from_1;
let x_406 : i32 = f_1;
param = x_406;
let x_407 : i32 = mid_1;
param_1 = x_407;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex"
OpName %data_0 "data"
OpName %search_i1_ "search(i1;"
OpName %target "target"
OpName %t "t"
OpName %baseIndex "baseIndex"
OpName %tree_0 "tree"
OpName %param "param"
@ -364,7 +364,7 @@
OpReturn
OpFunctionEnd
%search_i1_ = OpFunction %int None %53
%target = OpFunctionParameter %_ptr_Function_int
%t = OpFunctionParameter %_ptr_Function_int
%219 = OpLabel
%index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function
@ -385,15 +385,15 @@
OpStore %currentNode %230
%231 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%232 = OpLoad %int %231
%233 = OpLoad %int %target
%233 = OpLoad %int %t
%234 = OpIEqual %bool %232 %233
OpSelectionMerge %235 None
OpBranchConditional %234 %236 %235
%236 = OpLabel
%237 = OpLoad %int %target
%237 = OpLoad %int %t
OpReturnValue %237
%235 = OpLabel
%238 = OpLoad %int %target
%238 = OpLoad %int %t
%239 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%240 = OpLoad %int %239
%241 = OpSGreaterThan %bool %238 %240

View File

@ -82,7 +82,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return;
}
fn search_i1_(target : ptr<function, i32>) -> i32 {
fn search_i1_(t: ptr<function, i32>) -> i32 {
var index : i32;
var currentNode : BST;
var x_220 : i32;
@ -97,12 +97,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_230 : BST = tree_1[x_228];
currentNode = x_230;
let x_232 : i32 = currentNode.data;
let x_233 : i32 = *(target);
let x_233 : i32 = *(t);
if ((x_232 == x_233)) {
let x_237 : i32 = *(target);
let x_237 : i32 = *(t);
return x_237;
}
let x_238 : i32 = *(target);
let x_238 : i32 = *(t);
let x_240 : i32 = currentNode.data;
if ((x_238 > x_240)) {
let x_246 : i32 = currentNode.rightIndex;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex"
OpName %data_0 "data"
OpName %search_i1_ "search(i1;"
OpName %target "target"
OpName %t "t"
OpName %baseIndex "baseIndex"
OpName %tree_0 "tree"
OpName %param "param"
@ -380,7 +380,7 @@
OpReturn
OpFunctionEnd
%search_i1_ = OpFunction %int None %54
%target = OpFunctionParameter %_ptr_Function_int
%t = OpFunctionParameter %_ptr_Function_int
%230 = OpLabel
%index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function
@ -401,15 +401,15 @@
OpStore %currentNode %241
%242 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%243 = OpLoad %int %242
%244 = OpLoad %int %target
%244 = OpLoad %int %t
%245 = OpIEqual %bool %243 %244
OpSelectionMerge %246 None
OpBranchConditional %245 %247 %246
%247 = OpLabel
%248 = OpLoad %int %target
%248 = OpLoad %int %t
OpReturnValue %248
%246 = OpLabel
%249 = OpLoad %int %target
%249 = OpLoad %int %t
%250 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%251 = OpLoad %int %250
%252 = OpSGreaterThan %bool %249 %251

View File

@ -84,7 +84,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return;
}
fn search_i1_(target : ptr<function, i32>) -> i32 {
fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32;
var currentNode : BST;
var x_231 : i32;
@ -99,12 +99,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_241 : BST = tree_1[x_239];
currentNode = x_241;
let x_243 : i32 = currentNode.data;
let x_244 : i32 = *(target);
let x_244 : i32 = *(t);
if ((x_243 == x_244)) {
let x_248 : i32 = *(target);
let x_248 : i32 = *(t);
return x_248;
}
let x_249 : i32 = *(target);
let x_249 : i32 = *(t);
let x_251 : i32 = currentNode.data;
if ((x_249 > x_251)) {
let x_257 : i32 = currentNode.rightIndex;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex"
OpName %data_0 "data"
OpName %search_i1_ "search(i1;"
OpName %target "target"
OpName %t "t"
OpName %baseIndex "baseIndex"
OpName %tree_0 "tree"
OpName %buf0 "buf0"
@ -427,7 +427,7 @@
OpReturn
OpFunctionEnd
%search_i1_ = OpFunction %int None %55
%target = OpFunctionParameter %_ptr_Function_int
%t = OpFunctionParameter %_ptr_Function_int
%260 = OpLabel
%index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function
@ -448,15 +448,15 @@
OpStore %currentNode %271
%272 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%273 = OpLoad %int %272
%274 = OpLoad %int %target
%274 = OpLoad %int %t
%275 = OpIEqual %bool %273 %274
OpSelectionMerge %276 None
OpBranchConditional %275 %277 %276
%277 = OpLabel
%278 = OpLoad %int %target
%278 = OpLoad %int %t
OpReturnValue %278
%276 = OpLabel
%279 = OpLoad %int %target
%279 = OpLoad %int %t
%280 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%281 = OpLoad %int %280
%282 = OpSGreaterThan %bool %279 %281

View File

@ -112,7 +112,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return;
}
fn search_i1_(target : ptr<function, i32>) -> i32 {
fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32;
var currentNode : BST;
var x_261 : i32;
@ -127,12 +127,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_271 : BST = tree_1[x_269];
currentNode = x_271;
let x_273 : i32 = currentNode.data;
let x_274 : i32 = *(target);
let x_274 : i32 = *(t);
if ((x_273 == x_274)) {
let x_278 : i32 = *(target);
let x_278 : i32 = *(t);
return x_278;
}
let x_279 : i32 = *(target);
let x_279 : i32 = *(t);
let x_281 : i32 = currentNode.data;
if ((x_279 > x_281)) {
let x_287 : i32 = currentNode.rightIndex;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex"
OpName %data_0 "data"
OpName %search_i1_ "search(i1;"
OpName %target "target"
OpName %t "t"
OpName %baseIndex "baseIndex"
OpName %tree "tree"
OpName %param "param"
@ -364,7 +364,7 @@
OpReturn
OpFunctionEnd
%search_i1_ = OpFunction %int None %53
%target = OpFunctionParameter %_ptr_Function_int
%t = OpFunctionParameter %_ptr_Function_int
%219 = OpLabel
%index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function
@ -385,15 +385,15 @@
OpStore %currentNode %230
%231 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%232 = OpLoad %int %231
%233 = OpLoad %int %target
%233 = OpLoad %int %t
%234 = OpIEqual %bool %232 %233
OpSelectionMerge %235 None
OpBranchConditional %234 %236 %235
%236 = OpLabel
%237 = OpLoad %int %target
%237 = OpLoad %int %t
OpReturnValue %237
%235 = OpLabel
%238 = OpLoad %int %target
%238 = OpLoad %int %t
%239 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%240 = OpLoad %int %239
%241 = OpSGreaterThan %bool %238 %240

View File

@ -82,7 +82,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return;
}
fn search_i1_(target : ptr<function, i32>) -> i32 {
fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32;
var currentNode : BST;
var x_220 : i32;
@ -97,12 +97,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_230 : BST = tree[x_228];
currentNode = x_230;
let x_232 : i32 = currentNode.data;
let x_233 : i32 = *(target);
let x_233 : i32 = *(t);
if ((x_232 == x_233)) {
let x_237 : i32 = *(target);
let x_237 : i32 = *(t);
return x_237;
}
let x_238 : i32 = *(target);
let x_238 : i32 = *(t);
let x_240 : i32 = currentNode.data;
if ((x_238 > x_240)) {
let x_246 : i32 = currentNode.rightIndex;

View File

@ -18,7 +18,7 @@
OpName %treeIndex "treeIndex"
OpName %data_0 "data"
OpName %search_i1_ "search(i1;"
OpName %target "target"
OpName %t "t"
OpName %QuicksortObject "QuicksortObject"
OpMemberName %QuicksortObject 0 "numbers"
OpName %obj "obj"
@ -452,7 +452,7 @@
OpReturn
OpFunctionEnd
%search_i1_ = OpFunction %int None %60
%target = OpFunctionParameter %_ptr_Function_int
%t = OpFunctionParameter %_ptr_Function_int
%269 = OpLabel
%index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function
@ -473,15 +473,15 @@
OpStore %currentNode %280
%281 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%282 = OpLoad %int %281
%283 = OpLoad %int %target
%283 = OpLoad %int %t
%284 = OpIEqual %bool %282 %283
OpSelectionMerge %285 None
OpBranchConditional %284 %286 %285
%286 = OpLabel
%287 = OpLoad %int %target
%287 = OpLoad %int %t
OpReturnValue %287
%285 = OpLabel
%288 = OpLoad %int %target
%288 = OpLoad %int %t
%289 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%290 = OpLoad %int %289
%291 = OpSGreaterThan %bool %288 %290

View File

@ -102,7 +102,7 @@ fn identity_i1_(a : ptr<function, i32>) -> i32 {
return x_206;
}
fn search_i1_(target : ptr<function, i32>) -> i32 {
fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32;
var currentNode : BST;
var x_270 : i32;
@ -117,12 +117,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_280 : BST = tree[x_278];
currentNode = x_280;
let x_282 : i32 = currentNode.data;
let x_283 : i32 = *(target);
let x_283 : i32 = *(t);
if ((x_282 == x_283)) {
let x_287 : i32 = *(target);
let x_287 : i32 = *(t);
return x_287;
}
let x_288 : i32 = *(target);
let x_288 : i32 = *(t);
let x_290 : i32 = currentNode.data;
if ((x_288 > x_290)) {
let x_296 : i32 = currentNode.rightIndex;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %func_i1_i1_ "func(i1;i1;"
@ -25,7 +25,7 @@
OpName %high_0 "high"
OpName %m_0 "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -364,7 +364,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %41
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%259 = OpLabel
@ -372,9 +372,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%260 = OpLoad %int %from
%260 = OpLoad %int %f
OpStore %k %260
%261 = OpLoad %int %from
%261 = OpLoad %int %f
OpStore %i %261
%262 = OpLoad %int %mid
%263 = OpIAdd %int %262 %int_1
@ -458,7 +458,7 @@
%302 = OpLabel
OpBranch %300
%301 = OpLabel
%318 = OpLoad %int %from
%318 = OpLoad %int %f
OpStore %i_0 %318
OpBranch %319
%319 = OpLabel
@ -539,7 +539,7 @@
%high_0 = OpVariable %_ptr_Function_int Function
%m_0 = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -573,7 +573,7 @@
OpBranchConditional %378 %379 %373
%379 = OpLabel
%380 = OpLoad %int %i_1
OpStore %from_0 %380
OpStore %f_0 %380
%381 = OpLoad %int %i_1
%382 = OpLoad %int %m_0
%383 = OpIAdd %int %381 %382
@ -587,7 +587,7 @@
%390 = OpLoad %int %high_0
%391 = OpExtInst %int %1 SMin %389 %390
OpStore %to_0 %391
%392 = OpLoad %int %from_0
%392 = OpLoad %int %f_0
OpStore %param %392
%393 = OpLoad %int %mid_0
OpStore %param_0 %393

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_260 : i32 = *(from);
let x_260 : i32 = *(f);
k = x_260;
let x_261 : i32 = *(from);
let x_261 : i32 = *(f);
i = x_261;
let x_262 : i32 = *(mid);
j = (x_262 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_316 : i32 = data[x_313];
temp[x_311] = x_316;
}
let x_318 : i32 = *(from);
let x_318 : i32 = *(f);
i_1 = x_318;
loop {
let x_323 : i32 = i_1;
@ -122,7 +122,7 @@ fn mergeSort_() {
var high_1 : i32;
var m_1 : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -150,7 +150,7 @@ fn mergeSort_() {
break;
}
let x_380 : i32 = i_2;
from_1 = x_380;
f_1 = x_380;
let x_381 : i32 = i_2;
let x_382 : i32 = m_1;
mid_1 = ((x_381 + x_382) - 1);
@ -158,7 +158,7 @@ fn mergeSort_() {
let x_386 : i32 = m_1;
let x_390 : i32 = high_1;
to_1 = min(((x_385 + (2 * x_386)) - 1), x_390);
let x_392 : i32 = from_1;
let x_392 : i32 = f_1;
param = x_392;
let x_393 : i32 = mid_1;
param_1 = x_393;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320
OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from"
OpName %f "f"
OpName %mid "mid"
OpName %to "to"
OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high"
OpName %m "m"
OpName %i_1 "i"
OpName %from_0 "from"
OpName %f_0 "f"
OpName %mid_0 "mid"
OpName %to_0 "to"
OpName %param "param"
@ -374,7 +374,7 @@
OpReturn
OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %36
%from = OpFunctionParameter %_ptr_Function_int
%f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int
%261 = OpLabel
@ -382,9 +382,9 @@
%i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%262 = OpLoad %int %from
%262 = OpLoad %int %f
OpStore %k %262
%263 = OpLoad %int %from
%263 = OpLoad %int %f
OpStore %i %263
%264 = OpLoad %int %mid
%265 = OpIAdd %int %264 %int_1
@ -468,7 +468,7 @@
%304 = OpLabel
OpBranch %302
%303 = OpLabel
%320 = OpLoad %int %from
%320 = OpLoad %int %f
OpStore %i_0 %320
OpBranch %321
%321 = OpLabel
@ -501,7 +501,7 @@
%high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function
%f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function
@ -533,7 +533,7 @@
OpBranchConditional %352 %353 %347
%353 = OpLabel
%354 = OpLoad %int %i_1
OpStore %from_0 %354
OpStore %f_0 %354
%355 = OpLoad %int %i_1
%356 = OpLoad %int %m
%357 = OpIAdd %int %355 %356
@ -547,7 +547,7 @@
%364 = OpLoad %int %high
%365 = OpExtInst %int %1 SMin %363 %364
OpStore %to_0 %365
%366 = OpLoad %int %from_0
%366 = OpLoad %int %f_0
OpStore %param %366
%367 = OpLoad %int %mid_0
OpStore %param_0 %367

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32;
var i : i32;
var j : i32;
var i_1 : i32;
let x_262 : i32 = *(from);
let x_262 : i32 = *(f);
k = x_262;
let x_263 : i32 = *(from);
let x_263 : i32 = *(f);
i = x_263;
let x_264 : i32 = *(mid);
j = (x_264 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_318 : i32 = data[x_315];
temp[x_313] = x_318;
}
let x_320 : i32 = *(from);
let x_320 : i32 = *(f);
i_1 = x_320;
loop {
let x_325 : i32 = i_1;
@ -94,7 +94,7 @@ fn mergeSort_() {
var high : i32;
var m : i32;
var i_2 : i32;
var from_1 : i32;
var f_1 : i32;
var mid_1 : i32;
var to_1 : i32;
var param : i32;
@ -120,7 +120,7 @@ fn mergeSort_() {
break;
}
let x_354 : i32 = i_2;
from_1 = x_354;
f_1 = x_354;
let x_355 : i32 = i_2;
let x_356 : i32 = m;
mid_1 = ((x_355 + x_356) - 1);
@ -128,7 +128,7 @@ fn mergeSort_() {
let x_360 : i32 = m;
let x_364 : i32 = high;
to_1 = min(((x_359 + (2 * x_360)) - 1), x_364);
let x_366 : i32 = from_1;
let x_366 : i32 = f_1;
param = x_366;
let x_367 : i32 = mid_1;
param_1 = x_367;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex"
OpName %data_0 "data"
OpName %search_i1_ "search(i1;"
OpName %target "target"
OpName %t "t"
OpName %hueColor_f1_ "hueColor(f1;"
OpName %angle "angle"
OpName %makeFrame_f1_ "makeFrame(f1;"
@ -76,7 +76,7 @@
OpName %y "y"
OpName %param_28 "param"
OpName %sum "sum"
OpName %target_0 "target"
OpName %t_0 "t"
OpName %result "result"
OpName %param_29 "param"
OpName %a "a"
@ -89,7 +89,7 @@
OpDecorate %treeIndex RelaxedPrecision
OpDecorate %data_0 RelaxedPrecision
OpDecorate %search_i1_ RelaxedPrecision
OpDecorate %target RelaxedPrecision
OpDecorate %t RelaxedPrecision
OpDecorate %74 RelaxedPrecision
OpDecorate %baseIndex RelaxedPrecision
OpDecorate %75 RelaxedPrecision
@ -187,7 +187,7 @@
OpDecorate %155 RelaxedPrecision
OpDecorate %gl_FragCoord BuiltIn FragCoord
OpDecorate %sum RelaxedPrecision
OpDecorate %target_0 RelaxedPrecision
OpDecorate %t_0 RelaxedPrecision
OpDecorate %156 RelaxedPrecision
OpDecorate %result RelaxedPrecision
OpDecorate %157 RelaxedPrecision
@ -310,7 +310,7 @@
%y = OpVariable %_ptr_Function_float Function
%param_28 = OpVariable %_ptr_Function_float Function
%sum = OpVariable %_ptr_Function_int Function
%target_0 = OpVariable %_ptr_Function_int Function
%t_0 = OpVariable %_ptr_Function_int Function
%result = OpVariable %_ptr_Function_int Function
%param_29 = OpVariable %_ptr_Function_int Function
%a = OpVariable %_ptr_Function_float Function
@ -486,17 +486,17 @@
%293 = OpFunctionCall %float %makeFrame_f1_ %param_28
OpStore %y %293
OpStore %sum %int_n100
OpStore %target_0 %int_0
OpStore %t_0 %int_0
OpBranch %294
%294 = OpLabel
OpLoopMerge %295 %296 None
OpBranch %297
%297 = OpLabel
%156 = OpLoad %int %target_0
%156 = OpLoad %int %t_0
%298 = OpSLessThan %bool %156 %int_20
OpBranchConditional %298 %299 %295
%299 = OpLabel
%157 = OpLoad %int %target_0
%157 = OpLoad %int %t_0
OpStore %param_29 %157
%158 = OpFunctionCall %int %search_i1_ %param_29
OpStore %result %158
@ -522,9 +522,9 @@
%301 = OpLabel
OpBranch %296
%296 = OpLabel
%163 = OpLoad %int %target_0
%163 = OpLoad %int %t_0
%164 = OpIAdd %int %163 %int_1
OpStore %target_0 %164
OpStore %t_0 %164
OpBranch %294
%295 = OpLabel
%307 = OpLoad %float %x
@ -700,7 +700,7 @@
OpReturn
OpFunctionEnd
%search_i1_ = OpFunction %int None %173
%target = OpFunctionParameter %_ptr_Function_int
%t = OpFunctionParameter %_ptr_Function_int
%386 = OpLabel
%index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function
@ -721,15 +721,15 @@
OpStore %currentNode %395
%396 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%101 = OpLoad %int %396
%102 = OpLoad %int %target
%102 = OpLoad %int %t
%397 = OpIEqual %bool %101 %102
OpSelectionMerge %398 None
OpBranchConditional %397 %399 %398
%399 = OpLabel
%103 = OpLoad %int %target
%103 = OpLoad %int %t
OpReturnValue %103
%398 = OpLabel
%104 = OpLoad %int %target
%104 = OpLoad %int %t
%400 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%105 = OpLoad %int %400
%401 = OpSGreaterThan %bool %104 %105

View File

@ -116,7 +116,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return;
}
fn search_i1_(target : ptr<function, i32>) -> i32 {
fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32;
var currentNode : BST;
var x_387 : i32;
@ -131,12 +131,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_395 : BST = tree_1[x_100];
currentNode = x_395;
let x_101 : i32 = currentNode.data;
let x_102 : i32 = *(target);
let x_102 : i32 = *(t);
if ((x_101 == x_102)) {
let x_103 : i32 = *(target);
let x_103 : i32 = *(t);
return x_103;
}
let x_104 : i32 = *(target);
let x_104 : i32 = *(t);
let x_105 : i32 = currentNode.data;
if ((x_104 > x_105)) {
let x_106 : i32 = currentNode.rightIndex;
@ -223,7 +223,7 @@ fn main_1() {
var y : f32;
var param_29 : f32;
var sum : i32;
var target_1 : i32;
var t_1 : i32;
var result : i32;
var param_30 : i32;
var a : f32;
@ -354,14 +354,14 @@ fn main_1() {
let x_293 : f32 = makeFrame_f1_(&(param_29));
y = x_293;
sum = -100;
target_1 = 0;
t_1 = 0;
loop {
let x_156 : i32 = target_1;
let x_156 : i32 = t_1;
if ((x_156 < 20)) {
} else {
break;
}
let x_157 : i32 = target_1;
let x_157 : i32 = t_1;
param_30 = x_157;
let x_158 : i32 = search_i1_(&(param_30));
result = x_158;
@ -383,8 +383,8 @@ fn main_1() {
}
continuing {
let x_163 : i32 = target_1;
target_1 = (x_163 + 1);
let x_163 : i32 = t_1;
t_1 = (x_163 + 1);
}
}
let x_307 : f32 = x;