spir-writer: handle break continuing block

The continuing block can exit the loop in very constrained ways:

When a break statement is placed such that it would exit from a loop’s
§ 7.3.8 Continuing Statement, then:

   - The break statement must appear as either:
     - The only statement in the if clause of an if statement that has:
       - no else clause or an empty else clause
       - no elseif clauses
     - The only statement in the else clause of an if statement that has an
       empty if clause and no elseif clauses.
   - That if statement must appear last in the continuing clause.

By design, this allows a lossless round-trip from SPIR-V to WGSL and
back to SPIR-V.  But that requires this special case construct in WGSL
to be translated to an OpBranchConditional with one target being
the loop's megre block (which is where 'break' branches to), and the
other targets the loop header (which is the loop backedge).  That
OpBranchConditional takes the place of the normal case of an
unconditional backedge.

Avoids errors like this:
 continue construct with the continue target X is not
 post dominated by the back-edge block Y

Fixed: 1034
Change-Id: If472a179380b8d77af746a3cd8e279c8a5e56b37
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/59800
Auto-Submit: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
David Neto 2021-07-27 15:12:27 +00:00 committed by Tint LUCI CQ
parent 97668c8c37
commit dffa60ca98
128 changed files with 14973 additions and 16425 deletions

View File

@ -29,6 +29,7 @@
#include "src/ast/bitcast_expression.h" #include "src/ast/bitcast_expression.h"
#include "src/ast/bool.h" #include "src/ast/bool.h"
#include "src/ast/bool_literal.h" #include "src/ast/bool_literal.h"
#include "src/ast/break_statement.h"
#include "src/ast/call_expression.h" #include "src/ast/call_expression.h"
#include "src/ast/call_statement.h" #include "src/ast/call_statement.h"
#include "src/ast/case_statement.h" #include "src/ast/case_statement.h"
@ -1782,6 +1783,17 @@ class ProgramBuilder {
return func; return func;
} }
/// Creates an ast::BreakStatement
/// @param source the source information
/// @returns the break statement pointer
ast::BreakStatement* Break(const Source& source) {
return create<ast::BreakStatement>(source);
}
/// Creates an ast::BreakStatement
/// @returns the break statement pointer
ast::BreakStatement* Break() { return create<ast::BreakStatement>(); }
/// Creates an ast::ReturnStatement with no return value /// Creates an ast::ReturnStatement with no return value
/// @param source the source information /// @param source the source information
/// @returns the return statement pointer /// @returns the return statement pointer

View File

@ -3447,6 +3447,49 @@ bool Builder::GenerateConditionalBlock(
} }
bool Builder::GenerateIfStatement(ast::IfStatement* stmt) { bool Builder::GenerateIfStatement(ast::IfStatement* stmt) {
if (!continuing_stack_.empty() &&
stmt == continuing_stack_.back().last_statement->As<ast::IfStatement>()) {
const ContinuingInfo& ci = continuing_stack_.back();
// Match one of two patterns: the break-if and break-unless patterns.
//
// The break-if pattern:
// continuing { ...
// if (cond) { break; }
// }
//
// The break-unless pattern:
// continuing { ...
// if (cond) {} else {break;}
// }
auto is_just_a_break = [](ast::BlockStatement* block) {
return block && (block->size() == 1) &&
block->last()->Is<ast::BreakStatement>();
};
if (is_just_a_break(stmt->body()) && !stmt->has_else_statements()) {
// It's a break-if.
TINT_ASSERT(Writer, !backedge_stack_.empty());
const auto cond_id = GenerateExpression(stmt->condition());
backedge_stack_.back() =
Backedge(spv::Op::OpBranchConditional,
{Operand::Int(cond_id), Operand::Int(ci.break_target_id),
Operand::Int(ci.loop_header_id)});
return true;
} else if (stmt->body()->empty()) {
const auto& es = stmt->else_statements();
if (es.size() == 1 && !es.back()->HasCondition() &&
is_just_a_break(es.back()->body())) {
// It's a break-unless.
TINT_ASSERT(Writer, !backedge_stack_.empty());
const auto cond_id = GenerateExpression(stmt->condition());
backedge_stack_.back() =
Backedge(spv::Op::OpBranchConditional,
{Operand::Int(cond_id), Operand::Int(ci.loop_header_id),
Operand::Int(ci.break_target_id)});
return true;
}
}
}
if (!GenerateConditionalBlock(stmt->condition(), stmt->body(), 0, if (!GenerateConditionalBlock(stmt->condition(), stmt->body(), 0,
stmt->else_statements())) { stmt->else_statements())) {
return false; return false;
@ -3603,6 +3646,11 @@ bool Builder::GenerateLoopStatement(ast::LoopStatement* stmt) {
continue_stack_.push_back(continue_block_id); continue_stack_.push_back(continue_block_id);
merge_stack_.push_back(merge_block_id); merge_stack_.push_back(merge_block_id);
// Usually, the backedge is a simple branch. This will be modified if the
// backedge block in the continuing construct has an exiting edge.
backedge_stack_.emplace_back(spv::Op::OpBranch,
OperandList{Operand::Int(loop_header_id)});
if (!push_function_inst(spv::Op::OpBranch, {Operand::Int(body_block_id)})) { if (!push_function_inst(spv::Op::OpBranch, {Operand::Int(body_block_id)})) {
return false; return false;
} }
@ -3630,16 +3678,23 @@ bool Builder::GenerateLoopStatement(ast::LoopStatement* stmt) {
return false; return false;
} }
if (stmt->has_continuing()) { if (stmt->has_continuing()) {
continuing_stack_.emplace_back(stmt->continuing()->last(), loop_header_id,
merge_block_id);
if (!GenerateBlockStatementWithoutScoping(stmt->continuing())) { if (!GenerateBlockStatementWithoutScoping(stmt->continuing())) {
return false; return false;
} }
continuing_stack_.pop_back();
} }
scope_stack_.pop_scope(); scope_stack_.pop_scope();
if (!push_function_inst(spv::Op::OpBranch, {Operand::Int(loop_header_id)})) { // Generate the backedge.
TINT_ASSERT(Writer, !backedge_stack_.empty());
const Backedge& backedge = backedge_stack_.back();
if (!push_function_inst(backedge.opcode, backedge.operands)) {
return false; return false;
} }
backedge_stack_.pop_back();
merge_stack_.pop_back(); merge_stack_.pop_back();
continue_stack_.pop_back(); continue_stack_.pop_back();
@ -4260,6 +4315,26 @@ bool Builder::push_function_inst(spv::Op op, const OperandList& operands) {
return true; return true;
} }
Builder::ContinuingInfo::ContinuingInfo(
const ast::Statement* the_last_statement,
uint32_t loop_id,
uint32_t break_id)
: last_statement(the_last_statement),
loop_header_id(loop_id),
break_target_id(break_id) {
TINT_ASSERT(Writer, last_statement != nullptr);
TINT_ASSERT(Writer, loop_header_id != 0u);
TINT_ASSERT(Writer, break_target_id != 0u);
}
Builder::Backedge::Backedge(spv::Op the_opcode, OperandList the_operands)
: opcode(the_opcode), operands(the_operands) {}
Builder::Backedge::Backedge(const Builder::Backedge& other) = default;
Builder::Backedge& Builder::Backedge::operator=(
const Builder::Backedge& other) = default;
Builder::Backedge::~Backedge() = default;
} // namespace spirv } // namespace spirv
} // namespace writer } // namespace writer
} // namespace tint } // namespace tint

View File

@ -584,6 +584,33 @@ class Builder {
std::vector<uint32_t> continue_stack_; std::vector<uint32_t> continue_stack_;
std::unordered_set<uint32_t> capability_set_; std::unordered_set<uint32_t> capability_set_;
bool has_overridable_workgroup_size_ = false; bool has_overridable_workgroup_size_ = false;
struct ContinuingInfo {
ContinuingInfo(const ast::Statement* last_statement,
uint32_t loop_header_id,
uint32_t break_target_id);
// The last statement in the continiung block.
const ast::Statement* const last_statement = nullptr;
// The ID of the loop header
const uint32_t loop_header_id = 0u;
// The ID of the merge block for the loop.
const uint32_t break_target_id = 0u;
};
// Stack of nodes, where each is the last statement in a surrounding
// continuing block.
std::vector<ContinuingInfo> continuing_stack_;
// The instruction to emit as the backedge of a loop.
struct Backedge {
Backedge(spv::Op, OperandList);
Backedge(const Backedge&);
Backedge& operator=(const Backedge&);
~Backedge();
spv::Op opcode;
OperandList operands;
};
std::vector<Backedge> backedge_stack_;
}; };
} // namespace spirv } // namespace spirv

View File

@ -219,6 +219,186 @@ OpBranch %1
)"); )");
} }
TEST_F(BuilderTest, Loop_WithContinuing_BreakIf) {
// loop {
// continuing {
// if (true) { break; }
// }
// }
auto* if_stmt = create<ast::IfStatement>(Expr(true), Block(Break()),
ast::ElseStatementList{});
auto* continuing = Block(if_stmt);
auto* loop = Loop(Block(), continuing);
WrapInFunction(loop);
spirv::Builder& b = Build();
b.push_function(Function{});
EXPECT_TRUE(b.GenerateLoopStatement(loop)) << b.error();
EXPECT_EQ(DumpInstructions(b.types()), R"(%5 = OpTypeBool
%6 = OpConstantTrue %5
)");
EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()),
R"(OpBranch %1
%1 = OpLabel
OpLoopMerge %2 %3 None
OpBranch %4
%4 = OpLabel
OpBranch %3
%3 = OpLabel
OpBranchConditional %6 %2 %1
%2 = OpLabel
)");
}
TEST_F(BuilderTest, Loop_WithContinuing_BreakUnless) {
// loop {
// continuing {
// if (true) {} else { break; }
// }
// }
auto* if_stmt = create<ast::IfStatement>(
Expr(true), Block(),
ast::ElseStatementList{Else(nullptr, Block(Break()))});
auto* continuing = Block(if_stmt);
auto* loop = Loop(Block(), continuing);
WrapInFunction(loop);
spirv::Builder& b = Build();
b.push_function(Function{});
EXPECT_TRUE(b.GenerateLoopStatement(loop)) << b.error();
EXPECT_EQ(DumpInstructions(b.types()), R"(%5 = OpTypeBool
%6 = OpConstantTrue %5
)");
EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()),
R"(OpBranch %1
%1 = OpLabel
OpLoopMerge %2 %3 None
OpBranch %4
%4 = OpLabel
OpBranch %3
%3 = OpLabel
OpBranchConditional %6 %1 %2
%2 = OpLabel
)");
}
TEST_F(BuilderTest, Loop_WithContinuing_BreakIf_Nested) {
// Make sure the right backedge and break target are used.
// loop {
// continuing {
// loop {
// continuing {
// if (true) { break; }
// }
// }
// if (true) { break; }
// }
// }
auto* inner_if_stmt = create<ast::IfStatement>(Expr(true), Block(Break()),
ast::ElseStatementList{});
auto* inner_continuing = Block(inner_if_stmt);
auto* inner_loop = Loop(Block(), inner_continuing);
auto* outer_if_stmt = create<ast::IfStatement>(Expr(true), Block(Break()),
ast::ElseStatementList{});
auto* outer_continuing = Block(inner_loop, outer_if_stmt);
auto* outer_loop = Loop(Block(), outer_continuing);
WrapInFunction(outer_loop);
spirv::Builder& b = Build();
b.push_function(Function{});
EXPECT_TRUE(b.GenerateLoopStatement(outer_loop)) << b.error();
EXPECT_EQ(DumpInstructions(b.types()), R"(%9 = OpTypeBool
%10 = OpConstantTrue %9
)");
EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()),
R"(OpBranch %1
%1 = OpLabel
OpLoopMerge %2 %3 None
OpBranch %4
%4 = OpLabel
OpBranch %3
%3 = OpLabel
OpBranch %5
%5 = OpLabel
OpLoopMerge %6 %7 None
OpBranch %8
%8 = OpLabel
OpBranch %7
%7 = OpLabel
OpBranchConditional %10 %6 %5
%6 = OpLabel
OpBranchConditional %10 %2 %1
%2 = OpLabel
)");
}
TEST_F(BuilderTest, Loop_WithContinuing_BreakUnless_Nested) {
// Make sure the right backedge and break target are used.
// loop {
// continuing {
// loop {
// continuing {
// if (true) {} else { break; }
// }
// }
// if (true) {} else { break; }
// }
// }
auto* inner_if_stmt = create<ast::IfStatement>(
Expr(true), Block(),
ast::ElseStatementList{Else(nullptr, Block(Break()))});
auto* inner_continuing = Block(inner_if_stmt);
auto* inner_loop = Loop(Block(), inner_continuing);
auto* outer_if_stmt = create<ast::IfStatement>(
Expr(true), Block(),
ast::ElseStatementList{Else(nullptr, Block(Break()))});
auto* outer_continuing = Block(inner_loop, outer_if_stmt);
auto* outer_loop = Loop(Block(), outer_continuing);
WrapInFunction(outer_loop);
spirv::Builder& b = Build();
b.push_function(Function{});
EXPECT_TRUE(b.GenerateLoopStatement(outer_loop)) << b.error();
EXPECT_EQ(DumpInstructions(b.types()), R"(%9 = OpTypeBool
%10 = OpConstantTrue %9
)");
EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()),
R"(OpBranch %1
%1 = OpLabel
OpLoopMerge %2 %3 None
OpBranch %4
%4 = OpLabel
OpBranch %3
%3 = OpLabel
OpBranch %5
%5 = OpLabel
OpLoopMerge %6 %7 None
OpBranch %8
%8 = OpLabel
OpBranch %7
%7 = OpLabel
OpBranchConditional %10 %5 %6
%6 = OpLabel
OpBranchConditional %10 %1 %2
%2 = OpLabel
)");
}
} // namespace } // namespace
} // namespace spirv } // namespace spirv
} // namespace writer } // namespace writer

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 56 ; Bound: 53
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -53,7 +51,7 @@ SKIP: FAILED
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%44 = OpTypeFunction %void %main_out %41 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12 %main_1 = OpFunction %void None %12
%15 = OpLabel %15 = OpLabel
%GLF_live12c5 = OpVariable %_ptr_Function_bool Function %19 %GLF_live12c5 = OpVariable %_ptr_Function_bool Function %19
@ -82,32 +80,22 @@ SKIP: FAILED
%34 = OpLabel %34 = OpLabel
OpBranch %24 OpBranch %24
%25 = OpLabel %25 = OpLabel
OpSelectionMerge %41 None OpBranchConditional %false %23 %24
OpBranchConditional %false %42 %43
%42 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %24
%41 = OpLabel
OpBranch %23
%24 = OpLabel %24 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %44 %tint_symbol_2 = OpFunction %void None %41
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%48 = OpLabel %45 = OpLabel
%49 = OpCompositeExtract %v4float %tint_symbol 0 %46 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %49 OpStore %tint_symbol_1 %46
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %12 %main = OpFunction %void None %12
%51 = OpLabel %48 = OpLabel
%52 = OpFunctionCall %void %main_1 %49 = OpFunctionCall %void %main_1
%54 = OpLoad %v4float %x_GLF_color %51 = OpLoad %v4float %x_GLF_color
%55 = OpCompositeConstruct %main_out %54 %52 = OpCompositeConstruct %main_out %51
%53 = OpFunctionCall %void %tint_symbol_2 %55 %50 = OpFunctionCall %void %tint_symbol_2 %52
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 25[%25] is not post dominated by the back-edge block 41[%41]
%41 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 56 ; Bound: 53
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -53,7 +51,7 @@ SKIP: FAILED
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%44 = OpTypeFunction %void %main_out %41 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12 %main_1 = OpFunction %void None %12
%15 = OpLabel %15 = OpLabel
%GLF_live12c5 = OpVariable %_ptr_Function_bool Function %19 %GLF_live12c5 = OpVariable %_ptr_Function_bool Function %19
@ -82,32 +80,22 @@ SKIP: FAILED
%34 = OpLabel %34 = OpLabel
OpBranch %24 OpBranch %24
%25 = OpLabel %25 = OpLabel
OpSelectionMerge %41 None OpBranchConditional %false %23 %24
OpBranchConditional %false %42 %43
%42 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %24
%41 = OpLabel
OpBranch %23
%24 = OpLabel %24 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %44 %tint_symbol_2 = OpFunction %void None %41
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%48 = OpLabel %45 = OpLabel
%49 = OpCompositeExtract %v4float %tint_symbol 0 %46 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %49 OpStore %tint_symbol_1 %46
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %12 %main = OpFunction %void None %12
%51 = OpLabel %48 = OpLabel
%52 = OpFunctionCall %void %main_1 %49 = OpFunctionCall %void %main_1
%54 = OpLoad %v4float %x_GLF_color %51 = OpLoad %v4float %x_GLF_color
%55 = OpCompositeConstruct %main_out %54 %52 = OpCompositeConstruct %main_out %51
%53 = OpFunctionCall %void %tint_symbol_2 %55 %50 = OpFunctionCall %void %tint_symbol_2 %52
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 25[%25] is not post dominated by the back-edge block 41[%41]
%41 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 164 ; Bound: 161
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%56 = OpExtInstImport "GLSL.std.450" %56 = OpExtInstImport "GLSL.std.450"
@ -80,9 +78,9 @@ SKIP: FAILED
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%int_65 = OpConstant %int 65 %int_65 = OpConstant %int 65
%int_10 = OpConstant %int 10 %int_10 = OpConstant %int 10
%150 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %147 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%151 = OpTypeFunction %void %main_out %148 = OpTypeFunction %void %main_out
%func_i1_ = OpFunction %float None %14 %func_i1_ = OpFunction %float None %14
%b = OpFunctionParameter %_ptr_Function_int %b = OpFunctionParameter %_ptr_Function_int
%19 = OpLabel %19 = OpLabel
@ -243,45 +241,35 @@ SKIP: FAILED
%139 = OpLoad %float %138 %139 = OpLoad %float %138
%140 = OpConvertFToS %int %139 %140 = OpConvertFToS %int %139
%141 = OpSGreaterThan %bool %140 %int_1 %141 = OpSGreaterThan %bool %140 %int_1
OpSelectionMerge %142 None OpBranchConditional %141 %93 %94
OpBranchConditional %141 %143 %144
%143 = OpLabel
OpBranch %142
%144 = OpLabel
OpBranch %94
%142 = OpLabel
OpBranch %93
%94 = OpLabel %94 = OpLabel
%145 = OpLoad %float %f %142 = OpLoad %float %f
%146 = OpFOrdEqual %bool %145 %float_3 %143 = OpFOrdEqual %bool %142 %float_3
OpSelectionMerge %147 None OpSelectionMerge %144 None
OpBranchConditional %146 %148 %149 OpBranchConditional %143 %145 %146
%148 = OpLabel %145 = OpLabel
OpStore %x_GLF_color %150 OpStore %x_GLF_color %147
OpBranch %147 OpBranch %144
%149 = OpLabel %146 = OpLabel
OpStore %x_GLF_color %80 OpStore %x_GLF_color %80
OpBranch %147 OpBranch %144
%147 = OpLabel %144 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %151 %tint_symbol_3 = OpFunction %void None %148
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%155 = OpLabel %152 = OpLabel
%156 = OpCompositeExtract %v4float %tint_symbol_1 0 %153 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %156 OpStore %tint_symbol_2 %153
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %82 %main = OpFunction %void None %82
%158 = OpLabel %155 = OpLabel
%159 = OpLoad %v4float %tint_symbol %156 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %159 OpStore %gl_FragCoord %156
%160 = OpFunctionCall %void %main_1 %157 = OpFunctionCall %void %main_1
%162 = OpLoad %v4float %x_GLF_color %159 = OpLoad %v4float %x_GLF_color
%163 = OpCompositeConstruct %main_out %162 %160 = OpCompositeConstruct %main_out %159
%161 = OpFunctionCall %void %tint_symbol_3 %163 %158 = OpFunctionCall %void %tint_symbol_3 %160
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 95[%95] is not post dominated by the back-edge block 142[%142]
%142 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 164 ; Bound: 161
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%56 = OpExtInstImport "GLSL.std.450" %56 = OpExtInstImport "GLSL.std.450"
@ -80,9 +78,9 @@ SKIP: FAILED
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%int_65 = OpConstant %int 65 %int_65 = OpConstant %int 65
%int_10 = OpConstant %int 10 %int_10 = OpConstant %int 10
%150 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %147 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%151 = OpTypeFunction %void %main_out %148 = OpTypeFunction %void %main_out
%func_i1_ = OpFunction %float None %14 %func_i1_ = OpFunction %float None %14
%b = OpFunctionParameter %_ptr_Function_int %b = OpFunctionParameter %_ptr_Function_int
%19 = OpLabel %19 = OpLabel
@ -243,45 +241,35 @@ SKIP: FAILED
%139 = OpLoad %float %138 %139 = OpLoad %float %138
%140 = OpConvertFToS %int %139 %140 = OpConvertFToS %int %139
%141 = OpSGreaterThan %bool %140 %int_1 %141 = OpSGreaterThan %bool %140 %int_1
OpSelectionMerge %142 None OpBranchConditional %141 %93 %94
OpBranchConditional %141 %143 %144
%143 = OpLabel
OpBranch %142
%144 = OpLabel
OpBranch %94
%142 = OpLabel
OpBranch %93
%94 = OpLabel %94 = OpLabel
%145 = OpLoad %float %f %142 = OpLoad %float %f
%146 = OpFOrdEqual %bool %145 %float_3 %143 = OpFOrdEqual %bool %142 %float_3
OpSelectionMerge %147 None OpSelectionMerge %144 None
OpBranchConditional %146 %148 %149 OpBranchConditional %143 %145 %146
%148 = OpLabel %145 = OpLabel
OpStore %x_GLF_color %150 OpStore %x_GLF_color %147
OpBranch %147 OpBranch %144
%149 = OpLabel %146 = OpLabel
OpStore %x_GLF_color %80 OpStore %x_GLF_color %80
OpBranch %147 OpBranch %144
%147 = OpLabel %144 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %151 %tint_symbol_3 = OpFunction %void None %148
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%155 = OpLabel %152 = OpLabel
%156 = OpCompositeExtract %v4float %tint_symbol_1 0 %153 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %156 OpStore %tint_symbol_2 %153
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %82 %main = OpFunction %void None %82
%158 = OpLabel %155 = OpLabel
%159 = OpLoad %v4float %tint_symbol %156 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %159 OpStore %gl_FragCoord %156
%160 = OpFunctionCall %void %main_1 %157 = OpFunctionCall %void %main_1
%162 = OpLoad %v4float %x_GLF_color %159 = OpLoad %v4float %x_GLF_color
%163 = OpCompositeConstruct %main_out %162 %160 = OpCompositeConstruct %main_out %159
%161 = OpFunctionCall %void %tint_symbol_3 %163 %158 = OpFunctionCall %void %tint_symbol_3 %160
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 95[%95] is not post dominated by the back-edge block 142[%142]
%142 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 324 ; Bound: 321
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -100,9 +98,9 @@ SKIP: FAILED
%int_19 = OpConstant %int 19 %int_19 = OpConstant %int 19
%bool = OpTypeBool %bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool %_ptr_Function_bool = OpTypePointer Function %bool
%276 = OpConstantNull %bool %273 = OpConstantNull %bool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%312 = OpTypeFunction %void %main_out %309 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18 %main_1 = OpFunction %void None %18
%21 = OpLabel %21 = OpLabel
%arr0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26 %arr0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
@ -117,8 +115,8 @@ SKIP: FAILED
%ref0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26 %ref0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
%ref1 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26 %ref1 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
%i = OpVariable %_ptr_Function_int Function %30 %i = OpVariable %_ptr_Function_int Function %30
%x_277 = OpVariable %_ptr_Function_bool Function %276 %x_277 = OpVariable %_ptr_Function_bool Function %273
%x_278_phi = OpVariable %_ptr_Function_bool Function %276 %x_278_phi = OpVariable %_ptr_Function_bool Function %273
%43 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %43 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%44 = OpLoad %int %43 %44 = OpLoad %int %43
%46 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2 %46 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
@ -332,158 +330,148 @@ SKIP: FAILED
%205 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %205 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%206 = OpLoad %int %205 %206 = OpLoad %int %205
%207 = OpIEqual %bool %204 %206 %207 = OpIEqual %bool %204 %206
OpSelectionMerge %208 None OpBranchConditional %207 %177 %178
OpBranchConditional %207 %209 %210
%209 = OpLabel
OpBranch %208
%210 = OpLabel
OpBranch %178
%208 = OpLabel
OpBranch %177
%178 = OpLabel %178 = OpLabel
OpBranch %108 OpBranch %108
%108 = OpLabel %108 = OpLabel
%211 = OpLoad %int %a %208 = OpLoad %int %a
%212 = OpIAdd %int %211 %int_1 %209 = OpIAdd %int %208 %int_1
OpStore %a %212 OpStore %a %209
OpBranch %106 OpBranch %106
%107 = OpLabel %107 = OpLabel
%213 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %210 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%214 = OpLoad %int %213 %211 = OpLoad %int %210
%215 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12 %212 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%216 = OpLoad %int %215 %213 = OpLoad %int %212
%217 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %214 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%218 = OpLoad %int %217 %215 = OpLoad %int %214
%219 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5 %216 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%220 = OpLoad %int %219 %217 = OpLoad %int %216
%221 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6 %218 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%222 = OpLoad %int %221 %219 = OpLoad %int %218
%223 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_7 %220 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_7
%224 = OpLoad %int %223 %221 = OpLoad %int %220
%225 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_8 %222 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_8
%226 = OpLoad %int %225 %223 = OpLoad %int %222
%227 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_9 %224 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_9
%228 = OpLoad %int %227 %225 = OpLoad %int %224
%229 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0 %226 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%230 = OpLoad %int %229 %227 = OpLoad %int %226
%231 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_10 %228 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_10
%229 = OpLoad %int %228
%230 = OpCompositeConstruct %_arr_int_uint_10 %211 %213 %215 %217 %219 %221 %223 %225 %227 %229
OpStore %ref0 %230
%231 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%232 = OpLoad %int %231 %232 = OpLoad %int %231
%233 = OpCompositeConstruct %_arr_int_uint_10 %214 %216 %218 %220 %222 %224 %226 %228 %230 %232 %233 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
OpStore %ref0 %233 %234 = OpLoad %int %233
%234 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %235 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%235 = OpLoad %int %234 %236 = OpLoad %int %235
%236 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12 %237 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%237 = OpLoad %int %236 %238 = OpLoad %int %237
%238 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %239 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%239 = OpLoad %int %238 %240 = OpLoad %int %239
%240 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5 %241 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_13
%241 = OpLoad %int %240 %242 = OpLoad %int %241
%242 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6 %243 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_14
%243 = OpLoad %int %242 %244 = OpLoad %int %243
%244 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_13 %245 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%245 = OpLoad %int %244 %246 = OpLoad %int %245
%246 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_14 %247 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_18
%247 = OpLoad %int %246 %248 = OpLoad %int %247
%248 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %249 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_19
%249 = OpLoad %int %248 %250 = OpLoad %int %249
%250 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_18 %251 = OpCompositeConstruct %_arr_int_uint_10 %232 %234 %236 %238 %240 %242 %244 %246 %248 %250
%251 = OpLoad %int %250 OpStore %ref1 %251
%252 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_19 %252 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%253 = OpLoad %int %252 %253 = OpLoad %int %252
%254 = OpCompositeConstruct %_arr_int_uint_10 %235 %237 %239 %241 %243 %245 %247 %249 %251 %253 %254 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
OpStore %ref1 %254 %255 = OpLoad %int %254
%255 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2 %256 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%256 = OpLoad %int %255 %257 = OpLoad %int %256
%257 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %258 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%258 = OpLoad %int %257 %259 = OpLoad %int %258
%259 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %260 = OpConvertSToF %float %253
%260 = OpLoad %int %259 %261 = OpConvertSToF %float %255
%261 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2 %262 = OpConvertSToF %float %257
%262 = OpLoad %int %261 %263 = OpConvertSToF %float %259
%263 = OpConvertSToF %float %256 %264 = OpCompositeConstruct %v4float %260 %261 %262 %263
%264 = OpConvertSToF %float %258 OpStore %x_GLF_color %264
%265 = OpConvertSToF %float %260 %265 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%266 = OpConvertSToF %float %262 %266 = OpLoad %int %265
%267 = OpCompositeConstruct %v4float %263 %264 %265 %266 OpStore %i %266
OpStore %x_GLF_color %267 OpBranch %267
%268 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %267 = OpLabel
%269 = OpLoad %int %268 OpLoopMerge %268 %269 None
OpStore %i %269
OpBranch %270 OpBranch %270
%270 = OpLabel %270 = OpLabel
OpLoopMerge %271 %272 None %275 = OpLoad %int %i
OpBranch %273 %276 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%273 = OpLabel %277 = OpLoad %int %276
%278 = OpLoad %int %i %278 = OpSLessThan %bool %275 %277
%279 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1 OpSelectionMerge %279 None
%280 = OpLoad %int %279 OpBranchConditional %278 %280 %281
%281 = OpSLessThan %bool %278 %280 %280 = OpLabel
OpSelectionMerge %282 None OpBranch %279
OpBranchConditional %281 %283 %284 %281 = OpLabel
%283 = OpLabel OpBranch %268
OpBranch %282 %279 = OpLabel
%284 = OpLabel %282 = OpLoad %int %i
OpBranch %271 %283 = OpAccessChain %_ptr_Function_int %arr0 %282
%282 = OpLabel %284 = OpLoad %int %283
%285 = OpLoad %int %i %285 = OpLoad %int %i
%286 = OpAccessChain %_ptr_Function_int %arr0 %285 %286 = OpAccessChain %_ptr_Function_int %ref0 %285
%287 = OpLoad %int %286 %287 = OpLoad %int %286
%288 = OpLoad %int %i %288 = OpINotEqual %bool %284 %287
%289 = OpAccessChain %_ptr_Function_int %ref0 %288 OpStore %x_278_phi %288
%290 = OpLoad %int %289 %289 = OpLogicalNot %bool %288
%291 = OpINotEqual %bool %287 %290 OpSelectionMerge %290 None
OpStore %x_278_phi %291 OpBranchConditional %289 %291 %290
%292 = OpLogicalNot %bool %291 %291 = OpLabel
OpSelectionMerge %293 None %292 = OpLoad %int %i
OpBranchConditional %292 %294 %293 %293 = OpAccessChain %_ptr_Function_int %arr1 %292
%294 = OpLabel %294 = OpLoad %int %293
%295 = OpLoad %int %i %295 = OpLoad %int %i
%296 = OpAccessChain %_ptr_Function_int %arr1 %295 %296 = OpAccessChain %_ptr_Function_int %ref1 %295
%297 = OpLoad %int %296 %297 = OpLoad %int %296
%298 = OpLoad %int %i %298 = OpINotEqual %bool %294 %297
%299 = OpAccessChain %_ptr_Function_int %ref1 %298 OpStore %x_277 %298
%300 = OpLoad %int %299 %299 = OpLoad %bool %x_277
%301 = OpINotEqual %bool %297 %300 OpStore %x_278_phi %299
OpStore %x_277 %301 OpBranch %290
%302 = OpLoad %bool %x_277 %290 = OpLabel
OpStore %x_278_phi %302 %300 = OpLoad %bool %x_278_phi
OpBranch %293 OpSelectionMerge %301 None
%293 = OpLabel OpBranchConditional %300 %302 %301
%303 = OpLoad %bool %x_278_phi %302 = OpLabel
OpSelectionMerge %304 None %303 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
OpBranchConditional %303 %305 %304 %304 = OpLoad %int %303
%305 = OpLabel %305 = OpConvertSToF %float %304
%306 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %306 = OpCompositeConstruct %v4float %305 %305 %305 %305
%307 = OpLoad %int %306 OpStore %x_GLF_color %306
%308 = OpConvertSToF %float %307 OpBranch %301
%309 = OpCompositeConstruct %v4float %308 %308 %308 %308 %301 = OpLabel
OpStore %x_GLF_color %309 OpBranch %269
OpBranch %304 %269 = OpLabel
%304 = OpLabel %307 = OpLoad %int %i
OpBranch %272 %308 = OpIAdd %int %307 %int_1
%272 = OpLabel OpStore %i %308
%310 = OpLoad %int %i OpBranch %267
%311 = OpIAdd %int %310 %int_1 %268 = OpLabel
OpStore %i %311
OpBranch %270
%271 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %312 %tint_symbol_2 = OpFunction %void None %309
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%316 = OpLabel %313 = OpLabel
%317 = OpCompositeExtract %v4float %tint_symbol 0 %314 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %317 OpStore %tint_symbol_1 %314
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %18 %main = OpFunction %void None %18
%319 = OpLabel %316 = OpLabel
%320 = OpFunctionCall %void %main_1 %317 = OpFunctionCall %void %main_1
%322 = OpLoad %v4float %x_GLF_color %319 = OpLoad %v4float %x_GLF_color
%323 = OpCompositeConstruct %main_out %322 %320 = OpCompositeConstruct %main_out %319
%321 = OpFunctionCall %void %tint_symbol_2 %323 %318 = OpFunctionCall %void %tint_symbol_2 %320
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 179[%179] is not post dominated by the back-edge block 208[%208]
%208 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 324 ; Bound: 321
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -100,9 +98,9 @@ SKIP: FAILED
%int_19 = OpConstant %int 19 %int_19 = OpConstant %int 19
%bool = OpTypeBool %bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool %_ptr_Function_bool = OpTypePointer Function %bool
%276 = OpConstantNull %bool %273 = OpConstantNull %bool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%312 = OpTypeFunction %void %main_out %309 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18 %main_1 = OpFunction %void None %18
%21 = OpLabel %21 = OpLabel
%arr0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26 %arr0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
@ -117,8 +115,8 @@ SKIP: FAILED
%ref0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26 %ref0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
%ref1 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26 %ref1 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
%i = OpVariable %_ptr_Function_int Function %30 %i = OpVariable %_ptr_Function_int Function %30
%x_277 = OpVariable %_ptr_Function_bool Function %276 %x_277 = OpVariable %_ptr_Function_bool Function %273
%x_278_phi = OpVariable %_ptr_Function_bool Function %276 %x_278_phi = OpVariable %_ptr_Function_bool Function %273
%43 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %43 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%44 = OpLoad %int %43 %44 = OpLoad %int %43
%46 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2 %46 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
@ -332,158 +330,148 @@ SKIP: FAILED
%205 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %205 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%206 = OpLoad %int %205 %206 = OpLoad %int %205
%207 = OpIEqual %bool %204 %206 %207 = OpIEqual %bool %204 %206
OpSelectionMerge %208 None OpBranchConditional %207 %177 %178
OpBranchConditional %207 %209 %210
%209 = OpLabel
OpBranch %208
%210 = OpLabel
OpBranch %178
%208 = OpLabel
OpBranch %177
%178 = OpLabel %178 = OpLabel
OpBranch %108 OpBranch %108
%108 = OpLabel %108 = OpLabel
%211 = OpLoad %int %a %208 = OpLoad %int %a
%212 = OpIAdd %int %211 %int_1 %209 = OpIAdd %int %208 %int_1
OpStore %a %212 OpStore %a %209
OpBranch %106 OpBranch %106
%107 = OpLabel %107 = OpLabel
%213 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %210 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%214 = OpLoad %int %213 %211 = OpLoad %int %210
%215 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12 %212 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%216 = OpLoad %int %215 %213 = OpLoad %int %212
%217 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %214 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%218 = OpLoad %int %217 %215 = OpLoad %int %214
%219 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5 %216 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%220 = OpLoad %int %219 %217 = OpLoad %int %216
%221 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6 %218 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%222 = OpLoad %int %221 %219 = OpLoad %int %218
%223 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_7 %220 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_7
%224 = OpLoad %int %223 %221 = OpLoad %int %220
%225 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_8 %222 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_8
%226 = OpLoad %int %225 %223 = OpLoad %int %222
%227 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_9 %224 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_9
%228 = OpLoad %int %227 %225 = OpLoad %int %224
%229 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0 %226 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%230 = OpLoad %int %229 %227 = OpLoad %int %226
%231 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_10 %228 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_10
%229 = OpLoad %int %228
%230 = OpCompositeConstruct %_arr_int_uint_10 %211 %213 %215 %217 %219 %221 %223 %225 %227 %229
OpStore %ref0 %230
%231 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%232 = OpLoad %int %231 %232 = OpLoad %int %231
%233 = OpCompositeConstruct %_arr_int_uint_10 %214 %216 %218 %220 %222 %224 %226 %228 %230 %232 %233 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
OpStore %ref0 %233 %234 = OpLoad %int %233
%234 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %235 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%235 = OpLoad %int %234 %236 = OpLoad %int %235
%236 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12 %237 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%237 = OpLoad %int %236 %238 = OpLoad %int %237
%238 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %239 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%239 = OpLoad %int %238 %240 = OpLoad %int %239
%240 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5 %241 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_13
%241 = OpLoad %int %240 %242 = OpLoad %int %241
%242 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6 %243 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_14
%243 = OpLoad %int %242 %244 = OpLoad %int %243
%244 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_13 %245 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%245 = OpLoad %int %244 %246 = OpLoad %int %245
%246 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_14 %247 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_18
%247 = OpLoad %int %246 %248 = OpLoad %int %247
%248 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11 %249 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_19
%249 = OpLoad %int %248 %250 = OpLoad %int %249
%250 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_18 %251 = OpCompositeConstruct %_arr_int_uint_10 %232 %234 %236 %238 %240 %242 %244 %246 %248 %250
%251 = OpLoad %int %250 OpStore %ref1 %251
%252 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_19 %252 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%253 = OpLoad %int %252 %253 = OpLoad %int %252
%254 = OpCompositeConstruct %_arr_int_uint_10 %235 %237 %239 %241 %243 %245 %247 %249 %251 %253 %254 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
OpStore %ref1 %254 %255 = OpLoad %int %254
%255 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2 %256 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%256 = OpLoad %int %255 %257 = OpLoad %int %256
%257 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %258 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%258 = OpLoad %int %257 %259 = OpLoad %int %258
%259 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %260 = OpConvertSToF %float %253
%260 = OpLoad %int %259 %261 = OpConvertSToF %float %255
%261 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2 %262 = OpConvertSToF %float %257
%262 = OpLoad %int %261 %263 = OpConvertSToF %float %259
%263 = OpConvertSToF %float %256 %264 = OpCompositeConstruct %v4float %260 %261 %262 %263
%264 = OpConvertSToF %float %258 OpStore %x_GLF_color %264
%265 = OpConvertSToF %float %260 %265 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%266 = OpConvertSToF %float %262 %266 = OpLoad %int %265
%267 = OpCompositeConstruct %v4float %263 %264 %265 %266 OpStore %i %266
OpStore %x_GLF_color %267 OpBranch %267
%268 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %267 = OpLabel
%269 = OpLoad %int %268 OpLoopMerge %268 %269 None
OpStore %i %269
OpBranch %270 OpBranch %270
%270 = OpLabel %270 = OpLabel
OpLoopMerge %271 %272 None %275 = OpLoad %int %i
OpBranch %273 %276 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%273 = OpLabel %277 = OpLoad %int %276
%278 = OpLoad %int %i %278 = OpSLessThan %bool %275 %277
%279 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1 OpSelectionMerge %279 None
%280 = OpLoad %int %279 OpBranchConditional %278 %280 %281
%281 = OpSLessThan %bool %278 %280 %280 = OpLabel
OpSelectionMerge %282 None OpBranch %279
OpBranchConditional %281 %283 %284 %281 = OpLabel
%283 = OpLabel OpBranch %268
OpBranch %282 %279 = OpLabel
%284 = OpLabel %282 = OpLoad %int %i
OpBranch %271 %283 = OpAccessChain %_ptr_Function_int %arr0 %282
%282 = OpLabel %284 = OpLoad %int %283
%285 = OpLoad %int %i %285 = OpLoad %int %i
%286 = OpAccessChain %_ptr_Function_int %arr0 %285 %286 = OpAccessChain %_ptr_Function_int %ref0 %285
%287 = OpLoad %int %286 %287 = OpLoad %int %286
%288 = OpLoad %int %i %288 = OpINotEqual %bool %284 %287
%289 = OpAccessChain %_ptr_Function_int %ref0 %288 OpStore %x_278_phi %288
%290 = OpLoad %int %289 %289 = OpLogicalNot %bool %288
%291 = OpINotEqual %bool %287 %290 OpSelectionMerge %290 None
OpStore %x_278_phi %291 OpBranchConditional %289 %291 %290
%292 = OpLogicalNot %bool %291 %291 = OpLabel
OpSelectionMerge %293 None %292 = OpLoad %int %i
OpBranchConditional %292 %294 %293 %293 = OpAccessChain %_ptr_Function_int %arr1 %292
%294 = OpLabel %294 = OpLoad %int %293
%295 = OpLoad %int %i %295 = OpLoad %int %i
%296 = OpAccessChain %_ptr_Function_int %arr1 %295 %296 = OpAccessChain %_ptr_Function_int %ref1 %295
%297 = OpLoad %int %296 %297 = OpLoad %int %296
%298 = OpLoad %int %i %298 = OpINotEqual %bool %294 %297
%299 = OpAccessChain %_ptr_Function_int %ref1 %298 OpStore %x_277 %298
%300 = OpLoad %int %299 %299 = OpLoad %bool %x_277
%301 = OpINotEqual %bool %297 %300 OpStore %x_278_phi %299
OpStore %x_277 %301 OpBranch %290
%302 = OpLoad %bool %x_277 %290 = OpLabel
OpStore %x_278_phi %302 %300 = OpLoad %bool %x_278_phi
OpBranch %293 OpSelectionMerge %301 None
%293 = OpLabel OpBranchConditional %300 %302 %301
%303 = OpLoad %bool %x_278_phi %302 = OpLabel
OpSelectionMerge %304 None %303 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
OpBranchConditional %303 %305 %304 %304 = OpLoad %int %303
%305 = OpLabel %305 = OpConvertSToF %float %304
%306 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3 %306 = OpCompositeConstruct %v4float %305 %305 %305 %305
%307 = OpLoad %int %306 OpStore %x_GLF_color %306
%308 = OpConvertSToF %float %307 OpBranch %301
%309 = OpCompositeConstruct %v4float %308 %308 %308 %308 %301 = OpLabel
OpStore %x_GLF_color %309 OpBranch %269
OpBranch %304 %269 = OpLabel
%304 = OpLabel %307 = OpLoad %int %i
OpBranch %272 %308 = OpIAdd %int %307 %int_1
%272 = OpLabel OpStore %i %308
%310 = OpLoad %int %i OpBranch %267
%311 = OpIAdd %int %310 %int_1 %268 = OpLabel
OpStore %i %311
OpBranch %270
%271 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %312 %tint_symbol_2 = OpFunction %void None %309
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%316 = OpLabel %313 = OpLabel
%317 = OpCompositeExtract %v4float %tint_symbol 0 %314 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %317 OpStore %tint_symbol_1 %314
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %18 %main = OpFunction %void None %18
%319 = OpLabel %316 = OpLabel
%320 = OpFunctionCall %void %main_1 %317 = OpFunctionCall %void %main_1
%322 = OpLoad %v4float %x_GLF_color %319 = OpLoad %v4float %x_GLF_color
%323 = OpCompositeConstruct %main_out %322 %320 = OpCompositeConstruct %main_out %319
%321 = OpFunctionCall %void %tint_symbol_2 %323 %318 = OpFunctionCall %void %tint_symbol_2 %320
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 179[%179] is not post dominated by the back-edge block 208[%208]
%208 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 168 ; Bound: 162
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -62,7 +60,7 @@ SKIP: FAILED
%float_n1 = OpConstant %float -1 %float_n1 = OpConstant %float -1
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%155 = OpTypeFunction %void %main_out %149 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
%c = OpVariable %_ptr_Function_v4float Function %5 %c = OpVariable %_ptr_Function_v4float Function %5
@ -274,50 +272,33 @@ SKIP: FAILED
%140 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %140 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%141 = OpLoad %float %140 %141 = OpLoad %float %140
%143 = OpFOrdLessThan %bool %141 %float_n1 %143 = OpFOrdLessThan %bool %141 %float_n1
OpSelectionMerge %144 None OpBranchConditional %143 %37 %38
OpBranchConditional %143 %145 %146
%145 = OpLabel
OpBranch %144
%146 = OpLabel
OpBranch %38
%144 = OpLabel
OpBranch %37
%38 = OpLabel %38 = OpLabel
OpBranch %35 OpBranch %35
%35 = OpLabel %35 = OpLabel
%148 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %145 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%149 = OpLoad %float %148 %146 = OpLoad %float %145
%150 = OpFOrdLessThan %bool %149 %float_n1 %147 = OpFOrdLessThan %bool %146 %float_n1
OpSelectionMerge %151 None OpBranchConditional %147 %33 %34
OpBranchConditional %150 %152 %153
%152 = OpLabel
OpBranch %151
%153 = OpLabel
OpBranch %34
%151 = OpLabel
OpBranch %33
%34 = OpLabel %34 = OpLabel
%154 = OpLoad %v4float %c %148 = OpLoad %v4float %c
OpStore %x_GLF_color %154 OpStore %x_GLF_color %148
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %155 %tint_symbol_3 = OpFunction %void None %149
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%159 = OpLabel %153 = OpLabel
%160 = OpCompositeExtract %v4float %tint_symbol_1 0 %154 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %160 OpStore %tint_symbol_2 %154
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%162 = OpLabel %156 = OpLabel
%163 = OpLoad %v4float %tint_symbol %157 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %163 OpStore %gl_FragCoord %157
%164 = OpFunctionCall %void %main_1 %158 = OpFunctionCall %void %main_1
%166 = OpLoad %v4float %x_GLF_color %160 = OpLoad %v4float %x_GLF_color
%167 = OpCompositeConstruct %main_out %166 %161 = OpCompositeConstruct %main_out %160
%165 = OpFunctionCall %void %tint_symbol_3 %167 %159 = OpFunctionCall %void %tint_symbol_3 %161
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 35[%35] is not post dominated by the back-edge block 151[%151]
%151 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 168 ; Bound: 162
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -62,7 +60,7 @@ SKIP: FAILED
%float_n1 = OpConstant %float -1 %float_n1 = OpConstant %float -1
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%155 = OpTypeFunction %void %main_out %149 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
%c = OpVariable %_ptr_Function_v4float Function %5 %c = OpVariable %_ptr_Function_v4float Function %5
@ -274,50 +272,33 @@ SKIP: FAILED
%140 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %140 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%141 = OpLoad %float %140 %141 = OpLoad %float %140
%143 = OpFOrdLessThan %bool %141 %float_n1 %143 = OpFOrdLessThan %bool %141 %float_n1
OpSelectionMerge %144 None OpBranchConditional %143 %37 %38
OpBranchConditional %143 %145 %146
%145 = OpLabel
OpBranch %144
%146 = OpLabel
OpBranch %38
%144 = OpLabel
OpBranch %37
%38 = OpLabel %38 = OpLabel
OpBranch %35 OpBranch %35
%35 = OpLabel %35 = OpLabel
%148 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %145 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%149 = OpLoad %float %148 %146 = OpLoad %float %145
%150 = OpFOrdLessThan %bool %149 %float_n1 %147 = OpFOrdLessThan %bool %146 %float_n1
OpSelectionMerge %151 None OpBranchConditional %147 %33 %34
OpBranchConditional %150 %152 %153
%152 = OpLabel
OpBranch %151
%153 = OpLabel
OpBranch %34
%151 = OpLabel
OpBranch %33
%34 = OpLabel %34 = OpLabel
%154 = OpLoad %v4float %c %148 = OpLoad %v4float %c
OpStore %x_GLF_color %154 OpStore %x_GLF_color %148
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %155 %tint_symbol_3 = OpFunction %void None %149
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%159 = OpLabel %153 = OpLabel
%160 = OpCompositeExtract %v4float %tint_symbol_1 0 %154 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %160 OpStore %tint_symbol_2 %154
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%162 = OpLabel %156 = OpLabel
%163 = OpLoad %v4float %tint_symbol %157 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %163 OpStore %gl_FragCoord %157
%164 = OpFunctionCall %void %main_1 %158 = OpFunctionCall %void %main_1
%166 = OpLoad %v4float %x_GLF_color %160 = OpLoad %v4float %x_GLF_color
%167 = OpCompositeConstruct %main_out %166 %161 = OpCompositeConstruct %main_out %160
%165 = OpFunctionCall %void %tint_symbol_3 %167 %159 = OpFunctionCall %void %tint_symbol_3 %161
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 35[%35] is not post dominated by the back-edge block 151[%151]
%151 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 87 ; Bound: 84
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -64,7 +62,7 @@ SKIP: FAILED
%int_3 = OpConstant %int 3 %int_3 = OpConstant %int 3
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%75 = OpTypeFunction %void %main_out %72 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18 %main_1 = OpFunction %void None %18
%21 = OpLabel %21 = OpLabel
%25 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0 %25 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
@ -118,37 +116,27 @@ SKIP: FAILED
%65 = OpLabel %65 = OpLabel
OpReturn OpReturn
%41 = OpLabel %41 = OpLabel
OpSelectionMerge %68 None OpBranchConditional %false %39 %40
OpBranchConditional %false %69 %70
%69 = OpLabel
OpBranch %68
%70 = OpLabel
OpBranch %40
%68 = OpLabel
OpBranch %39
%40 = OpLabel %40 = OpLabel
%71 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1 %68 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
%72 = OpLoad %int %71 %69 = OpLoad %int %68
%73 = OpConvertSToF %float %72 %70 = OpConvertSToF %float %69
%74 = OpCompositeConstruct %v4float %73 %73 %73 %73 %71 = OpCompositeConstruct %v4float %70 %70 %70 %70
OpStore %x_GLF_color %74 OpStore %x_GLF_color %71
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %75 %tint_symbol_2 = OpFunction %void None %72
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%79 = OpLabel %76 = OpLabel
%80 = OpCompositeExtract %v4float %tint_symbol 0 %77 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %80 OpStore %tint_symbol_1 %77
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %18 %main = OpFunction %void None %18
%82 = OpLabel %79 = OpLabel
%83 = OpFunctionCall %void %main_1 %80 = OpFunctionCall %void %main_1
%85 = OpLoad %v4float %x_GLF_color %82 = OpLoad %v4float %x_GLF_color
%86 = OpCompositeConstruct %main_out %85 %83 = OpCompositeConstruct %main_out %82
%84 = OpFunctionCall %void %tint_symbol_2 %86 %81 = OpFunctionCall %void %tint_symbol_2 %83
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 41[%41] is not post dominated by the back-edge block 68[%68]
%68 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 87 ; Bound: 84
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -64,7 +62,7 @@ SKIP: FAILED
%int_3 = OpConstant %int 3 %int_3 = OpConstant %int 3
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%75 = OpTypeFunction %void %main_out %72 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18 %main_1 = OpFunction %void None %18
%21 = OpLabel %21 = OpLabel
%25 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0 %25 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
@ -118,37 +116,27 @@ SKIP: FAILED
%65 = OpLabel %65 = OpLabel
OpReturn OpReturn
%41 = OpLabel %41 = OpLabel
OpSelectionMerge %68 None OpBranchConditional %false %39 %40
OpBranchConditional %false %69 %70
%69 = OpLabel
OpBranch %68
%70 = OpLabel
OpBranch %40
%68 = OpLabel
OpBranch %39
%40 = OpLabel %40 = OpLabel
%71 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1 %68 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
%72 = OpLoad %int %71 %69 = OpLoad %int %68
%73 = OpConvertSToF %float %72 %70 = OpConvertSToF %float %69
%74 = OpCompositeConstruct %v4float %73 %73 %73 %73 %71 = OpCompositeConstruct %v4float %70 %70 %70 %70
OpStore %x_GLF_color %74 OpStore %x_GLF_color %71
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %75 %tint_symbol_2 = OpFunction %void None %72
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%79 = OpLabel %76 = OpLabel
%80 = OpCompositeExtract %v4float %tint_symbol 0 %77 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %80 OpStore %tint_symbol_1 %77
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %18 %main = OpFunction %void None %18
%82 = OpLabel %79 = OpLabel
%83 = OpFunctionCall %void %main_1 %80 = OpFunctionCall %void %main_1
%85 = OpLoad %v4float %x_GLF_color %82 = OpLoad %v4float %x_GLF_color
%86 = OpCompositeConstruct %main_out %85 %83 = OpCompositeConstruct %main_out %82
%84 = OpFunctionCall %void %tint_symbol_2 %86 %81 = OpFunctionCall %void %tint_symbol_2 %83
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 41[%41] is not post dominated by the back-edge block 68[%68]
%68 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 120 ; Bound: 117
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -63,7 +61,7 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%66 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %66 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%81 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %78 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%float_2 = OpConstant %float 2 %float_2 = OpConstant %float 2
@ -71,7 +69,7 @@ SKIP: FAILED
%uint_3 = OpConstant %uint 3 %uint_3 = OpConstant %uint 3
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%108 = OpTypeFunction %void %main_out %105 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
%f = OpVariable %_ptr_Function_float Function %17 %f = OpVariable %_ptr_Function_float Function %17
@ -135,65 +133,55 @@ SKIP: FAILED
%70 = OpBitwiseOr %int %68 %69 %70 = OpBitwiseOr %int %68 %69
%71 = OpBitwiseAnd %int %67 %70 %71 = OpBitwiseAnd %int %67 %70
%72 = OpIEqual %bool %71 %int_0 %72 = OpIEqual %bool %71 %int_0
OpSelectionMerge %73 None OpBranchConditional %72 %61 %62
OpBranchConditional %72 %74 %75
%74 = OpLabel
OpBranch %73
%75 = OpLabel
OpBranch %62
%73 = OpLabel
OpBranch %61
%62 = OpLabel %62 = OpLabel
%76 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %73 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0
%77 = OpLoad %float %76 %74 = OpLoad %float %73
%78 = OpFOrdEqual %bool %77 %float_1 %75 = OpFOrdEqual %bool %74 %float_1
OpSelectionMerge %79 None OpSelectionMerge %76 None
OpBranchConditional %78 %80 %79 OpBranchConditional %75 %77 %76
%80 = OpLabel %77 = OpLabel
OpStore %x_GLF_color %81 OpStore %x_GLF_color %78
OpBranch %79 OpBranch %76
%79 = OpLabel %76 = OpLabel
OpBranch %59 OpBranch %59
%59 = OpLabel %59 = OpLabel
%82 = OpAccessChain %_ptr_Function_float %v %uint_0 %79 = OpAccessChain %_ptr_Function_float %v %uint_0
%80 = OpLoad %float %79
%82 = OpAccessChain %_ptr_Function_float %v %uint_1
%83 = OpLoad %float %82 %83 = OpLoad %float %82
%85 = OpAccessChain %_ptr_Function_float %v %uint_1 %85 = OpAccessChain %_ptr_Function_float %v %uint_2
%86 = OpLoad %float %85 %86 = OpLoad %float %85
%88 = OpAccessChain %_ptr_Function_float %v %uint_2 %88 = OpFOrdEqual %bool %80 %float_1
%89 = OpLoad %float %88 %87 = OpSelect %float %88 %float_1 %float_0
%91 = OpFOrdEqual %bool %83 %float_1 %91 = OpFOrdEqual %bool %83 %float_2
%90 = OpSelect %float %91 %float_1 %float_0 %89 = OpSelect %float %91 %float_0 %float_1
%94 = OpFOrdEqual %bool %86 %float_2 %94 = OpFOrdEqual %bool %86 %float_3
%92 = OpSelect %float %94 %float_0 %float_1 %92 = OpSelect %float %94 %float_0 %float_1
%97 = OpFOrdEqual %bool %89 %float_3 %95 = OpCompositeConstruct %v3float %87 %89 %92
%95 = OpSelect %float %97 %float_0 %float_1 %96 = OpLoad %v4float %x_GLF_color
%98 = OpCompositeConstruct %v3float %90 %92 %95 %97 = OpCompositeExtract %float %95 0
%99 = OpLoad %v4float %x_GLF_color %98 = OpCompositeExtract %float %95 1
%100 = OpCompositeExtract %float %98 0 %99 = OpCompositeExtract %float %95 2
%101 = OpCompositeExtract %float %98 1 %100 = OpCompositeExtract %float %96 3
%102 = OpCompositeExtract %float %98 2 %101 = OpCompositeConstruct %v4float %97 %98 %99 %100
%103 = OpCompositeExtract %float %99 3 OpStore %x_GLF_color %101
%104 = OpCompositeConstruct %v4float %100 %101 %102 %103 %104 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_3
OpStore %x_GLF_color %104 OpStore %104 %float_1
%107 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_3
OpStore %107 %float_1
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %108 %tint_symbol_2 = OpFunction %void None %105
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%112 = OpLabel %109 = OpLabel
%113 = OpCompositeExtract %v4float %tint_symbol 0 %110 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %113 OpStore %tint_symbol_1 %110
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%115 = OpLabel %112 = OpLabel
%116 = OpFunctionCall %void %main_1 %113 = OpFunctionCall %void %main_1
%118 = OpLoad %v4float %x_GLF_color %115 = OpLoad %v4float %x_GLF_color
%119 = OpCompositeConstruct %main_out %118 %116 = OpCompositeConstruct %main_out %115
%117 = OpFunctionCall %void %tint_symbol_2 %119 %114 = OpFunctionCall %void %tint_symbol_2 %116
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 63[%63] is not post dominated by the back-edge block 73[%73]
%73 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 120 ; Bound: 117
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -63,7 +61,7 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%66 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %66 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%81 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %78 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%float_2 = OpConstant %float 2 %float_2 = OpConstant %float 2
@ -71,7 +69,7 @@ SKIP: FAILED
%uint_3 = OpConstant %uint 3 %uint_3 = OpConstant %uint 3
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%108 = OpTypeFunction %void %main_out %105 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
%f = OpVariable %_ptr_Function_float Function %17 %f = OpVariable %_ptr_Function_float Function %17
@ -135,65 +133,55 @@ SKIP: FAILED
%70 = OpBitwiseOr %int %68 %69 %70 = OpBitwiseOr %int %68 %69
%71 = OpBitwiseAnd %int %67 %70 %71 = OpBitwiseAnd %int %67 %70
%72 = OpIEqual %bool %71 %int_0 %72 = OpIEqual %bool %71 %int_0
OpSelectionMerge %73 None OpBranchConditional %72 %61 %62
OpBranchConditional %72 %74 %75
%74 = OpLabel
OpBranch %73
%75 = OpLabel
OpBranch %62
%73 = OpLabel
OpBranch %61
%62 = OpLabel %62 = OpLabel
%76 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %73 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0
%77 = OpLoad %float %76 %74 = OpLoad %float %73
%78 = OpFOrdEqual %bool %77 %float_1 %75 = OpFOrdEqual %bool %74 %float_1
OpSelectionMerge %79 None OpSelectionMerge %76 None
OpBranchConditional %78 %80 %79 OpBranchConditional %75 %77 %76
%80 = OpLabel %77 = OpLabel
OpStore %x_GLF_color %81 OpStore %x_GLF_color %78
OpBranch %79 OpBranch %76
%79 = OpLabel %76 = OpLabel
OpBranch %59 OpBranch %59
%59 = OpLabel %59 = OpLabel
%82 = OpAccessChain %_ptr_Function_float %v %uint_0 %79 = OpAccessChain %_ptr_Function_float %v %uint_0
%80 = OpLoad %float %79
%82 = OpAccessChain %_ptr_Function_float %v %uint_1
%83 = OpLoad %float %82 %83 = OpLoad %float %82
%85 = OpAccessChain %_ptr_Function_float %v %uint_1 %85 = OpAccessChain %_ptr_Function_float %v %uint_2
%86 = OpLoad %float %85 %86 = OpLoad %float %85
%88 = OpAccessChain %_ptr_Function_float %v %uint_2 %88 = OpFOrdEqual %bool %80 %float_1
%89 = OpLoad %float %88 %87 = OpSelect %float %88 %float_1 %float_0
%91 = OpFOrdEqual %bool %83 %float_1 %91 = OpFOrdEqual %bool %83 %float_2
%90 = OpSelect %float %91 %float_1 %float_0 %89 = OpSelect %float %91 %float_0 %float_1
%94 = OpFOrdEqual %bool %86 %float_2 %94 = OpFOrdEqual %bool %86 %float_3
%92 = OpSelect %float %94 %float_0 %float_1 %92 = OpSelect %float %94 %float_0 %float_1
%97 = OpFOrdEqual %bool %89 %float_3 %95 = OpCompositeConstruct %v3float %87 %89 %92
%95 = OpSelect %float %97 %float_0 %float_1 %96 = OpLoad %v4float %x_GLF_color
%98 = OpCompositeConstruct %v3float %90 %92 %95 %97 = OpCompositeExtract %float %95 0
%99 = OpLoad %v4float %x_GLF_color %98 = OpCompositeExtract %float %95 1
%100 = OpCompositeExtract %float %98 0 %99 = OpCompositeExtract %float %95 2
%101 = OpCompositeExtract %float %98 1 %100 = OpCompositeExtract %float %96 3
%102 = OpCompositeExtract %float %98 2 %101 = OpCompositeConstruct %v4float %97 %98 %99 %100
%103 = OpCompositeExtract %float %99 3 OpStore %x_GLF_color %101
%104 = OpCompositeConstruct %v4float %100 %101 %102 %103 %104 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_3
OpStore %x_GLF_color %104 OpStore %104 %float_1
%107 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_3
OpStore %107 %float_1
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %108 %tint_symbol_2 = OpFunction %void None %105
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%112 = OpLabel %109 = OpLabel
%113 = OpCompositeExtract %v4float %tint_symbol 0 %110 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %113 OpStore %tint_symbol_1 %110
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%115 = OpLabel %112 = OpLabel
%116 = OpFunctionCall %void %main_1 %113 = OpFunctionCall %void %main_1
%118 = OpLoad %v4float %x_GLF_color %115 = OpLoad %v4float %x_GLF_color
%119 = OpCompositeConstruct %main_out %118 %116 = OpCompositeConstruct %main_out %115
%117 = OpFunctionCall %void %tint_symbol_2 %119 %114 = OpFunctionCall %void %tint_symbol_2 %116
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 63[%63] is not post dominated by the back-edge block 73[%73]
%73 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 156 ; Bound: 147
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -56,11 +54,11 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%float_6 = OpConstant %float 6 %float_6 = OpConstant %float 6
%float_5 = OpConstant %float 5 %float_5 = OpConstant %float 5
%105 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %99 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%106 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %100 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%107 = OpTypeFunction %void %main_out %101 = OpTypeFunction %void %main_out
%119 = OpTypeFunction %float %_ptr_Function_float %113 = OpTypeFunction %float %_ptr_Function_float
%main_1 = OpFunction %void None %8 %main_1 = OpFunction %void None %8
%11 = OpLabel %11 = OpLabel
%x_29 = OpVariable %_ptr_Function_bool Function %16 %x_29 = OpVariable %_ptr_Function_bool Function %16
@ -118,191 +116,167 @@ SKIP: FAILED
%55 = OpLoad %float %x_35 %55 = OpLoad %float %x_35
%56 = OpLoad %float %param %56 = OpLoad %float %param
%57 = OpFOrdLessThan %bool %55 %56 %57 = OpFOrdLessThan %bool %55 %56
OpSelectionMerge %58 None OpBranchConditional %57 %41 %42
OpBranchConditional %57 %59 %60
%59 = OpLabel
OpBranch %58
%60 = OpLabel
OpBranch %42
%58 = OpLabel
OpBranch %41
%42 = OpLabel %42 = OpLabel
%61 = OpLoad %bool %x_33 %58 = OpLoad %bool %x_33
OpSelectionMerge %62 None OpSelectionMerge %59 None
OpBranchConditional %61 %63 %62 OpBranchConditional %58 %60 %59
%63 = OpLabel %60 = OpLabel
OpBranch %37 OpBranch %37
%62 = OpLabel %59 = OpLabel
OpStore %x_33 %true OpStore %x_33 %true
OpStore %x_34 %float_0 OpStore %x_34 %float_0
OpBranch %37 OpBranch %37
%38 = OpLabel %38 = OpLabel
OpBranch %36 OpBranch %36
%37 = OpLabel %37 = OpLabel
%64 = OpLoad %float %x_34 %61 = OpLoad %float %x_34
OpStore %x_36 %64 OpStore %x_36 %61
OpStore %f %64 OpStore %f %61
OpStore %param_1 %float_1 OpStore %param_1 %float_1
OpStore %x_29 %false OpStore %x_29 %false
OpBranch %62
%62 = OpLabel
OpLoopMerge %63 %64 None
OpBranch %65 OpBranch %65
%65 = OpLabel %65 = OpLabel
OpLoopMerge %66 %67 None %66 = OpLoad %float %param_1
OpBranch %68 OpStore %x_31 %66
%68 = OpLabel OpBranch %67
%69 = OpLoad %float %param_1 %67 = OpLabel
OpStore %x_31 %69 OpLoopMerge %68 %69 None
OpBranch %70 OpBranch %70
%70 = OpLabel %70 = OpLabel
OpLoopMerge %71 %72 None %71 = OpLoad %float %x_31
OpBranch %73 %72 = OpLoad %float %param_1
%73 = OpLabel %73 = OpFOrdEqual %bool %71 %72
%74 = OpLoad %float %x_31 OpSelectionMerge %74 None
%75 = OpLoad %float %param_1 OpBranchConditional %73 %75 %74
%76 = OpFOrdEqual %bool %74 %75 %75 = OpLabel
OpSelectionMerge %77 None %76 = OpLoad %float %x_31
OpBranchConditional %76 %78 %77
%78 = OpLabel
%79 = OpLoad %float %x_31
OpStore %x_29 %true OpStore %x_29 %true
OpStore %x_30 %79 OpStore %x_30 %76
OpBranch %71 OpBranch %68
%77 = OpLabel %74 = OpLabel
%80 = OpLoad %float %x_31 %77 = OpLoad %float %x_31
%81 = OpFAdd %float %80 %float_1 %78 = OpFAdd %float %77 %float_1
OpStore %x_31 %81 OpStore %x_31 %78
OpBranch %72 OpBranch %69
%72 = OpLabel %69 = OpLabel
%82 = OpLoad %float %x_31 %79 = OpLoad %float %x_31
%83 = OpLoad %float %param_1 %80 = OpLoad %float %param_1
%84 = OpFOrdLessThan %bool %82 %83 %81 = OpFOrdLessThan %bool %79 %80
OpSelectionMerge %85 None OpBranchConditional %81 %67 %68
OpBranchConditional %84 %86 %87 %68 = OpLabel
%86 = OpLabel %82 = OpLoad %bool %x_29
OpBranch %85 OpSelectionMerge %83 None
%87 = OpLabel OpBranchConditional %82 %84 %83
OpBranch %71 %84 = OpLabel
%85 = OpLabel OpBranch %63
OpBranch %70 %83 = OpLabel
%71 = OpLabel
%88 = OpLoad %bool %x_29
OpSelectionMerge %89 None
OpBranchConditional %88 %90 %89
%90 = OpLabel
OpBranch %66
%89 = OpLabel
OpStore %x_29 %true OpStore %x_29 %true
OpStore %x_30 %float_0 OpStore %x_30 %float_0
OpBranch %66 OpBranch %63
%67 = OpLabel %64 = OpLabel
OpBranch %65 OpBranch %62
%66 = OpLabel %63 = OpLabel
%91 = OpLoad %float %x_30 %85 = OpLoad %float %x_30
OpStore %x_32 %91 OpStore %x_32 %85
%92 = OpLoad %float %i %86 = OpLoad %float %i
%93 = OpFAdd %float %92 %91 %87 = OpFAdd %float %86 %85
OpStore %i %93 OpStore %i %87
%95 = OpFOrdLessThan %bool %93 %float_6 %89 = OpFOrdLessThan %bool %87 %float_6
OpSelectionMerge %96 None OpSelectionMerge %90 None
OpBranchConditional %95 %97 %98 OpBranchConditional %89 %91 %92
%97 = OpLabel %91 = OpLabel
OpBranch %96 OpBranch %90
%98 = OpLabel %92 = OpLabel
OpBranch %32 OpBranch %32
%96 = OpLabel %90 = OpLabel
OpBranch %33 OpBranch %33
%33 = OpLabel %33 = OpLabel
OpBranch %31 OpBranch %31
%32 = OpLabel %32 = OpLabel
%99 = OpLoad %float %f %93 = OpLoad %float %f
%101 = OpFOrdEqual %bool %99 %float_5 %95 = OpFOrdEqual %bool %93 %float_5
OpSelectionMerge %102 None OpSelectionMerge %96 None
OpBranchConditional %101 %103 %104 OpBranchConditional %95 %97 %98
%103 = OpLabel %97 = OpLabel
OpStore %x_GLF_color %105 OpStore %x_GLF_color %99
OpBranch %102 OpBranch %96
%104 = OpLabel %98 = OpLabel
OpStore %x_GLF_color %106 OpStore %x_GLF_color %100
OpBranch %102 OpBranch %96
%102 = OpLabel %96 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %107 %tint_symbol_2 = OpFunction %void None %101
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%111 = OpLabel %105 = OpLabel
%112 = OpCompositeExtract %v4float %tint_symbol 0 %106 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %112 OpStore %tint_symbol_1 %106
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %8 %main = OpFunction %void None %8
%114 = OpLabel %108 = OpLabel
%115 = OpFunctionCall %void %main_1 %109 = OpFunctionCall %void %main_1
%117 = OpLoad %v4float %x_GLF_color %111 = OpLoad %v4float %x_GLF_color
%118 = OpCompositeConstruct %main_out %117 %112 = OpCompositeConstruct %main_out %111
%116 = OpFunctionCall %void %tint_symbol_2 %118 %110 = OpFunctionCall %void %tint_symbol_2 %112
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%func_f1_ = OpFunction %float None %119 %func_f1_ = OpFunction %float None %113
%x = OpFunctionParameter %_ptr_Function_float %x = OpFunctionParameter %_ptr_Function_float
%122 = OpLabel %116 = OpLabel
%x_93 = OpVariable %_ptr_Function_bool Function %16 %x_93 = OpVariable %_ptr_Function_bool Function %16
%x_94 = OpVariable %_ptr_Function_float Function %19 %x_94 = OpVariable %_ptr_Function_float Function %19
%a = OpVariable %_ptr_Function_float Function %19 %a = OpVariable %_ptr_Function_float Function %19
OpStore %x_93 %false OpStore %x_93 %false
OpBranch %120
%120 = OpLabel
OpLoopMerge %121 %122 None
OpBranch %123
%123 = OpLabel
%125 = OpLoad %float %x
OpStore %a %125
OpBranch %126 OpBranch %126
%126 = OpLabel %126 = OpLabel
OpLoopMerge %127 %128 None OpLoopMerge %127 %128 None
OpBranch %129 OpBranch %129
%129 = OpLabel %129 = OpLabel
%131 = OpLoad %float %x %130 = OpLoad %float %a
OpStore %a %131 %132 = OpLoad %float %x
OpBranch %132 %133 = OpFOrdEqual %bool %130 %132
%132 = OpLabel OpSelectionMerge %134 None
OpLoopMerge %133 %134 None OpBranchConditional %133 %135 %134
OpBranch %135
%135 = OpLabel %135 = OpLabel
%136 = OpLoad %float %a %136 = OpLoad %float %a
%138 = OpLoad %float %x
%139 = OpFOrdEqual %bool %136 %138
OpSelectionMerge %140 None
OpBranchConditional %139 %141 %140
%141 = OpLabel
%142 = OpLoad %float %a
OpStore %x_93 %true OpStore %x_93 %true
OpStore %x_94 %142 OpStore %x_94 %136
OpBranch %133
%140 = OpLabel
%143 = OpLoad %float %a
%144 = OpFAdd %float %143 %float_1
OpStore %a %144
OpBranch %134
%134 = OpLabel
%145 = OpLoad %float %a
%147 = OpLoad %float %x
%148 = OpFOrdLessThan %bool %145 %147
OpSelectionMerge %149 None
OpBranchConditional %148 %150 %151
%150 = OpLabel
OpBranch %149
%151 = OpLabel
OpBranch %133
%149 = OpLabel
OpBranch %132
%133 = OpLabel
%152 = OpLoad %bool %x_93
OpSelectionMerge %153 None
OpBranchConditional %152 %154 %153
%154 = OpLabel
OpBranch %127 OpBranch %127
%153 = OpLabel %134 = OpLabel
%137 = OpLoad %float %a
%138 = OpFAdd %float %137 %float_1
OpStore %a %138
OpBranch %128
%128 = OpLabel
%139 = OpLoad %float %a
%141 = OpLoad %float %x
%142 = OpFOrdLessThan %bool %139 %141
OpBranchConditional %142 %126 %127
%127 = OpLabel
%143 = OpLoad %bool %x_93
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %144
%145 = OpLabel
OpBranch %121
%144 = OpLabel
OpStore %x_93 %true OpStore %x_93 %true
OpStore %x_94 %float_0 OpStore %x_94 %float_0
OpBranch %127 OpBranch %121
%128 = OpLabel %122 = OpLabel
OpBranch %126 OpBranch %120
%127 = OpLabel %121 = OpLabel
%155 = OpLoad %float %x_94 %146 = OpLoad %float %x_94
OpReturnValue %155 OpReturnValue %146
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 43[%43] is not post dominated by the back-edge block 58[%58]
%58 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 156 ; Bound: 147
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -56,11 +54,11 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%float_6 = OpConstant %float 6 %float_6 = OpConstant %float 6
%float_5 = OpConstant %float 5 %float_5 = OpConstant %float 5
%105 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %99 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%106 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %100 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%107 = OpTypeFunction %void %main_out %101 = OpTypeFunction %void %main_out
%119 = OpTypeFunction %float %_ptr_Function_float %113 = OpTypeFunction %float %_ptr_Function_float
%main_1 = OpFunction %void None %8 %main_1 = OpFunction %void None %8
%11 = OpLabel %11 = OpLabel
%x_29 = OpVariable %_ptr_Function_bool Function %16 %x_29 = OpVariable %_ptr_Function_bool Function %16
@ -118,191 +116,167 @@ SKIP: FAILED
%55 = OpLoad %float %x_35 %55 = OpLoad %float %x_35
%56 = OpLoad %float %param %56 = OpLoad %float %param
%57 = OpFOrdLessThan %bool %55 %56 %57 = OpFOrdLessThan %bool %55 %56
OpSelectionMerge %58 None OpBranchConditional %57 %41 %42
OpBranchConditional %57 %59 %60
%59 = OpLabel
OpBranch %58
%60 = OpLabel
OpBranch %42
%58 = OpLabel
OpBranch %41
%42 = OpLabel %42 = OpLabel
%61 = OpLoad %bool %x_33 %58 = OpLoad %bool %x_33
OpSelectionMerge %62 None OpSelectionMerge %59 None
OpBranchConditional %61 %63 %62 OpBranchConditional %58 %60 %59
%63 = OpLabel %60 = OpLabel
OpBranch %37 OpBranch %37
%62 = OpLabel %59 = OpLabel
OpStore %x_33 %true OpStore %x_33 %true
OpStore %x_34 %float_0 OpStore %x_34 %float_0
OpBranch %37 OpBranch %37
%38 = OpLabel %38 = OpLabel
OpBranch %36 OpBranch %36
%37 = OpLabel %37 = OpLabel
%64 = OpLoad %float %x_34 %61 = OpLoad %float %x_34
OpStore %x_36 %64 OpStore %x_36 %61
OpStore %f %64 OpStore %f %61
OpStore %param_1 %float_1 OpStore %param_1 %float_1
OpStore %x_29 %false OpStore %x_29 %false
OpBranch %62
%62 = OpLabel
OpLoopMerge %63 %64 None
OpBranch %65 OpBranch %65
%65 = OpLabel %65 = OpLabel
OpLoopMerge %66 %67 None %66 = OpLoad %float %param_1
OpBranch %68 OpStore %x_31 %66
%68 = OpLabel OpBranch %67
%69 = OpLoad %float %param_1 %67 = OpLabel
OpStore %x_31 %69 OpLoopMerge %68 %69 None
OpBranch %70 OpBranch %70
%70 = OpLabel %70 = OpLabel
OpLoopMerge %71 %72 None %71 = OpLoad %float %x_31
OpBranch %73 %72 = OpLoad %float %param_1
%73 = OpLabel %73 = OpFOrdEqual %bool %71 %72
%74 = OpLoad %float %x_31 OpSelectionMerge %74 None
%75 = OpLoad %float %param_1 OpBranchConditional %73 %75 %74
%76 = OpFOrdEqual %bool %74 %75 %75 = OpLabel
OpSelectionMerge %77 None %76 = OpLoad %float %x_31
OpBranchConditional %76 %78 %77
%78 = OpLabel
%79 = OpLoad %float %x_31
OpStore %x_29 %true OpStore %x_29 %true
OpStore %x_30 %79 OpStore %x_30 %76
OpBranch %71 OpBranch %68
%77 = OpLabel %74 = OpLabel
%80 = OpLoad %float %x_31 %77 = OpLoad %float %x_31
%81 = OpFAdd %float %80 %float_1 %78 = OpFAdd %float %77 %float_1
OpStore %x_31 %81 OpStore %x_31 %78
OpBranch %72 OpBranch %69
%72 = OpLabel %69 = OpLabel
%82 = OpLoad %float %x_31 %79 = OpLoad %float %x_31
%83 = OpLoad %float %param_1 %80 = OpLoad %float %param_1
%84 = OpFOrdLessThan %bool %82 %83 %81 = OpFOrdLessThan %bool %79 %80
OpSelectionMerge %85 None OpBranchConditional %81 %67 %68
OpBranchConditional %84 %86 %87 %68 = OpLabel
%86 = OpLabel %82 = OpLoad %bool %x_29
OpBranch %85 OpSelectionMerge %83 None
%87 = OpLabel OpBranchConditional %82 %84 %83
OpBranch %71 %84 = OpLabel
%85 = OpLabel OpBranch %63
OpBranch %70 %83 = OpLabel
%71 = OpLabel
%88 = OpLoad %bool %x_29
OpSelectionMerge %89 None
OpBranchConditional %88 %90 %89
%90 = OpLabel
OpBranch %66
%89 = OpLabel
OpStore %x_29 %true OpStore %x_29 %true
OpStore %x_30 %float_0 OpStore %x_30 %float_0
OpBranch %66 OpBranch %63
%67 = OpLabel %64 = OpLabel
OpBranch %65 OpBranch %62
%66 = OpLabel %63 = OpLabel
%91 = OpLoad %float %x_30 %85 = OpLoad %float %x_30
OpStore %x_32 %91 OpStore %x_32 %85
%92 = OpLoad %float %i %86 = OpLoad %float %i
%93 = OpFAdd %float %92 %91 %87 = OpFAdd %float %86 %85
OpStore %i %93 OpStore %i %87
%95 = OpFOrdLessThan %bool %93 %float_6 %89 = OpFOrdLessThan %bool %87 %float_6
OpSelectionMerge %96 None OpSelectionMerge %90 None
OpBranchConditional %95 %97 %98 OpBranchConditional %89 %91 %92
%97 = OpLabel %91 = OpLabel
OpBranch %96 OpBranch %90
%98 = OpLabel %92 = OpLabel
OpBranch %32 OpBranch %32
%96 = OpLabel %90 = OpLabel
OpBranch %33 OpBranch %33
%33 = OpLabel %33 = OpLabel
OpBranch %31 OpBranch %31
%32 = OpLabel %32 = OpLabel
%99 = OpLoad %float %f %93 = OpLoad %float %f
%101 = OpFOrdEqual %bool %99 %float_5 %95 = OpFOrdEqual %bool %93 %float_5
OpSelectionMerge %102 None OpSelectionMerge %96 None
OpBranchConditional %101 %103 %104 OpBranchConditional %95 %97 %98
%103 = OpLabel %97 = OpLabel
OpStore %x_GLF_color %105 OpStore %x_GLF_color %99
OpBranch %102 OpBranch %96
%104 = OpLabel %98 = OpLabel
OpStore %x_GLF_color %106 OpStore %x_GLF_color %100
OpBranch %102 OpBranch %96
%102 = OpLabel %96 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %107 %tint_symbol_2 = OpFunction %void None %101
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%111 = OpLabel %105 = OpLabel
%112 = OpCompositeExtract %v4float %tint_symbol 0 %106 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %112 OpStore %tint_symbol_1 %106
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %8 %main = OpFunction %void None %8
%114 = OpLabel %108 = OpLabel
%115 = OpFunctionCall %void %main_1 %109 = OpFunctionCall %void %main_1
%117 = OpLoad %v4float %x_GLF_color %111 = OpLoad %v4float %x_GLF_color
%118 = OpCompositeConstruct %main_out %117 %112 = OpCompositeConstruct %main_out %111
%116 = OpFunctionCall %void %tint_symbol_2 %118 %110 = OpFunctionCall %void %tint_symbol_2 %112
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%func_f1_ = OpFunction %float None %119 %func_f1_ = OpFunction %float None %113
%x = OpFunctionParameter %_ptr_Function_float %x = OpFunctionParameter %_ptr_Function_float
%122 = OpLabel %116 = OpLabel
%x_93 = OpVariable %_ptr_Function_bool Function %16 %x_93 = OpVariable %_ptr_Function_bool Function %16
%x_94 = OpVariable %_ptr_Function_float Function %19 %x_94 = OpVariable %_ptr_Function_float Function %19
%a = OpVariable %_ptr_Function_float Function %19 %a = OpVariable %_ptr_Function_float Function %19
OpStore %x_93 %false OpStore %x_93 %false
OpBranch %120
%120 = OpLabel
OpLoopMerge %121 %122 None
OpBranch %123
%123 = OpLabel
%125 = OpLoad %float %x
OpStore %a %125
OpBranch %126 OpBranch %126
%126 = OpLabel %126 = OpLabel
OpLoopMerge %127 %128 None OpLoopMerge %127 %128 None
OpBranch %129 OpBranch %129
%129 = OpLabel %129 = OpLabel
%131 = OpLoad %float %x %130 = OpLoad %float %a
OpStore %a %131 %132 = OpLoad %float %x
OpBranch %132 %133 = OpFOrdEqual %bool %130 %132
%132 = OpLabel OpSelectionMerge %134 None
OpLoopMerge %133 %134 None OpBranchConditional %133 %135 %134
OpBranch %135
%135 = OpLabel %135 = OpLabel
%136 = OpLoad %float %a %136 = OpLoad %float %a
%138 = OpLoad %float %x
%139 = OpFOrdEqual %bool %136 %138
OpSelectionMerge %140 None
OpBranchConditional %139 %141 %140
%141 = OpLabel
%142 = OpLoad %float %a
OpStore %x_93 %true OpStore %x_93 %true
OpStore %x_94 %142 OpStore %x_94 %136
OpBranch %133
%140 = OpLabel
%143 = OpLoad %float %a
%144 = OpFAdd %float %143 %float_1
OpStore %a %144
OpBranch %134
%134 = OpLabel
%145 = OpLoad %float %a
%147 = OpLoad %float %x
%148 = OpFOrdLessThan %bool %145 %147
OpSelectionMerge %149 None
OpBranchConditional %148 %150 %151
%150 = OpLabel
OpBranch %149
%151 = OpLabel
OpBranch %133
%149 = OpLabel
OpBranch %132
%133 = OpLabel
%152 = OpLoad %bool %x_93
OpSelectionMerge %153 None
OpBranchConditional %152 %154 %153
%154 = OpLabel
OpBranch %127 OpBranch %127
%153 = OpLabel %134 = OpLabel
%137 = OpLoad %float %a
%138 = OpFAdd %float %137 %float_1
OpStore %a %138
OpBranch %128
%128 = OpLabel
%139 = OpLoad %float %a
%141 = OpLoad %float %x
%142 = OpFOrdLessThan %bool %139 %141
OpBranchConditional %142 %126 %127
%127 = OpLabel
%143 = OpLoad %bool %x_93
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %144
%145 = OpLabel
OpBranch %121
%144 = OpLabel
OpStore %x_93 %true OpStore %x_93 %true
OpStore %x_94 %float_0 OpStore %x_94 %float_0
OpBranch %127 OpBranch %121
%128 = OpLabel %122 = OpLabel
OpBranch %126 OpBranch %120
%127 = OpLabel %121 = OpLabel
%155 = OpLoad %float %x_94 %146 = OpLoad %float %x_94
OpReturnValue %155 OpReturnValue %146
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 43[%43] is not post dominated by the back-edge block 58[%58]
%58 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 91 ; Bound: 88
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -55,9 +53,9 @@ SKIP: FAILED
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%int_2 = OpConstant %int 2 %int_2 = OpConstant %int 2
%void = OpTypeVoid %void = OpTypeVoid
%51 = OpTypeFunction %void %48 = OpTypeFunction %void
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%79 = OpTypeFunction %void %main_out %76 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %15 %func_ = OpFunction %int None %15
%17 = OpLabel %17 = OpLabel
%i = OpVariable %_ptr_Function_int Function %20 %i = OpVariable %_ptr_Function_int Function %20
@ -90,68 +88,58 @@ SKIP: FAILED
%43 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %43 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%44 = OpLoad %int %43 %44 = OpLoad %int %43
%45 = OpSLessThan %bool %42 %44 %45 = OpSLessThan %bool %42 %44
OpSelectionMerge %46 None OpBranchConditional %45 %26 %27
OpBranchConditional %45 %47 %48
%47 = OpLabel
OpBranch %46
%48 = OpLabel
OpBranch %27
%46 = OpLabel
OpBranch %26
%27 = OpLabel %27 = OpLabel
%49 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %46 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%50 = OpLoad %int %49 %47 = OpLoad %int %46
OpReturnValue %50 OpReturnValue %47
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %51 %main_1 = OpFunction %void None %48
%54 = OpLabel %51 = OpLabel
%55 = OpFunctionCall %int %func_ %52 = OpFunctionCall %int %func_
%56 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %53 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%57 = OpLoad %int %56 %54 = OpLoad %int %53
%58 = OpIEqual %bool %55 %57 %55 = OpIEqual %bool %52 %54
OpSelectionMerge %59 None OpSelectionMerge %56 None
OpBranchConditional %58 %60 %61 OpBranchConditional %55 %57 %58
%60 = OpLabel %57 = OpLabel
%62 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %59 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%63 = OpLoad %int %62 %60 = OpLoad %int %59
%64 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %61 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%65 = OpLoad %int %64 %62 = OpLoad %int %61
%66 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %63 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%67 = OpLoad %int %66 %64 = OpLoad %int %63
%68 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %65 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%69 = OpLoad %int %68 %66 = OpLoad %int %65
%70 = OpConvertSToF %float %63 %67 = OpConvertSToF %float %60
%71 = OpConvertSToF %float %65 %68 = OpConvertSToF %float %62
%72 = OpConvertSToF %float %67 %69 = OpConvertSToF %float %64
%73 = OpConvertSToF %float %69 %70 = OpConvertSToF %float %66
%74 = OpCompositeConstruct %v4float %70 %71 %72 %73 %71 = OpCompositeConstruct %v4float %67 %68 %69 %70
OpStore %x_GLF_color %74 OpStore %x_GLF_color %71
OpBranch %59 OpBranch %56
%61 = OpLabel %58 = OpLabel
%75 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %72 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%76 = OpLoad %int %75 %73 = OpLoad %int %72
%77 = OpConvertSToF %float %76 %74 = OpConvertSToF %float %73
%78 = OpCompositeConstruct %v4float %77 %77 %77 %77 %75 = OpCompositeConstruct %v4float %74 %74 %74 %74
OpStore %x_GLF_color %78 OpStore %x_GLF_color %75
OpBranch %59 OpBranch %56
%59 = OpLabel %56 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %79 %tint_symbol_2 = OpFunction %void None %76
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%80 = OpLabel
%81 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %81
OpReturn
OpFunctionEnd
%main = OpFunction %void None %48
%83 = OpLabel %83 = OpLabel
%84 = OpCompositeExtract %v4float %tint_symbol 0 %84 = OpFunctionCall %void %main_1
OpStore %tint_symbol_1 %84 %86 = OpLoad %v4float %x_GLF_color
%87 = OpCompositeConstruct %main_out %86
%85 = OpFunctionCall %void %tint_symbol_2 %87
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %51
%86 = OpLabel
%87 = OpFunctionCall %void %main_1
%89 = OpLoad %v4float %x_GLF_color
%90 = OpCompositeConstruct %main_out %89
%88 = OpFunctionCall %void %tint_symbol_2 %90
OpReturn
OpFunctionEnd
1:1: The continue construct with the continue target 28[%28] is not post dominated by the back-edge block 46[%46]
%46 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 91 ; Bound: 88
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -55,9 +53,9 @@ SKIP: FAILED
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%int_2 = OpConstant %int 2 %int_2 = OpConstant %int 2
%void = OpTypeVoid %void = OpTypeVoid
%51 = OpTypeFunction %void %48 = OpTypeFunction %void
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%79 = OpTypeFunction %void %main_out %76 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %15 %func_ = OpFunction %int None %15
%17 = OpLabel %17 = OpLabel
%i = OpVariable %_ptr_Function_int Function %20 %i = OpVariable %_ptr_Function_int Function %20
@ -90,68 +88,58 @@ SKIP: FAILED
%43 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %43 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%44 = OpLoad %int %43 %44 = OpLoad %int %43
%45 = OpSLessThan %bool %42 %44 %45 = OpSLessThan %bool %42 %44
OpSelectionMerge %46 None OpBranchConditional %45 %26 %27
OpBranchConditional %45 %47 %48
%47 = OpLabel
OpBranch %46
%48 = OpLabel
OpBranch %27
%46 = OpLabel
OpBranch %26
%27 = OpLabel %27 = OpLabel
%49 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %46 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%50 = OpLoad %int %49 %47 = OpLoad %int %46
OpReturnValue %50 OpReturnValue %47
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %51 %main_1 = OpFunction %void None %48
%54 = OpLabel %51 = OpLabel
%55 = OpFunctionCall %int %func_ %52 = OpFunctionCall %int %func_
%56 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %53 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%57 = OpLoad %int %56 %54 = OpLoad %int %53
%58 = OpIEqual %bool %55 %57 %55 = OpIEqual %bool %52 %54
OpSelectionMerge %59 None OpSelectionMerge %56 None
OpBranchConditional %58 %60 %61 OpBranchConditional %55 %57 %58
%60 = OpLabel %57 = OpLabel
%62 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %59 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%63 = OpLoad %int %62 %60 = OpLoad %int %59
%64 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %61 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%65 = OpLoad %int %64 %62 = OpLoad %int %61
%66 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %63 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%67 = OpLoad %int %66 %64 = OpLoad %int %63
%68 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %65 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%69 = OpLoad %int %68 %66 = OpLoad %int %65
%70 = OpConvertSToF %float %63 %67 = OpConvertSToF %float %60
%71 = OpConvertSToF %float %65 %68 = OpConvertSToF %float %62
%72 = OpConvertSToF %float %67 %69 = OpConvertSToF %float %64
%73 = OpConvertSToF %float %69 %70 = OpConvertSToF %float %66
%74 = OpCompositeConstruct %v4float %70 %71 %72 %73 %71 = OpCompositeConstruct %v4float %67 %68 %69 %70
OpStore %x_GLF_color %74 OpStore %x_GLF_color %71
OpBranch %59 OpBranch %56
%61 = OpLabel %58 = OpLabel
%75 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %72 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%76 = OpLoad %int %75 %73 = OpLoad %int %72
%77 = OpConvertSToF %float %76 %74 = OpConvertSToF %float %73
%78 = OpCompositeConstruct %v4float %77 %77 %77 %77 %75 = OpCompositeConstruct %v4float %74 %74 %74 %74
OpStore %x_GLF_color %78 OpStore %x_GLF_color %75
OpBranch %59 OpBranch %56
%59 = OpLabel %56 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %79 %tint_symbol_2 = OpFunction %void None %76
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%80 = OpLabel
%81 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %81
OpReturn
OpFunctionEnd
%main = OpFunction %void None %48
%83 = OpLabel %83 = OpLabel
%84 = OpCompositeExtract %v4float %tint_symbol 0 %84 = OpFunctionCall %void %main_1
OpStore %tint_symbol_1 %84 %86 = OpLoad %v4float %x_GLF_color
%87 = OpCompositeConstruct %main_out %86
%85 = OpFunctionCall %void %tint_symbol_2 %87
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %51
%86 = OpLabel
%87 = OpFunctionCall %void %main_1
%89 = OpLoad %v4float %x_GLF_color
%90 = OpCompositeConstruct %main_out %89
%88 = OpFunctionCall %void %tint_symbol_2 %90
OpReturn
OpFunctionEnd
1:1: The continue construct with the continue target 28[%28] is not post dominated by the back-edge block 46[%46]
%46 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 64 ; Bound: 59
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -48,10 +46,10 @@ SKIP: FAILED
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%int_3 = OpConstant %int 3 %int_3 = OpConstant %int 3
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%49 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %44 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%50 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %45 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%51 = OpTypeFunction %void %main_out %46 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
%i = OpVariable %_ptr_Function_int Function %18 %i = OpVariable %_ptr_Function_int Function %18
@ -69,51 +67,36 @@ SKIP: FAILED
%30 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %30 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%31 = OpLoad %float %30 %31 = OpLoad %float %30
%33 = OpFOrdGreaterThanEqual %bool %31 %float_0 %33 = OpFOrdGreaterThanEqual %bool %31 %float_0
OpSelectionMerge %35 None %36 = OpLogicalAnd %bool %33 %false
OpBranchConditional %33 %36 %35 OpBranchConditional %36 %20 %21
%36 = OpLabel
OpBranch %35
%35 = OpLabel
%38 = OpPhi %bool %33 %22 %false %36
OpSelectionMerge %39 None
OpBranchConditional %38 %40 %41
%40 = OpLabel
OpBranch %39
%41 = OpLabel
OpBranch %21
%39 = OpLabel
OpBranch %20
%21 = OpLabel %21 = OpLabel
%42 = OpLoad %int %i %37 = OpLoad %int %i
%44 = OpIEqual %bool %42 %int_3 %39 = OpIEqual %bool %37 %int_3
OpSelectionMerge %45 None OpSelectionMerge %40 None
OpBranchConditional %44 %46 %47 OpBranchConditional %39 %41 %42
%46 = OpLabel %41 = OpLabel
OpStore %x_GLF_color %49 OpStore %x_GLF_color %44
OpBranch %45 OpBranch %40
%47 = OpLabel %42 = OpLabel
OpStore %x_GLF_color %50 OpStore %x_GLF_color %45
OpBranch %45 OpBranch %40
%45 = OpLabel %40 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %51 %tint_symbol_3 = OpFunction %void None %46
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%55 = OpLabel %50 = OpLabel
%56 = OpCompositeExtract %v4float %tint_symbol_1 0 %51 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %56 OpStore %tint_symbol_2 %51
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%58 = OpLabel %53 = OpLabel
%59 = OpLoad %v4float %tint_symbol %54 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %59 OpStore %gl_FragCoord %54
%60 = OpFunctionCall %void %main_1 %55 = OpFunctionCall %void %main_1
%62 = OpLoad %v4float %x_GLF_color %57 = OpLoad %v4float %x_GLF_color
%63 = OpCompositeConstruct %main_out %62 %58 = OpCompositeConstruct %main_out %57
%61 = OpFunctionCall %void %tint_symbol_3 %63 %56 = OpFunctionCall %void %tint_symbol_3 %58
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 22[%22] is not post dominated by the back-edge block 39[%39]
%39 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 64 ; Bound: 61
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -48,10 +46,10 @@ SKIP: FAILED
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%int_3 = OpConstant %int 3 %int_3 = OpConstant %int 3
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%49 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %46 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%50 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %47 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%51 = OpTypeFunction %void %main_out %48 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
%i = OpVariable %_ptr_Function_int Function %18 %i = OpVariable %_ptr_Function_int Function %18
@ -75,45 +73,35 @@ SKIP: FAILED
OpBranch %35 OpBranch %35
%35 = OpLabel %35 = OpLabel
%38 = OpPhi %bool %33 %22 %false %36 %38 = OpPhi %bool %33 %22 %false %36
OpSelectionMerge %39 None OpBranchConditional %38 %20 %21
OpBranchConditional %38 %40 %41
%40 = OpLabel
OpBranch %39
%41 = OpLabel
OpBranch %21
%39 = OpLabel
OpBranch %20
%21 = OpLabel %21 = OpLabel
%42 = OpLoad %int %i %39 = OpLoad %int %i
%44 = OpIEqual %bool %42 %int_3 %41 = OpIEqual %bool %39 %int_3
OpSelectionMerge %45 None OpSelectionMerge %42 None
OpBranchConditional %44 %46 %47 OpBranchConditional %41 %43 %44
%46 = OpLabel %43 = OpLabel
OpStore %x_GLF_color %49 OpStore %x_GLF_color %46
OpBranch %45 OpBranch %42
%47 = OpLabel %44 = OpLabel
OpStore %x_GLF_color %50 OpStore %x_GLF_color %47
OpBranch %45 OpBranch %42
%45 = OpLabel %42 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %51 %tint_symbol_3 = OpFunction %void None %48
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%55 = OpLabel %52 = OpLabel
%56 = OpCompositeExtract %v4float %tint_symbol_1 0 %53 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %56 OpStore %tint_symbol_2 %53
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%58 = OpLabel %55 = OpLabel
%59 = OpLoad %v4float %tint_symbol %56 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %59 OpStore %gl_FragCoord %56
%60 = OpFunctionCall %void %main_1 %57 = OpFunctionCall %void %main_1
%62 = OpLoad %v4float %x_GLF_color %59 = OpLoad %v4float %x_GLF_color
%63 = OpCompositeConstruct %main_out %62 %60 = OpCompositeConstruct %main_out %59
%61 = OpFunctionCall %void %tint_symbol_3 %63 %58 = OpFunctionCall %void %tint_symbol_3 %60
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 22[%22] is not post dominated by the back-edge block 39[%39]
%39 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 64 ; Bound: 61
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%35 = OpExtInstImport "GLSL.std.450" %35 = OpExtInstImport "GLSL.std.450"
@ -52,10 +50,10 @@ SKIP: FAILED
%float_9 = OpConstant %float 9 %float_9 = OpConstant %float 9
%bool = OpTypeBool %bool = OpTypeBool
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%50 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %47 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%51 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %48 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%52 = OpTypeFunction %void %main_out %49 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
%f = OpVariable %_ptr_Function_float Function %17 %f = OpVariable %_ptr_Function_float Function %17
@ -78,43 +76,33 @@ SKIP: FAILED
%38 = OpFAdd %float %float_9 %32 %38 = OpFAdd %float %float_9 %32
%34 = OpExtInst %float %35 NClamp %30 %float_8 %38 %34 = OpExtInst %float %35 NClamp %30 %float_8 %38
%39 = OpFOrdGreaterThan %bool %float_10 %34 %39 = OpFOrdGreaterThan %bool %float_10 %34
OpSelectionMerge %41 None OpBranchConditional %39 %19 %20
OpBranchConditional %39 %42 %43
%42 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %20
%41 = OpLabel
OpBranch %19
%20 = OpLabel %20 = OpLabel
%44 = OpLoad %float %f %41 = OpLoad %float %f
%45 = OpFOrdEqual %bool %44 %float_10 %42 = OpFOrdEqual %bool %41 %float_10
OpSelectionMerge %46 None OpSelectionMerge %43 None
OpBranchConditional %45 %47 %48 OpBranchConditional %42 %44 %45
%47 = OpLabel %44 = OpLabel
OpStore %x_GLF_color %50 OpStore %x_GLF_color %47
OpBranch %46 OpBranch %43
%48 = OpLabel %45 = OpLabel
OpStore %x_GLF_color %51 OpStore %x_GLF_color %48
OpBranch %46 OpBranch %43
%46 = OpLabel %43 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %52 %tint_symbol_2 = OpFunction %void None %49
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%56 = OpLabel %53 = OpLabel
%57 = OpCompositeExtract %v4float %tint_symbol 0 %54 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %57 OpStore %tint_symbol_1 %54
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%59 = OpLabel %56 = OpLabel
%60 = OpFunctionCall %void %main_1 %57 = OpFunctionCall %void %main_1
%62 = OpLoad %v4float %x_GLF_color %59 = OpLoad %v4float %x_GLF_color
%63 = OpCompositeConstruct %main_out %62 %60 = OpCompositeConstruct %main_out %59
%61 = OpFunctionCall %void %tint_symbol_2 %63 %58 = OpFunctionCall %void %tint_symbol_2 %60
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 21[%21] is not post dominated by the back-edge block 41[%41]
%41 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 64 ; Bound: 61
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%35 = OpExtInstImport "GLSL.std.450" %35 = OpExtInstImport "GLSL.std.450"
@ -52,10 +50,10 @@ SKIP: FAILED
%float_9 = OpConstant %float 9 %float_9 = OpConstant %float 9
%bool = OpTypeBool %bool = OpTypeBool
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%50 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %47 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%51 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %48 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%52 = OpTypeFunction %void %main_out %49 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
%f = OpVariable %_ptr_Function_float Function %17 %f = OpVariable %_ptr_Function_float Function %17
@ -78,43 +76,33 @@ SKIP: FAILED
%38 = OpFAdd %float %float_9 %32 %38 = OpFAdd %float %float_9 %32
%34 = OpExtInst %float %35 NClamp %30 %float_8 %38 %34 = OpExtInst %float %35 NClamp %30 %float_8 %38
%39 = OpFOrdGreaterThan %bool %float_10 %34 %39 = OpFOrdGreaterThan %bool %float_10 %34
OpSelectionMerge %41 None OpBranchConditional %39 %19 %20
OpBranchConditional %39 %42 %43
%42 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %20
%41 = OpLabel
OpBranch %19
%20 = OpLabel %20 = OpLabel
%44 = OpLoad %float %f %41 = OpLoad %float %f
%45 = OpFOrdEqual %bool %44 %float_10 %42 = OpFOrdEqual %bool %41 %float_10
OpSelectionMerge %46 None OpSelectionMerge %43 None
OpBranchConditional %45 %47 %48 OpBranchConditional %42 %44 %45
%47 = OpLabel %44 = OpLabel
OpStore %x_GLF_color %50 OpStore %x_GLF_color %47
OpBranch %46 OpBranch %43
%48 = OpLabel %45 = OpLabel
OpStore %x_GLF_color %51 OpStore %x_GLF_color %48
OpBranch %46 OpBranch %43
%46 = OpLabel %43 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %52 %tint_symbol_2 = OpFunction %void None %49
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%56 = OpLabel %53 = OpLabel
%57 = OpCompositeExtract %v4float %tint_symbol 0 %54 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %57 OpStore %tint_symbol_1 %54
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%59 = OpLabel %56 = OpLabel
%60 = OpFunctionCall %void %main_1 %57 = OpFunctionCall %void %main_1
%62 = OpLoad %v4float %x_GLF_color %59 = OpLoad %v4float %x_GLF_color
%63 = OpCompositeConstruct %main_out %62 %60 = OpCompositeConstruct %main_out %59
%61 = OpFunctionCall %void %tint_symbol_2 %63 %58 = OpFunctionCall %void %tint_symbol_2 %60
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 21[%21] is not post dominated by the back-edge block 41[%41]
%41 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 134 ; Bound: 128
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -78,11 +76,11 @@ SKIP: FAILED
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%void = OpTypeVoid %void = OpTypeVoid
%87 = OpTypeFunction %void %81 = OpTypeFunction %void
%92 = OpConstantNull %float %86 = OpConstantNull %float
%_ptr_Uniform_int = OpTypePointer Uniform %int %_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out %115 = OpTypeFunction %void %main_out
%func_f1_ = OpFunction %float None %23 %func_f1_ = OpFunction %float None %23
%x = OpFunctionParameter %_ptr_Function_float %x = OpFunctionParameter %_ptr_Function_float
%27 = OpLabel %27 = OpLabel
@ -123,107 +121,90 @@ SKIP: FAILED
%59 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2 %59 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%60 = OpLoad %float %59 %60 = OpLoad %float %59
%61 = OpFOrdLessThan %bool %58 %60 %61 = OpFOrdLessThan %bool %58 %60
OpSelectionMerge %62 None OpBranchConditional %61 %53 %54
OpBranchConditional %61 %63 %64
%63 = OpLabel
OpBranch %62
%64 = OpLabel
OpBranch %54
%62 = OpLabel
OpBranch %53
%54 = OpLabel %54 = OpLabel
OpBranch %51 OpBranch %51
%51 = OpLabel %51 = OpLabel
%66 = OpLoad %float %x %63 = OpLoad %float %x
%68 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_3 %65 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_3
%69 = OpLoad %float %68 %66 = OpLoad %float %65
%70 = OpFOrdLessThan %bool %66 %69 %67 = OpFOrdLessThan %bool %63 %66
OpSelectionMerge %71 None OpSelectionMerge %68 None
OpBranchConditional %70 %72 %71 OpBranchConditional %67 %69 %68
%72 = OpLabel %69 = OpLabel
%74 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1 %71 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%75 = OpLoad %float %74 %72 = OpLoad %float %71
OpReturnValue %75 OpReturnValue %72
%71 = OpLabel %68 = OpLabel
OpBranch %39 OpBranch %39
%39 = OpLabel %39 = OpLabel
%76 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %73 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%77 = OpLoad %float %76 %74 = OpLoad %float %73
%78 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2 %75 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%79 = OpLoad %float %78 %76 = OpLoad %float %75
%80 = OpFOrdLessThan %bool %77 %79 %77 = OpFOrdLessThan %bool %74 %76
OpSelectionMerge %81 None OpBranchConditional %77 %37 %38
OpBranchConditional %80 %82 %83
%82 = OpLabel
OpBranch %81
%83 = OpLabel
OpBranch %38
%81 = OpLabel
OpBranch %37
%38 = OpLabel %38 = OpLabel
OpBranch %30 OpBranch %30
%30 = OpLabel %30 = OpLabel
OpBranch %28 OpBranch %28
%29 = OpLabel %29 = OpLabel
%85 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0 %79 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%86 = OpLoad %float %85 %80 = OpLoad %float %79
OpReturnValue %86 OpReturnValue %80
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %87 %main_1 = OpFunction %void None %81
%90 = OpLabel %84 = OpLabel
%param = OpVariable %_ptr_Function_float Function %92 %param = OpVariable %_ptr_Function_float Function %86
%93 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %87 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%94 = OpLoad %float %93 %88 = OpLoad %float %87
OpStore %param %94 OpStore %param %88
%95 = OpFunctionCall %float %func_f1_ %param %89 = OpFunctionCall %float %func_f1_ %param
%97 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1 %91 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%98 = OpLoad %float %97 %92 = OpLoad %float %91
%99 = OpFOrdEqual %bool %95 %98 %93 = OpFOrdEqual %bool %89 %92
OpSelectionMerge %100 None OpSelectionMerge %94 None
OpBranchConditional %99 %101 %102 OpBranchConditional %93 %95 %96
%101 = OpLabel %95 = OpLabel
%98 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0
%99 = OpLoad %int %98
%100 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%101 = OpLoad %int %100
%102 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%103 = OpLoad %int %102
%104 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0 %104 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0
%105 = OpLoad %int %104 %105 = OpLoad %int %104
%106 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1 %106 = OpConvertSToF %float %99
%107 = OpLoad %int %106 %107 = OpConvertSToF %float %101
%108 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1 %108 = OpConvertSToF %float %103
%109 = OpLoad %int %108 %109 = OpConvertSToF %float %105
%110 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0 %110 = OpCompositeConstruct %v4float %106 %107 %108 %109
%111 = OpLoad %int %110 OpStore %x_GLF_color %110
%112 = OpConvertSToF %float %105 OpBranch %94
%113 = OpConvertSToF %float %107 %96 = OpLabel
%114 = OpConvertSToF %float %109 %111 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%115 = OpConvertSToF %float %111 %112 = OpLoad %int %111
%116 = OpCompositeConstruct %v4float %112 %113 %114 %115 %113 = OpConvertSToF %float %112
OpStore %x_GLF_color %116 %114 = OpCompositeConstruct %v4float %113 %113 %113 %113
OpBranch %100 OpStore %x_GLF_color %114
%102 = OpLabel OpBranch %94
%117 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1 %94 = OpLabel
%118 = OpLoad %int %117
%119 = OpConvertSToF %float %118
%120 = OpCompositeConstruct %v4float %119 %119 %119 %119
OpStore %x_GLF_color %120
OpBranch %100
%100 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121 %tint_symbol_3 = OpFunction %void None %115
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel %119 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0 %120 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126 OpStore %tint_symbol_2 %120
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %87 %main = OpFunction %void None %81
%128 = OpLabel %122 = OpLabel
%129 = OpLoad %v4float %tint_symbol %123 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129 OpStore %gl_FragCoord %123
%130 = OpFunctionCall %void %main_1 %124 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color %126 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132 %127 = OpCompositeConstruct %main_out %126
%131 = OpFunctionCall %void %tint_symbol_3 %133 %125 = OpFunctionCall %void %tint_symbol_3 %127
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 39[%39] is not post dominated by the back-edge block 81[%81]
%81 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 134 ; Bound: 128
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -78,11 +76,11 @@ SKIP: FAILED
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%void = OpTypeVoid %void = OpTypeVoid
%87 = OpTypeFunction %void %81 = OpTypeFunction %void
%92 = OpConstantNull %float %86 = OpConstantNull %float
%_ptr_Uniform_int = OpTypePointer Uniform %int %_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out %115 = OpTypeFunction %void %main_out
%func_f1_ = OpFunction %float None %23 %func_f1_ = OpFunction %float None %23
%x = OpFunctionParameter %_ptr_Function_float %x = OpFunctionParameter %_ptr_Function_float
%27 = OpLabel %27 = OpLabel
@ -123,107 +121,90 @@ SKIP: FAILED
%59 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2 %59 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%60 = OpLoad %float %59 %60 = OpLoad %float %59
%61 = OpFOrdLessThan %bool %58 %60 %61 = OpFOrdLessThan %bool %58 %60
OpSelectionMerge %62 None OpBranchConditional %61 %53 %54
OpBranchConditional %61 %63 %64
%63 = OpLabel
OpBranch %62
%64 = OpLabel
OpBranch %54
%62 = OpLabel
OpBranch %53
%54 = OpLabel %54 = OpLabel
OpBranch %51 OpBranch %51
%51 = OpLabel %51 = OpLabel
%66 = OpLoad %float %x %63 = OpLoad %float %x
%68 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_3 %65 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_3
%69 = OpLoad %float %68 %66 = OpLoad %float %65
%70 = OpFOrdLessThan %bool %66 %69 %67 = OpFOrdLessThan %bool %63 %66
OpSelectionMerge %71 None OpSelectionMerge %68 None
OpBranchConditional %70 %72 %71 OpBranchConditional %67 %69 %68
%72 = OpLabel %69 = OpLabel
%74 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1 %71 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%75 = OpLoad %float %74 %72 = OpLoad %float %71
OpReturnValue %75 OpReturnValue %72
%71 = OpLabel %68 = OpLabel
OpBranch %39 OpBranch %39
%39 = OpLabel %39 = OpLabel
%76 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %73 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%77 = OpLoad %float %76 %74 = OpLoad %float %73
%78 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2 %75 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%79 = OpLoad %float %78 %76 = OpLoad %float %75
%80 = OpFOrdLessThan %bool %77 %79 %77 = OpFOrdLessThan %bool %74 %76
OpSelectionMerge %81 None OpBranchConditional %77 %37 %38
OpBranchConditional %80 %82 %83
%82 = OpLabel
OpBranch %81
%83 = OpLabel
OpBranch %38
%81 = OpLabel
OpBranch %37
%38 = OpLabel %38 = OpLabel
OpBranch %30 OpBranch %30
%30 = OpLabel %30 = OpLabel
OpBranch %28 OpBranch %28
%29 = OpLabel %29 = OpLabel
%85 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0 %79 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%86 = OpLoad %float %85 %80 = OpLoad %float %79
OpReturnValue %86 OpReturnValue %80
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %87 %main_1 = OpFunction %void None %81
%90 = OpLabel %84 = OpLabel
%param = OpVariable %_ptr_Function_float Function %92 %param = OpVariable %_ptr_Function_float Function %86
%93 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %87 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%94 = OpLoad %float %93 %88 = OpLoad %float %87
OpStore %param %94 OpStore %param %88
%95 = OpFunctionCall %float %func_f1_ %param %89 = OpFunctionCall %float %func_f1_ %param
%97 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1 %91 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%98 = OpLoad %float %97 %92 = OpLoad %float %91
%99 = OpFOrdEqual %bool %95 %98 %93 = OpFOrdEqual %bool %89 %92
OpSelectionMerge %100 None OpSelectionMerge %94 None
OpBranchConditional %99 %101 %102 OpBranchConditional %93 %95 %96
%101 = OpLabel %95 = OpLabel
%98 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0
%99 = OpLoad %int %98
%100 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%101 = OpLoad %int %100
%102 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%103 = OpLoad %int %102
%104 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0 %104 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0
%105 = OpLoad %int %104 %105 = OpLoad %int %104
%106 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1 %106 = OpConvertSToF %float %99
%107 = OpLoad %int %106 %107 = OpConvertSToF %float %101
%108 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1 %108 = OpConvertSToF %float %103
%109 = OpLoad %int %108 %109 = OpConvertSToF %float %105
%110 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0 %110 = OpCompositeConstruct %v4float %106 %107 %108 %109
%111 = OpLoad %int %110 OpStore %x_GLF_color %110
%112 = OpConvertSToF %float %105 OpBranch %94
%113 = OpConvertSToF %float %107 %96 = OpLabel
%114 = OpConvertSToF %float %109 %111 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%115 = OpConvertSToF %float %111 %112 = OpLoad %int %111
%116 = OpCompositeConstruct %v4float %112 %113 %114 %115 %113 = OpConvertSToF %float %112
OpStore %x_GLF_color %116 %114 = OpCompositeConstruct %v4float %113 %113 %113 %113
OpBranch %100 OpStore %x_GLF_color %114
%102 = OpLabel OpBranch %94
%117 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1 %94 = OpLabel
%118 = OpLoad %int %117
%119 = OpConvertSToF %float %118
%120 = OpCompositeConstruct %v4float %119 %119 %119 %119
OpStore %x_GLF_color %120
OpBranch %100
%100 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121 %tint_symbol_3 = OpFunction %void None %115
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel %119 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0 %120 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126 OpStore %tint_symbol_2 %120
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %87 %main = OpFunction %void None %81
%128 = OpLabel %122 = OpLabel
%129 = OpLoad %v4float %tint_symbol %123 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129 OpStore %gl_FragCoord %123
%130 = OpFunctionCall %void %main_1 %124 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color %126 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132 %127 = OpCompositeConstruct %main_out %126
%131 = OpFunctionCall %void %tint_symbol_3 %133 %125 = OpFunctionCall %void %tint_symbol_3 %127
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 39[%39] is not post dominated by the back-edge block 81[%81]
%81 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 104 ; Bound: 99
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -62,7 +60,7 @@ SKIP: FAILED
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%92 = OpTypeFunction %void %main_out %87 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %18 %func_ = OpFunction %int None %18
%20 = OpLabel %20 = OpLabel
OpBranch %21 OpBranch %21
@ -112,71 +110,56 @@ SKIP: FAILED
OpBranch %51 OpBranch %51
%51 = OpLabel %51 = OpLabel
%58 = OpLoad %int %x_GLF_global_loop_count %58 = OpLoad %int %x_GLF_global_loop_count
OpSelectionMerge %60 None %60 = OpSLessThan %bool %58 %int_100
OpBranchConditional %true %61 %60 %61 = OpLogicalAnd %bool %true %60
%61 = OpLabel OpBranchConditional %61 %49 %50
%62 = OpSLessThan %bool %58 %int_100
OpBranch %60
%60 = OpLabel
%63 = OpPhi %bool %true %51 %62 %61
OpSelectionMerge %64 None
OpBranchConditional %63 %65 %66
%65 = OpLabel
OpBranch %64
%66 = OpLabel
OpBranch %50
%64 = OpLabel
OpBranch %49
%50 = OpLabel %50 = OpLabel
%67 = OpFunctionCall %int %func_ %62 = OpFunctionCall %int %func_
OpStore %a %67 OpStore %a %62
%68 = OpLoad %int %a %63 = OpLoad %int %a
%69 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %64 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%70 = OpLoad %int %69 %65 = OpLoad %int %64
%71 = OpIEqual %bool %68 %70 %66 = OpIEqual %bool %63 %65
OpSelectionMerge %72 None OpSelectionMerge %67 None
OpBranchConditional %71 %73 %74 OpBranchConditional %66 %68 %69
%73 = OpLabel %68 = OpLabel
%75 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %70 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%76 = OpLoad %int %75 %71 = OpLoad %int %70
%77 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %72 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%78 = OpLoad %int %77 %73 = OpLoad %int %72
%79 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %74 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%80 = OpLoad %int %79 %75 = OpLoad %int %74
%81 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %76 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%82 = OpLoad %int %81 %77 = OpLoad %int %76
%83 = OpConvertSToF %float %76 %78 = OpConvertSToF %float %71
%84 = OpConvertSToF %float %78 %79 = OpConvertSToF %float %73
%85 = OpConvertSToF %float %80 %80 = OpConvertSToF %float %75
%86 = OpConvertSToF %float %82 %81 = OpConvertSToF %float %77
%87 = OpCompositeConstruct %v4float %83 %84 %85 %86 %82 = OpCompositeConstruct %v4float %78 %79 %80 %81
OpStore %x_GLF_color %87 OpStore %x_GLF_color %82
OpBranch %72 OpBranch %67
%74 = OpLabel %69 = OpLabel
%88 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %83 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%89 = OpLoad %int %88 %84 = OpLoad %int %83
%90 = OpConvertSToF %float %89 %85 = OpConvertSToF %float %84
%91 = OpCompositeConstruct %v4float %90 %90 %90 %90 %86 = OpCompositeConstruct %v4float %85 %85 %85 %85
OpStore %x_GLF_color %91 OpStore %x_GLF_color %86
OpBranch %72 OpBranch %67
%72 = OpLabel %67 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %92 %tint_symbol_2 = OpFunction %void None %87
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%96 = OpLabel %91 = OpLabel
%97 = OpCompositeExtract %v4float %tint_symbol 0 %92 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %97 OpStore %tint_symbol_1 %92
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %43 %main = OpFunction %void None %43
%99 = OpLabel %94 = OpLabel
%100 = OpFunctionCall %void %main_1 %95 = OpFunctionCall %void %main_1
%102 = OpLoad %v4float %x_GLF_color %97 = OpLoad %v4float %x_GLF_color
%103 = OpCompositeConstruct %main_out %102 %98 = OpCompositeConstruct %main_out %97
%101 = OpFunctionCall %void %tint_symbol_2 %103 %96 = OpFunctionCall %void %tint_symbol_2 %98
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 51[%51] is not post dominated by the back-edge block 64[%64]
%64 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 104 ; Bound: 101
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -62,7 +60,7 @@ SKIP: FAILED
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%92 = OpTypeFunction %void %main_out %89 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %18 %func_ = OpFunction %int None %18
%20 = OpLabel %20 = OpLabel
OpBranch %21 OpBranch %21
@ -119,64 +117,54 @@ SKIP: FAILED
OpBranch %60 OpBranch %60
%60 = OpLabel %60 = OpLabel
%63 = OpPhi %bool %true %51 %62 %61 %63 = OpPhi %bool %true %51 %62 %61
OpSelectionMerge %64 None OpBranchConditional %63 %49 %50
OpBranchConditional %63 %65 %66
%65 = OpLabel
OpBranch %64
%66 = OpLabel
OpBranch %50
%64 = OpLabel
OpBranch %49
%50 = OpLabel %50 = OpLabel
%67 = OpFunctionCall %int %func_ %64 = OpFunctionCall %int %func_
OpStore %a %67 OpStore %a %64
%68 = OpLoad %int %a %65 = OpLoad %int %a
%69 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %66 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%70 = OpLoad %int %69 %67 = OpLoad %int %66
%71 = OpIEqual %bool %68 %70 %68 = OpIEqual %bool %65 %67
OpSelectionMerge %72 None OpSelectionMerge %69 None
OpBranchConditional %71 %73 %74 OpBranchConditional %68 %70 %71
%73 = OpLabel %70 = OpLabel
%75 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %72 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%76 = OpLoad %int %75 %73 = OpLoad %int %72
%77 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %74 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%78 = OpLoad %int %77 %75 = OpLoad %int %74
%79 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %76 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%80 = OpLoad %int %79 %77 = OpLoad %int %76
%81 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0 %78 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%82 = OpLoad %int %81 %79 = OpLoad %int %78
%83 = OpConvertSToF %float %76 %80 = OpConvertSToF %float %73
%84 = OpConvertSToF %float %78 %81 = OpConvertSToF %float %75
%85 = OpConvertSToF %float %80 %82 = OpConvertSToF %float %77
%86 = OpConvertSToF %float %82 %83 = OpConvertSToF %float %79
%87 = OpCompositeConstruct %v4float %83 %84 %85 %86 %84 = OpCompositeConstruct %v4float %80 %81 %82 %83
OpStore %x_GLF_color %87 OpStore %x_GLF_color %84
OpBranch %72 OpBranch %69
%74 = OpLabel %71 = OpLabel
%88 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %85 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%89 = OpLoad %int %88 %86 = OpLoad %int %85
%90 = OpConvertSToF %float %89 %87 = OpConvertSToF %float %86
%91 = OpCompositeConstruct %v4float %90 %90 %90 %90 %88 = OpCompositeConstruct %v4float %87 %87 %87 %87
OpStore %x_GLF_color %91 OpStore %x_GLF_color %88
OpBranch %72 OpBranch %69
%72 = OpLabel %69 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %92 %tint_symbol_2 = OpFunction %void None %89
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%96 = OpLabel %93 = OpLabel
%97 = OpCompositeExtract %v4float %tint_symbol 0 %94 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %97 OpStore %tint_symbol_1 %94
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %43 %main = OpFunction %void None %43
%99 = OpLabel %96 = OpLabel
%100 = OpFunctionCall %void %main_1 %97 = OpFunctionCall %void %main_1
%102 = OpLoad %v4float %x_GLF_color %99 = OpLoad %v4float %x_GLF_color
%103 = OpCompositeConstruct %main_out %102 %100 = OpCompositeConstruct %main_out %99
%101 = OpFunctionCall %void %tint_symbol_2 %103 %98 = OpFunctionCall %void %tint_symbol_2 %100
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 51[%51] is not post dominated by the back-edge block 64[%64]
%64 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 79 ; Bound: 76
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -55,7 +53,7 @@ SKIP: FAILED
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%67 = OpTypeFunction %void %main_out %64 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%a = OpVariable %_ptr_Function_int Function %21 %a = OpVariable %_ptr_Function_int Function %21
@ -86,57 +84,47 @@ SKIP: FAILED
%25 = OpLabel %25 = OpLabel
%42 = OpLoad %int %a %42 = OpLoad %int %a
%43 = OpINotEqual %bool %42 %int_1 %43 = OpINotEqual %bool %42 %int_1
OpSelectionMerge %44 None OpBranchConditional %43 %23 %24
OpBranchConditional %43 %45 %46
%45 = OpLabel
OpBranch %44
%46 = OpLabel
OpBranch %24
%44 = OpLabel
OpBranch %23
%24 = OpLabel %24 = OpLabel
%47 = OpLoad %int %a %44 = OpLoad %int %a
%48 = OpIEqual %bool %47 %int_1 %45 = OpIEqual %bool %44 %int_1
OpSelectionMerge %49 None OpSelectionMerge %46 None
OpBranchConditional %48 %50 %51 OpBranchConditional %45 %47 %48
%50 = OpLabel %47 = OpLabel
%52 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0 %49 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%53 = OpLoad %int %52 %50 = OpLoad %int %49
%54 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0 %51 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%55 = OpLoad %int %54 %52 = OpLoad %int %51
%56 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1 %53 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%57 = OpLoad %int %56 %54 = OpLoad %int %53
%59 = OpConvertSToF %float %53 %56 = OpConvertSToF %float %50
%60 = OpConvertSToF %float %55 %57 = OpConvertSToF %float %52
%61 = OpConvertSToF %float %57 %58 = OpConvertSToF %float %54
%62 = OpCompositeConstruct %v4float %float_1 %59 %60 %61 %59 = OpCompositeConstruct %v4float %float_1 %56 %57 %58
OpStore %x_GLF_color %62 OpStore %x_GLF_color %59
OpBranch %49 OpBranch %46
%51 = OpLabel %48 = OpLabel
%63 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0 %60 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%64 = OpLoad %int %63 %61 = OpLoad %int %60
%65 = OpConvertSToF %float %64 %62 = OpConvertSToF %float %61
%66 = OpCompositeConstruct %v4float %65 %65 %65 %65 %63 = OpCompositeConstruct %v4float %62 %62 %62 %62
OpStore %x_GLF_color %66 OpStore %x_GLF_color %63
OpBranch %49 OpBranch %46
%49 = OpLabel %46 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %67 %tint_symbol_2 = OpFunction %void None %64
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%71 = OpLabel %68 = OpLabel
%72 = OpCompositeExtract %v4float %tint_symbol 0 %69 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %72 OpStore %tint_symbol_1 %69
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%74 = OpLabel %71 = OpLabel
%75 = OpFunctionCall %void %main_1 %72 = OpFunctionCall %void %main_1
%77 = OpLoad %v4float %x_GLF_color %74 = OpLoad %v4float %x_GLF_color
%78 = OpCompositeConstruct %main_out %77 %75 = OpCompositeConstruct %main_out %74
%76 = OpFunctionCall %void %tint_symbol_2 %78 %73 = OpFunctionCall %void %tint_symbol_2 %75
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 25[%25] is not post dominated by the back-edge block 44[%44]
%44 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 79 ; Bound: 76
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -55,7 +53,7 @@ SKIP: FAILED
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%67 = OpTypeFunction %void %main_out %64 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%a = OpVariable %_ptr_Function_int Function %21 %a = OpVariable %_ptr_Function_int Function %21
@ -86,57 +84,47 @@ SKIP: FAILED
%25 = OpLabel %25 = OpLabel
%42 = OpLoad %int %a %42 = OpLoad %int %a
%43 = OpINotEqual %bool %42 %int_1 %43 = OpINotEqual %bool %42 %int_1
OpSelectionMerge %44 None OpBranchConditional %43 %23 %24
OpBranchConditional %43 %45 %46
%45 = OpLabel
OpBranch %44
%46 = OpLabel
OpBranch %24
%44 = OpLabel
OpBranch %23
%24 = OpLabel %24 = OpLabel
%47 = OpLoad %int %a %44 = OpLoad %int %a
%48 = OpIEqual %bool %47 %int_1 %45 = OpIEqual %bool %44 %int_1
OpSelectionMerge %49 None OpSelectionMerge %46 None
OpBranchConditional %48 %50 %51 OpBranchConditional %45 %47 %48
%50 = OpLabel %47 = OpLabel
%52 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0 %49 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%53 = OpLoad %int %52 %50 = OpLoad %int %49
%54 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0 %51 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%55 = OpLoad %int %54 %52 = OpLoad %int %51
%56 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1 %53 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%57 = OpLoad %int %56 %54 = OpLoad %int %53
%59 = OpConvertSToF %float %53 %56 = OpConvertSToF %float %50
%60 = OpConvertSToF %float %55 %57 = OpConvertSToF %float %52
%61 = OpConvertSToF %float %57 %58 = OpConvertSToF %float %54
%62 = OpCompositeConstruct %v4float %float_1 %59 %60 %61 %59 = OpCompositeConstruct %v4float %float_1 %56 %57 %58
OpStore %x_GLF_color %62 OpStore %x_GLF_color %59
OpBranch %49 OpBranch %46
%51 = OpLabel %48 = OpLabel
%63 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0 %60 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%64 = OpLoad %int %63 %61 = OpLoad %int %60
%65 = OpConvertSToF %float %64 %62 = OpConvertSToF %float %61
%66 = OpCompositeConstruct %v4float %65 %65 %65 %65 %63 = OpCompositeConstruct %v4float %62 %62 %62 %62
OpStore %x_GLF_color %66 OpStore %x_GLF_color %63
OpBranch %49 OpBranch %46
%49 = OpLabel %46 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %67 %tint_symbol_2 = OpFunction %void None %64
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%71 = OpLabel %68 = OpLabel
%72 = OpCompositeExtract %v4float %tint_symbol 0 %69 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %72 OpStore %tint_symbol_1 %69
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%74 = OpLabel %71 = OpLabel
%75 = OpFunctionCall %void %main_1 %72 = OpFunctionCall %void %main_1
%77 = OpLoad %v4float %x_GLF_color %74 = OpLoad %v4float %x_GLF_color
%78 = OpCompositeConstruct %main_out %77 %75 = OpCompositeConstruct %main_out %74
%76 = OpFunctionCall %void %tint_symbol_2 %78 %73 = OpFunctionCall %void %tint_symbol_2 %75
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 25[%25] is not post dominated by the back-edge block 44[%44]
%44 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 83 ; Bound: 80
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -62,9 +60,9 @@ SKIP: FAILED
%48 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %48 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%49 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %49 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%void = OpTypeVoid %void = OpTypeVoid
%59 = OpTypeFunction %void %56 = OpTypeFunction %void
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%71 = OpTypeFunction %void %main_out %68 = OpTypeFunction %void %main_out
%returnRed_ = OpFunction %v4float None %12 %returnRed_ = OpFunction %v4float None %12
%14 = OpLabel %14 = OpLabel
%x_33 = OpVariable %_ptr_Function_bool Function %19 %x_33 = OpVariable %_ptr_Function_bool Function %19
@ -103,25 +101,18 @@ SKIP: FAILED
%34 = OpLabel %34 = OpLabel
OpStore %x_48_phi %49 OpStore %x_48_phi %49
OpStore %x_49_phi %false OpStore %x_49_phi %false
OpSelectionMerge %50 None OpBranchConditional %false %32 %33
OpBranchConditional %false %51 %52
%51 = OpLabel
OpBranch %50
%52 = OpLabel
OpBranch %33
%50 = OpLabel
OpBranch %32
%33 = OpLabel %33 = OpLabel
%53 = OpLoad %v4float %x_48_phi %50 = OpLoad %v4float %x_48_phi
OpStore %x_48 %53 OpStore %x_48 %50
%54 = OpLoad %bool %x_49_phi %51 = OpLoad %bool %x_49_phi
%55 = OpLoad %v4float %x_48 %52 = OpLoad %v4float %x_48
OpStore %x_51_phi %55 OpStore %x_51_phi %52
OpSelectionMerge %56 None OpSelectionMerge %53 None
OpBranchConditional %54 %57 %56 OpBranchConditional %51 %54 %53
%57 = OpLabel %54 = OpLabel
OpBranch %26 OpBranch %26
%56 = OpLabel %53 = OpLabel
OpStore %x_33 %true OpStore %x_33 %true
OpStore %x_34 %48 OpStore %x_34 %48
OpStore %x_51_phi %48 OpStore %x_51_phi %48
@ -130,46 +121,43 @@ SKIP: FAILED
OpStore %x_36_phi %false OpStore %x_36_phi %false
OpBranch %25 OpBranch %25
%26 = OpLabel %26 = OpLabel
%58 = OpLoad %v4float %x_51_phi %55 = OpLoad %v4float %x_51_phi
OpReturnValue %58 OpReturnValue %55
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %59 %main_1 = OpFunction %void None %56
%62 = OpLabel %59 = OpLabel
OpBranch %60
%60 = OpLabel
OpLoopMerge %61 %62 None
OpBranch %63 OpBranch %63
%63 = OpLabel %63 = OpLabel
OpLoopMerge %64 %65 None %64 = OpFunctionCall %v4float %returnRed_
OpBranch %66 OpStore %x_GLF_color %64
OpSelectionMerge %65 None
OpBranchConditional %false %66 %67
%66 = OpLabel %66 = OpLabel
%67 = OpFunctionCall %v4float %returnRed_
OpStore %x_GLF_color %67
OpSelectionMerge %68 None
OpBranchConditional %false %69 %70
%69 = OpLabel
OpBranch %68
%70 = OpLabel
OpBranch %64
%68 = OpLabel
OpBranch %65 OpBranch %65
%67 = OpLabel
OpBranch %61
%65 = OpLabel %65 = OpLabel
OpBranch %63 OpBranch %62
%64 = OpLabel %62 = OpLabel
OpBranch %60
%61 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %71 %tint_symbol_2 = OpFunction %void None %68
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%72 = OpLabel
%73 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %73
OpReturn
OpFunctionEnd
%main = OpFunction %void None %56
%75 = OpLabel %75 = OpLabel
%76 = OpCompositeExtract %v4float %tint_symbol 0 %76 = OpFunctionCall %void %main_1
OpStore %tint_symbol_1 %76 %78 = OpLoad %v4float %x_GLF_color
%79 = OpCompositeConstruct %main_out %78
%77 = OpFunctionCall %void %tint_symbol_2 %79
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %59
%78 = OpLabel
%79 = OpFunctionCall %void %main_1
%81 = OpLoad %v4float %x_GLF_color
%82 = OpCompositeConstruct %main_out %81
%80 = OpFunctionCall %void %tint_symbol_2 %82
OpReturn
OpFunctionEnd
1:1: The continue construct with the continue target 34[%34] is not post dominated by the back-edge block 50[%50]
%50 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 83 ; Bound: 80
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -62,9 +60,9 @@ SKIP: FAILED
%48 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %48 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%49 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %49 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%void = OpTypeVoid %void = OpTypeVoid
%59 = OpTypeFunction %void %56 = OpTypeFunction %void
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%71 = OpTypeFunction %void %main_out %68 = OpTypeFunction %void %main_out
%returnRed_ = OpFunction %v4float None %12 %returnRed_ = OpFunction %v4float None %12
%14 = OpLabel %14 = OpLabel
%x_33 = OpVariable %_ptr_Function_bool Function %19 %x_33 = OpVariable %_ptr_Function_bool Function %19
@ -103,25 +101,18 @@ SKIP: FAILED
%34 = OpLabel %34 = OpLabel
OpStore %x_48_phi %49 OpStore %x_48_phi %49
OpStore %x_49_phi %false OpStore %x_49_phi %false
OpSelectionMerge %50 None OpBranchConditional %false %32 %33
OpBranchConditional %false %51 %52
%51 = OpLabel
OpBranch %50
%52 = OpLabel
OpBranch %33
%50 = OpLabel
OpBranch %32
%33 = OpLabel %33 = OpLabel
%53 = OpLoad %v4float %x_48_phi %50 = OpLoad %v4float %x_48_phi
OpStore %x_48 %53 OpStore %x_48 %50
%54 = OpLoad %bool %x_49_phi %51 = OpLoad %bool %x_49_phi
%55 = OpLoad %v4float %x_48 %52 = OpLoad %v4float %x_48
OpStore %x_51_phi %55 OpStore %x_51_phi %52
OpSelectionMerge %56 None OpSelectionMerge %53 None
OpBranchConditional %54 %57 %56 OpBranchConditional %51 %54 %53
%57 = OpLabel %54 = OpLabel
OpBranch %26 OpBranch %26
%56 = OpLabel %53 = OpLabel
OpStore %x_33 %true OpStore %x_33 %true
OpStore %x_34 %48 OpStore %x_34 %48
OpStore %x_51_phi %48 OpStore %x_51_phi %48
@ -130,46 +121,43 @@ SKIP: FAILED
OpStore %x_36_phi %false OpStore %x_36_phi %false
OpBranch %25 OpBranch %25
%26 = OpLabel %26 = OpLabel
%58 = OpLoad %v4float %x_51_phi %55 = OpLoad %v4float %x_51_phi
OpReturnValue %58 OpReturnValue %55
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %59 %main_1 = OpFunction %void None %56
%62 = OpLabel %59 = OpLabel
OpBranch %60
%60 = OpLabel
OpLoopMerge %61 %62 None
OpBranch %63 OpBranch %63
%63 = OpLabel %63 = OpLabel
OpLoopMerge %64 %65 None %64 = OpFunctionCall %v4float %returnRed_
OpBranch %66 OpStore %x_GLF_color %64
OpSelectionMerge %65 None
OpBranchConditional %false %66 %67
%66 = OpLabel %66 = OpLabel
%67 = OpFunctionCall %v4float %returnRed_
OpStore %x_GLF_color %67
OpSelectionMerge %68 None
OpBranchConditional %false %69 %70
%69 = OpLabel
OpBranch %68
%70 = OpLabel
OpBranch %64
%68 = OpLabel
OpBranch %65 OpBranch %65
%67 = OpLabel
OpBranch %61
%65 = OpLabel %65 = OpLabel
OpBranch %63 OpBranch %62
%64 = OpLabel %62 = OpLabel
OpBranch %60
%61 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %71 %tint_symbol_2 = OpFunction %void None %68
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%72 = OpLabel
%73 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %73
OpReturn
OpFunctionEnd
%main = OpFunction %void None %56
%75 = OpLabel %75 = OpLabel
%76 = OpCompositeExtract %v4float %tint_symbol 0 %76 = OpFunctionCall %void %main_1
OpStore %tint_symbol_1 %76 %78 = OpLoad %v4float %x_GLF_color
%79 = OpCompositeConstruct %main_out %78
%77 = OpFunctionCall %void %tint_symbol_2 %79
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %59
%78 = OpLabel
%79 = OpFunctionCall %void %main_1
%81 = OpLoad %v4float %x_GLF_color
%82 = OpCompositeConstruct %main_out %81
%80 = OpFunctionCall %void %tint_symbol_2 %82
OpReturn
OpFunctionEnd
1:1: The continue construct with the continue target 34[%34] is not post dominated by the back-edge block 50[%50]
%50 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 90 ; Bound: 87
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -57,7 +55,7 @@ SKIP: FAILED
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%int_100 = OpConstant %int 100 %int_100 = OpConstant %int 100
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%78 = OpTypeFunction %void %main_out %75 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18 %main_1 = OpFunction %void None %18
%21 = OpLabel %21 = OpLabel
OpStore %x_GLF_global_loop_count %int_0 OpStore %x_GLF_global_loop_count %int_0
@ -125,14 +123,7 @@ SKIP: FAILED
%64 = OpLabel %64 = OpLabel
%72 = OpLoad %int %x_GLF_global_loop_count %72 = OpLoad %int %x_GLF_global_loop_count
%74 = OpSLessThan %bool %72 %int_100 %74 = OpSLessThan %bool %72 %int_100
OpSelectionMerge %75 None OpBranchConditional %74 %62 %63
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpBranch %75
%77 = OpLabel
OpBranch %63
%75 = OpLabel
OpBranch %62
%63 = OpLabel %63 = OpLabel
OpBranch %56 OpBranch %56
%56 = OpLabel %56 = OpLabel
@ -144,21 +135,18 @@ SKIP: FAILED
%27 = OpLabel %27 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %78 %tint_symbol_2 = OpFunction %void None %75
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%82 = OpLabel %79 = OpLabel
%83 = OpCompositeExtract %v4float %tint_symbol 0 %80 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %83 OpStore %tint_symbol_1 %80
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %18 %main = OpFunction %void None %18
%85 = OpLabel %82 = OpLabel
%86 = OpFunctionCall %void %main_1 %83 = OpFunctionCall %void %main_1
%88 = OpLoad %v4float %x_GLF_color %85 = OpLoad %v4float %x_GLF_color
%89 = OpCompositeConstruct %main_out %88 %86 = OpCompositeConstruct %main_out %85
%87 = OpFunctionCall %void %tint_symbol_2 %89 %84 = OpFunctionCall %void %tint_symbol_2 %86
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 64[%64] is not post dominated by the back-edge block 75[%75]
%75 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 90 ; Bound: 87
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -57,7 +55,7 @@ SKIP: FAILED
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%int_100 = OpConstant %int 100 %int_100 = OpConstant %int 100
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%78 = OpTypeFunction %void %main_out %75 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18 %main_1 = OpFunction %void None %18
%21 = OpLabel %21 = OpLabel
OpStore %x_GLF_global_loop_count %int_0 OpStore %x_GLF_global_loop_count %int_0
@ -125,14 +123,7 @@ SKIP: FAILED
%64 = OpLabel %64 = OpLabel
%72 = OpLoad %int %x_GLF_global_loop_count %72 = OpLoad %int %x_GLF_global_loop_count
%74 = OpSLessThan %bool %72 %int_100 %74 = OpSLessThan %bool %72 %int_100
OpSelectionMerge %75 None OpBranchConditional %74 %62 %63
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpBranch %75
%77 = OpLabel
OpBranch %63
%75 = OpLabel
OpBranch %62
%63 = OpLabel %63 = OpLabel
OpBranch %56 OpBranch %56
%56 = OpLabel %56 = OpLabel
@ -144,21 +135,18 @@ SKIP: FAILED
%27 = OpLabel %27 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %78 %tint_symbol_2 = OpFunction %void None %75
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%82 = OpLabel %79 = OpLabel
%83 = OpCompositeExtract %v4float %tint_symbol 0 %80 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %83 OpStore %tint_symbol_1 %80
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %18 %main = OpFunction %void None %18
%85 = OpLabel %82 = OpLabel
%86 = OpFunctionCall %void %main_1 %83 = OpFunctionCall %void %main_1
%88 = OpLoad %v4float %x_GLF_color %85 = OpLoad %v4float %x_GLF_color
%89 = OpCompositeConstruct %main_out %88 %86 = OpCompositeConstruct %main_out %85
%87 = OpFunctionCall %void %tint_symbol_2 %89 %84 = OpFunctionCall %void %tint_symbol_2 %86
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 64[%64] is not post dominated by the back-edge block 75[%75]
%75 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 71 ; Bound: 68
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -54,11 +52,11 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%void = OpTypeVoid %void = OpTypeVoid
%48 = OpTypeFunction %void %45 = OpTypeFunction %void
%57 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %54 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%58 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %55 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%59 = OpTypeFunction %void %main_out %56 = OpTypeFunction %void %main_out
%func_ = OpFunction %float None %11 %func_ = OpFunction %float None %11
%13 = OpLabel %13 = OpLabel
%b = OpVariable %_ptr_Function_float Function %16 %b = OpVariable %_ptr_Function_float Function %16
@ -97,48 +95,38 @@ SKIP: FAILED
%23 = OpLabel %23 = OpLabel
OpStore %x_34_phi %float_1 OpStore %x_34_phi %float_1
OpStore %x_48_phi %float_1 OpStore %x_48_phi %float_1
OpSelectionMerge %44 None OpBranchConditional %false %21 %22
OpBranchConditional %false %45 %46
%45 = OpLabel
OpBranch %44
%46 = OpLabel
OpBranch %22
%44 = OpLabel
OpBranch %21
%22 = OpLabel %22 = OpLabel
%47 = OpLoad %float %x_48_phi %44 = OpLoad %float %x_48_phi
OpReturnValue %47 OpReturnValue %44
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %48 %main_1 = OpFunction %void None %45
%48 = OpLabel
%49 = OpFunctionCall %float %func_
%50 = OpFOrdEqual %bool %49 %float_1
OpSelectionMerge %51 None
OpBranchConditional %50 %52 %53
%52 = OpLabel
OpStore %x_GLF_color %54
OpBranch %51
%53 = OpLabel
OpStore %x_GLF_color %55
OpBranch %51
%51 = OpLabel %51 = OpLabel
%52 = OpFunctionCall %float %func_
%53 = OpFOrdEqual %bool %52 %float_1
OpSelectionMerge %54 None
OpBranchConditional %53 %55 %56
%55 = OpLabel
OpStore %x_GLF_color %57
OpBranch %54
%56 = OpLabel
OpStore %x_GLF_color %58
OpBranch %54
%54 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %59 %tint_symbol_2 = OpFunction %void None %56
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%60 = OpLabel
%61 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %61
OpReturn
OpFunctionEnd
%main = OpFunction %void None %45
%63 = OpLabel %63 = OpLabel
%64 = OpCompositeExtract %v4float %tint_symbol 0 %64 = OpFunctionCall %void %main_1
OpStore %tint_symbol_1 %64 %66 = OpLoad %v4float %x_GLF_color
%67 = OpCompositeConstruct %main_out %66
%65 = OpFunctionCall %void %tint_symbol_2 %67
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %48
%66 = OpLabel
%67 = OpFunctionCall %void %main_1
%69 = OpLoad %v4float %x_GLF_color
%70 = OpCompositeConstruct %main_out %69
%68 = OpFunctionCall %void %tint_symbol_2 %70
OpReturn
OpFunctionEnd
1:1: The continue construct with the continue target 23[%23] is not post dominated by the back-edge block 44[%44]
%44 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 71 ; Bound: 68
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -54,11 +52,11 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%void = OpTypeVoid %void = OpTypeVoid
%48 = OpTypeFunction %void %45 = OpTypeFunction %void
%57 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %54 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%58 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %55 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%59 = OpTypeFunction %void %main_out %56 = OpTypeFunction %void %main_out
%func_ = OpFunction %float None %11 %func_ = OpFunction %float None %11
%13 = OpLabel %13 = OpLabel
%b = OpVariable %_ptr_Function_float Function %16 %b = OpVariable %_ptr_Function_float Function %16
@ -97,48 +95,38 @@ SKIP: FAILED
%23 = OpLabel %23 = OpLabel
OpStore %x_34_phi %float_1 OpStore %x_34_phi %float_1
OpStore %x_48_phi %float_1 OpStore %x_48_phi %float_1
OpSelectionMerge %44 None OpBranchConditional %false %21 %22
OpBranchConditional %false %45 %46
%45 = OpLabel
OpBranch %44
%46 = OpLabel
OpBranch %22
%44 = OpLabel
OpBranch %21
%22 = OpLabel %22 = OpLabel
%47 = OpLoad %float %x_48_phi %44 = OpLoad %float %x_48_phi
OpReturnValue %47 OpReturnValue %44
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %48 %main_1 = OpFunction %void None %45
%48 = OpLabel
%49 = OpFunctionCall %float %func_
%50 = OpFOrdEqual %bool %49 %float_1
OpSelectionMerge %51 None
OpBranchConditional %50 %52 %53
%52 = OpLabel
OpStore %x_GLF_color %54
OpBranch %51
%53 = OpLabel
OpStore %x_GLF_color %55
OpBranch %51
%51 = OpLabel %51 = OpLabel
%52 = OpFunctionCall %float %func_
%53 = OpFOrdEqual %bool %52 %float_1
OpSelectionMerge %54 None
OpBranchConditional %53 %55 %56
%55 = OpLabel
OpStore %x_GLF_color %57
OpBranch %54
%56 = OpLabel
OpStore %x_GLF_color %58
OpBranch %54
%54 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %59 %tint_symbol_2 = OpFunction %void None %56
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%60 = OpLabel
%61 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %61
OpReturn
OpFunctionEnd
%main = OpFunction %void None %45
%63 = OpLabel %63 = OpLabel
%64 = OpCompositeExtract %v4float %tint_symbol 0 %64 = OpFunctionCall %void %main_1
OpStore %tint_symbol_1 %64 %66 = OpLoad %v4float %x_GLF_color
%67 = OpCompositeConstruct %main_out %66
%65 = OpFunctionCall %void %tint_symbol_2 %67
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %48
%66 = OpLabel
%67 = OpFunctionCall %void %main_1
%69 = OpLoad %v4float %x_GLF_color
%70 = OpCompositeConstruct %main_out %69
%68 = OpFunctionCall %void %tint_symbol_2 %70
OpReturn
OpFunctionEnd
1:1: The continue construct with the continue target 23[%23] is not post dominated by the back-edge block 44[%44]
%44 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 636 ; Bound: 633
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -129,9 +127,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%int_100 = OpConstant %int 100 %int_100 = OpConstant %int 100
%float_8 = OpConstant %float 8 %float_8 = OpConstant %float 8
%623 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %620 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%624 = OpTypeFunction %void %main_out %621 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12 %main_1 = OpFunction %void None %12
%15 = OpLabel %15 = OpLabel
%m23 = OpVariable %_ptr_Function_mat2v3float Function %20 %m23 = OpVariable %_ptr_Function_mat2v3float Function %20
@ -773,415 +771,405 @@ SKIP: FAILED
%452 = OpLabel %452 = OpLabel
%456 = OpLoad %int %x_GLF_global_loop_count %456 = OpLoad %int %x_GLF_global_loop_count
%458 = OpSLessThan %bool %456 %int_98 %458 = OpSLessThan %bool %456 %int_98
OpSelectionMerge %459 None OpBranchConditional %458 %450 %451
OpBranchConditional %458 %460 %461
%460 = OpLabel
OpBranch %459
%461 = OpLabel
OpBranch %451
%459 = OpLabel
OpBranch %450
%451 = OpLabel %451 = OpLabel
%462 = OpLoad %int %i_37 %459 = OpLoad %int %i_37
%460 = OpLoad %int %i_37
%461 = OpAccessChain %_ptr_Function_float %m23 %459 %460
OpStore %461 %float_1
%463 = OpLoad %int %i_37 %463 = OpLoad %int %i_37
%464 = OpAccessChain %_ptr_Function_float %m23 %462 %463 %464 = OpLoad %int %i_37
OpStore %464 %float_1 %465 = OpAccessChain %_ptr_Function_float %m24 %463 %464
OpStore %465 %float_1
%466 = OpLoad %int %i_37 %466 = OpLoad %int %i_37
%467 = OpLoad %int %i_37 %467 = OpLoad %int %i_37
%468 = OpAccessChain %_ptr_Function_float %m24 %466 %467 %468 = OpAccessChain %_ptr_Function_float %m32 %466 %467
OpStore %468 %float_1 OpStore %468 %float_1
%469 = OpLoad %int %i_37 %469 = OpLoad %int %i_37
%470 = OpLoad %int %i_37 %470 = OpLoad %int %i_37
%471 = OpAccessChain %_ptr_Function_float %m32 %469 %470 %471 = OpAccessChain %_ptr_Function_float %m33 %469 %470
OpStore %471 %float_1 OpStore %471 %float_1
%472 = OpLoad %int %i_37 %472 = OpLoad %int %i_37
%473 = OpLoad %int %i_37 %473 = OpLoad %int %i_37
%474 = OpAccessChain %_ptr_Function_float %m33 %472 %473 %474 = OpAccessChain %_ptr_Function_float %m34 %472 %473
OpStore %474 %float_1 OpStore %474 %float_1
%475 = OpLoad %int %i_37 %475 = OpLoad %int %i_37
%476 = OpLoad %int %i_37 %476 = OpLoad %int %i_37
%477 = OpAccessChain %_ptr_Function_float %m34 %475 %476 %477 = OpAccessChain %_ptr_Function_float %m42 %475 %476
OpStore %477 %float_1 OpStore %477 %float_1
%478 = OpLoad %int %i_37 %478 = OpLoad %int %i_37
%479 = OpLoad %int %i_37 %479 = OpLoad %int %i_37
%480 = OpAccessChain %_ptr_Function_float %m42 %478 %479 %480 = OpAccessChain %_ptr_Function_float %m43 %478 %479
OpStore %480 %float_1 OpStore %480 %float_1
%481 = OpLoad %int %i_37 %481 = OpLoad %int %i_37
%482 = OpLoad %int %i_37 %482 = OpLoad %int %i_37
%483 = OpAccessChain %_ptr_Function_float %m43 %481 %482 %483 = OpAccessChain %_ptr_Function_float %m44 %481 %482
OpStore %483 %float_1 OpStore %483 %float_1
%484 = OpLoad %int %i_37
%485 = OpLoad %int %i_37
%486 = OpAccessChain %_ptr_Function_float %m44 %484 %485
OpStore %486 %float_1
OpBranch %443 OpBranch %443
%443 = OpLabel %443 = OpLabel
%487 = OpLoad %int %i_37 %484 = OpLoad %int %i_37
%488 = OpIAdd %int %487 %int_1 %485 = OpIAdd %int %484 %int_1
OpStore %i_37 %488 OpStore %i_37 %485
OpBranch %441 OpBranch %441
%442 = OpLabel %442 = OpLabel
OpBranch %434 OpBranch %434
%434 = OpLabel %434 = OpLabel
%489 = OpLoad %int %i_36 %486 = OpLoad %int %i_36
%490 = OpIAdd %int %489 %int_1 %487 = OpIAdd %int %486 %int_1
OpStore %i_36 %490 OpStore %i_36 %487
OpBranch %432 OpBranch %432
%433 = OpLabel %433 = OpLabel
OpBranch %425 OpBranch %425
%425 = OpLabel %425 = OpLabel
%491 = OpLoad %int %i_35 %488 = OpLoad %int %i_35
%492 = OpIAdd %int %491 %int_1 %489 = OpIAdd %int %488 %int_1
OpStore %i_35 %492 OpStore %i_35 %489
OpBranch %423 OpBranch %423
%424 = OpLabel %424 = OpLabel
OpBranch %416 OpBranch %416
%416 = OpLabel %416 = OpLabel
%493 = OpLoad %int %i_34 %490 = OpLoad %int %i_34
%494 = OpIAdd %int %493 %int_1 %491 = OpIAdd %int %490 %int_1
OpStore %i_34 %494 OpStore %i_34 %491
OpBranch %414 OpBranch %414
%415 = OpLabel %415 = OpLabel
OpBranch %407 OpBranch %407
%407 = OpLabel %407 = OpLabel
%495 = OpLoad %int %i_33 %492 = OpLoad %int %i_33
%496 = OpIAdd %int %495 %int_1 %493 = OpIAdd %int %492 %int_1
OpStore %i_33 %496 OpStore %i_33 %493
OpBranch %405 OpBranch %405
%406 = OpLabel %406 = OpLabel
OpBranch %398 OpBranch %398
%398 = OpLabel %398 = OpLabel
%497 = OpLoad %int %i_32 %494 = OpLoad %int %i_32
%498 = OpIAdd %int %497 %int_1 %495 = OpIAdd %int %494 %int_1
OpStore %i_32 %498 OpStore %i_32 %495
OpBranch %396 OpBranch %396
%397 = OpLabel %397 = OpLabel
OpBranch %389 OpBranch %389
%389 = OpLabel %389 = OpLabel
%499 = OpLoad %int %i_31 %496 = OpLoad %int %i_31
%500 = OpIAdd %int %499 %int_1 %497 = OpIAdd %int %496 %int_1
OpStore %i_31 %500 OpStore %i_31 %497
OpBranch %387 OpBranch %387
%388 = OpLabel %388 = OpLabel
OpBranch %380 OpBranch %380
%380 = OpLabel %380 = OpLabel
%501 = OpLoad %int %i_30 %498 = OpLoad %int %i_30
%502 = OpIAdd %int %501 %int_1 %499 = OpIAdd %int %498 %int_1
OpStore %i_30 %502 OpStore %i_30 %499
OpBranch %378 OpBranch %378
%379 = OpLabel %379 = OpLabel
OpBranch %371 OpBranch %371
%371 = OpLabel %371 = OpLabel
%503 = OpLoad %int %i_29 %500 = OpLoad %int %i_29
%504 = OpIAdd %int %503 %int_1 %501 = OpIAdd %int %500 %int_1
OpStore %i_29 %504 OpStore %i_29 %501
OpBranch %369 OpBranch %369
%370 = OpLabel %370 = OpLabel
OpBranch %362 OpBranch %362
%362 = OpLabel %362 = OpLabel
%505 = OpLoad %int %i_28 %502 = OpLoad %int %i_28
%506 = OpIAdd %int %505 %int_1 %503 = OpIAdd %int %502 %int_1
OpStore %i_28 %506 OpStore %i_28 %503
OpBranch %360 OpBranch %360
%361 = OpLabel %361 = OpLabel
OpBranch %353 OpBranch %353
%353 = OpLabel %353 = OpLabel
%507 = OpLoad %int %i_27 %504 = OpLoad %int %i_27
%508 = OpIAdd %int %507 %int_1 %505 = OpIAdd %int %504 %int_1
OpStore %i_27 %508 OpStore %i_27 %505
OpBranch %351 OpBranch %351
%352 = OpLabel %352 = OpLabel
OpBranch %344 OpBranch %344
%344 = OpLabel %344 = OpLabel
%509 = OpLoad %int %i_26 %506 = OpLoad %int %i_26
%510 = OpIAdd %int %509 %int_1 %507 = OpIAdd %int %506 %int_1
OpStore %i_26 %510 OpStore %i_26 %507
OpBranch %342 OpBranch %342
%343 = OpLabel %343 = OpLabel
OpBranch %335 OpBranch %335
%335 = OpLabel %335 = OpLabel
%511 = OpLoad %int %i_25 %508 = OpLoad %int %i_25
%512 = OpIAdd %int %511 %int_1 %509 = OpIAdd %int %508 %int_1
OpStore %i_25 %512 OpStore %i_25 %509
OpBranch %333 OpBranch %333
%334 = OpLabel %334 = OpLabel
OpBranch %326 OpBranch %326
%326 = OpLabel %326 = OpLabel
%513 = OpLoad %int %i_24 %510 = OpLoad %int %i_24
%514 = OpIAdd %int %513 %int_1 %511 = OpIAdd %int %510 %int_1
OpStore %i_24 %514 OpStore %i_24 %511
OpBranch %324 OpBranch %324
%325 = OpLabel %325 = OpLabel
OpBranch %317 OpBranch %317
%317 = OpLabel %317 = OpLabel
%515 = OpLoad %int %i_23 %512 = OpLoad %int %i_23
%516 = OpIAdd %int %515 %int_1 %513 = OpIAdd %int %512 %int_1
OpStore %i_23 %516 OpStore %i_23 %513
OpBranch %315 OpBranch %315
%316 = OpLabel %316 = OpLabel
OpBranch %308 OpBranch %308
%308 = OpLabel %308 = OpLabel
%517 = OpLoad %int %i_22 %514 = OpLoad %int %i_22
%518 = OpIAdd %int %517 %int_1 %515 = OpIAdd %int %514 %int_1
OpStore %i_22 %518 OpStore %i_22 %515
OpBranch %306 OpBranch %306
%307 = OpLabel %307 = OpLabel
OpBranch %299 OpBranch %299
%299 = OpLabel %299 = OpLabel
%519 = OpLoad %int %i_21 %516 = OpLoad %int %i_21
%520 = OpIAdd %int %519 %int_1 %517 = OpIAdd %int %516 %int_1
OpStore %i_21 %520 OpStore %i_21 %517
OpBranch %297 OpBranch %297
%298 = OpLabel %298 = OpLabel
OpBranch %290 OpBranch %290
%290 = OpLabel %290 = OpLabel
%521 = OpLoad %int %i_20 %518 = OpLoad %int %i_20
%522 = OpIAdd %int %521 %int_1 %519 = OpIAdd %int %518 %int_1
OpStore %i_20 %522 OpStore %i_20 %519
OpBranch %288 OpBranch %288
%289 = OpLabel %289 = OpLabel
OpBranch %281 OpBranch %281
%281 = OpLabel %281 = OpLabel
%523 = OpLoad %int %i_19 %520 = OpLoad %int %i_19
%524 = OpIAdd %int %523 %int_1 %521 = OpIAdd %int %520 %int_1
OpStore %i_19 %524 OpStore %i_19 %521
OpBranch %279 OpBranch %279
%280 = OpLabel %280 = OpLabel
OpBranch %272 OpBranch %272
%272 = OpLabel %272 = OpLabel
%525 = OpLoad %int %i_18 %522 = OpLoad %int %i_18
%526 = OpIAdd %int %525 %int_1 %523 = OpIAdd %int %522 %int_1
OpStore %i_18 %526 OpStore %i_18 %523
OpBranch %270 OpBranch %270
%271 = OpLabel %271 = OpLabel
OpBranch %263 OpBranch %263
%263 = OpLabel %263 = OpLabel
%527 = OpLoad %int %i_17 %524 = OpLoad %int %i_17
%528 = OpIAdd %int %527 %int_1 %525 = OpIAdd %int %524 %int_1
OpStore %i_17 %528 OpStore %i_17 %525
OpBranch %261 OpBranch %261
%262 = OpLabel %262 = OpLabel
OpBranch %254 OpBranch %254
%254 = OpLabel %254 = OpLabel
%529 = OpLoad %int %i_16 %526 = OpLoad %int %i_16
%530 = OpIAdd %int %529 %int_1 %527 = OpIAdd %int %526 %int_1
OpStore %i_16 %530 OpStore %i_16 %527
OpBranch %252 OpBranch %252
%253 = OpLabel %253 = OpLabel
OpBranch %245 OpBranch %245
%245 = OpLabel %245 = OpLabel
%531 = OpLoad %int %i_15 %528 = OpLoad %int %i_15
%532 = OpIAdd %int %531 %int_1 %529 = OpIAdd %int %528 %int_1
OpStore %i_15 %532 OpStore %i_15 %529
OpBranch %243 OpBranch %243
%244 = OpLabel %244 = OpLabel
OpBranch %236 OpBranch %236
%236 = OpLabel %236 = OpLabel
%533 = OpLoad %int %i_14 %530 = OpLoad %int %i_14
%534 = OpIAdd %int %533 %int_1 %531 = OpIAdd %int %530 %int_1
OpStore %i_14 %534 OpStore %i_14 %531
OpBranch %234 OpBranch %234
%235 = OpLabel %235 = OpLabel
OpBranch %227 OpBranch %227
%227 = OpLabel %227 = OpLabel
%535 = OpLoad %int %i_13 %532 = OpLoad %int %i_13
%536 = OpIAdd %int %535 %int_1 %533 = OpIAdd %int %532 %int_1
OpStore %i_13 %536 OpStore %i_13 %533
OpBranch %225 OpBranch %225
%226 = OpLabel %226 = OpLabel
OpBranch %218 OpBranch %218
%218 = OpLabel %218 = OpLabel
%537 = OpLoad %int %i_12 %534 = OpLoad %int %i_12
%538 = OpIAdd %int %537 %int_1 %535 = OpIAdd %int %534 %int_1
OpStore %i_12 %538 OpStore %i_12 %535
OpBranch %216 OpBranch %216
%217 = OpLabel %217 = OpLabel
OpBranch %209 OpBranch %209
%209 = OpLabel %209 = OpLabel
%539 = OpLoad %int %i_11 %536 = OpLoad %int %i_11
%540 = OpIAdd %int %539 %int_1 %537 = OpIAdd %int %536 %int_1
OpStore %i_11 %540 OpStore %i_11 %537
OpBranch %207 OpBranch %207
%208 = OpLabel %208 = OpLabel
OpBranch %200 OpBranch %200
%200 = OpLabel %200 = OpLabel
%541 = OpLoad %int %i_10 %538 = OpLoad %int %i_10
%542 = OpIAdd %int %541 %int_1 %539 = OpIAdd %int %538 %int_1
OpStore %i_10 %542 OpStore %i_10 %539
OpBranch %198 OpBranch %198
%199 = OpLabel %199 = OpLabel
OpBranch %191 OpBranch %191
%191 = OpLabel %191 = OpLabel
%543 = OpLoad %int %i_9 %540 = OpLoad %int %i_9
%544 = OpIAdd %int %543 %int_1 %541 = OpIAdd %int %540 %int_1
OpStore %i_9 %544 OpStore %i_9 %541
OpBranch %189 OpBranch %189
%190 = OpLabel %190 = OpLabel
OpBranch %182 OpBranch %182
%182 = OpLabel %182 = OpLabel
%545 = OpLoad %int %i_8 %542 = OpLoad %int %i_8
%546 = OpIAdd %int %545 %int_1 %543 = OpIAdd %int %542 %int_1
OpStore %i_8 %546 OpStore %i_8 %543
OpBranch %180 OpBranch %180
%181 = OpLabel %181 = OpLabel
OpBranch %173 OpBranch %173
%173 = OpLabel %173 = OpLabel
%547 = OpLoad %int %i_7 %544 = OpLoad %int %i_7
%548 = OpIAdd %int %547 %int_1 %545 = OpIAdd %int %544 %int_1
OpStore %i_7 %548 OpStore %i_7 %545
OpBranch %171 OpBranch %171
%172 = OpLabel %172 = OpLabel
OpBranch %164 OpBranch %164
%164 = OpLabel %164 = OpLabel
%549 = OpLoad %int %i_6 %546 = OpLoad %int %i_6
%550 = OpIAdd %int %549 %int_1 %547 = OpIAdd %int %546 %int_1
OpStore %i_6 %550 OpStore %i_6 %547
OpBranch %162 OpBranch %162
%163 = OpLabel %163 = OpLabel
OpBranch %155 OpBranch %155
%155 = OpLabel %155 = OpLabel
%551 = OpLoad %int %i_5 %548 = OpLoad %int %i_5
%552 = OpIAdd %int %551 %int_1 %549 = OpIAdd %int %548 %int_1
OpStore %i_5 %552 OpStore %i_5 %549
OpBranch %153 OpBranch %153
%154 = OpLabel %154 = OpLabel
OpBranch %146 OpBranch %146
%146 = OpLabel %146 = OpLabel
%553 = OpLoad %int %i_4 %550 = OpLoad %int %i_4
%554 = OpIAdd %int %553 %int_1 %551 = OpIAdd %int %550 %int_1
OpStore %i_4 %554 OpStore %i_4 %551
OpBranch %144 OpBranch %144
%145 = OpLabel %145 = OpLabel
OpBranch %137 OpBranch %137
%137 = OpLabel %137 = OpLabel
%555 = OpLoad %int %i_3 %552 = OpLoad %int %i_3
%556 = OpIAdd %int %555 %int_1 %553 = OpIAdd %int %552 %int_1
OpStore %i_3 %556 OpStore %i_3 %553
OpBranch %135 OpBranch %135
%136 = OpLabel %136 = OpLabel
OpBranch %128 OpBranch %128
%128 = OpLabel %128 = OpLabel
%557 = OpLoad %int %i_2 %554 = OpLoad %int %i_2
%558 = OpIAdd %int %557 %int_1 %555 = OpIAdd %int %554 %int_1
OpStore %i_2 %558 OpStore %i_2 %555
OpBranch %126 OpBranch %126
%127 = OpLabel %127 = OpLabel
OpBranch %119 OpBranch %119
%119 = OpLabel %119 = OpLabel
%559 = OpLoad %int %i_1 %556 = OpLoad %int %i_1
%560 = OpIAdd %int %559 %int_1 %557 = OpIAdd %int %556 %int_1
OpStore %i_1 %560 OpStore %i_1 %557
OpBranch %117 OpBranch %117
%118 = OpLabel %118 = OpLabel
OpBranch %108 OpBranch %108
%108 = OpLabel %108 = OpLabel
%561 = OpLoad %int %i %558 = OpLoad %int %i
%562 = OpIAdd %int %561 %int_1 %559 = OpIAdd %int %558 %int_1
OpStore %i %562 OpStore %i %559
OpBranch %106 OpBranch %106
%107 = OpLabel %107 = OpLabel
OpStore %sum %float_0 OpStore %sum %float_0
OpStore %r %int_0 OpStore %r %int_0
OpBranch %560
%560 = OpLabel
OpLoopMerge %561 %562 None
OpBranch %563 OpBranch %563
%563 = OpLabel %563 = OpLabel
OpLoopMerge %564 %565 None %564 = OpLoad %int %x_GLF_global_loop_count
OpBranch %566 %566 = OpSLessThan %bool %564 %int_100
%566 = OpLabel OpSelectionMerge %567 None
%567 = OpLoad %int %x_GLF_global_loop_count OpBranchConditional %566 %568 %569
%569 = OpSLessThan %bool %567 %int_100 %568 = OpLabel
OpSelectionMerge %570 None OpBranch %567
OpBranchConditional %569 %571 %572 %569 = OpLabel
%571 = OpLabel OpBranch %561
OpBranch %570 %567 = OpLabel
%572 = OpLabel %570 = OpLoad %int %x_GLF_global_loop_count
OpBranch %564 %571 = OpIAdd %int %570 %int_1
%570 = OpLabel OpStore %x_GLF_global_loop_count %571
%573 = OpLoad %int %x_GLF_global_loop_count %572 = OpLoad %int %r
%574 = OpIAdd %int %573 %int_1 %573 = OpAccessChain %_ptr_Function_float %m23 %int_0 %572
OpStore %x_GLF_global_loop_count %574 %574 = OpLoad %float %573
%575 = OpLoad %int %r %575 = OpLoad %float %sum
%576 = OpAccessChain %_ptr_Function_float %m23 %int_0 %575 %576 = OpFAdd %float %575 %574
%577 = OpLoad %float %576 OpStore %sum %576
%578 = OpLoad %float %sum %577 = OpLoad %int %r
%579 = OpFAdd %float %578 %577 %578 = OpAccessChain %_ptr_Function_float %m24 %int_0 %577
OpStore %sum %579 %579 = OpLoad %float %578
%580 = OpLoad %int %r %580 = OpLoad %float %sum
%581 = OpAccessChain %_ptr_Function_float %m24 %int_0 %580 %581 = OpFAdd %float %580 %579
%582 = OpLoad %float %581 OpStore %sum %581
%583 = OpLoad %float %sum %582 = OpLoad %int %r
%584 = OpFAdd %float %583 %582 %583 = OpAccessChain %_ptr_Function_float %m32 %int_0 %582
OpStore %sum %584 %584 = OpLoad %float %583
%585 = OpLoad %int %r %585 = OpLoad %float %sum
%586 = OpAccessChain %_ptr_Function_float %m32 %int_0 %585 %586 = OpFAdd %float %585 %584
%587 = OpLoad %float %586 OpStore %sum %586
%588 = OpLoad %float %sum %587 = OpLoad %int %r
%589 = OpFAdd %float %588 %587 %588 = OpAccessChain %_ptr_Function_float %m33 %int_0 %587
OpStore %sum %589 %589 = OpLoad %float %588
%590 = OpLoad %int %r %590 = OpLoad %float %sum
%591 = OpAccessChain %_ptr_Function_float %m33 %int_0 %590 %591 = OpFAdd %float %590 %589
%592 = OpLoad %float %591 OpStore %sum %591
%593 = OpLoad %float %sum %592 = OpLoad %int %r
%594 = OpFAdd %float %593 %592 %593 = OpAccessChain %_ptr_Function_float %m34 %int_0 %592
OpStore %sum %594 %594 = OpLoad %float %593
%595 = OpLoad %int %r %595 = OpLoad %float %sum
%596 = OpAccessChain %_ptr_Function_float %m34 %int_0 %595 %596 = OpFAdd %float %595 %594
%597 = OpLoad %float %596 OpStore %sum %596
%598 = OpLoad %float %sum %597 = OpLoad %int %r
%599 = OpFAdd %float %598 %597 %598 = OpAccessChain %_ptr_Function_float %m42 %int_0 %597
OpStore %sum %599 %599 = OpLoad %float %598
%600 = OpLoad %int %r %600 = OpLoad %float %sum
%601 = OpAccessChain %_ptr_Function_float %m42 %int_0 %600 %601 = OpFAdd %float %600 %599
%602 = OpLoad %float %601 OpStore %sum %601
%603 = OpLoad %float %sum %602 = OpLoad %int %r
%604 = OpFAdd %float %603 %602 %603 = OpAccessChain %_ptr_Function_float %m43 %int_0 %602
OpStore %sum %604 %604 = OpLoad %float %603
%605 = OpLoad %int %r %605 = OpLoad %float %sum
%606 = OpAccessChain %_ptr_Function_float %m43 %int_0 %605 %606 = OpFAdd %float %605 %604
%607 = OpLoad %float %606 OpStore %sum %606
%608 = OpLoad %float %sum %607 = OpLoad %int %r
%609 = OpFAdd %float %608 %607 %608 = OpAccessChain %_ptr_Function_float %m44 %int_0 %607
OpStore %sum %609 %609 = OpLoad %float %608
%610 = OpLoad %int %r %610 = OpLoad %float %sum
%611 = OpAccessChain %_ptr_Function_float %m44 %int_0 %610 %611 = OpFAdd %float %610 %609
%612 = OpLoad %float %611 OpStore %sum %611
%613 = OpLoad %float %sum OpBranch %562
%614 = OpFAdd %float %613 %612 %562 = OpLabel
OpStore %sum %614 %612 = OpLoad %int %r
OpBranch %565 %613 = OpIAdd %int %612 %int_1
%565 = OpLabel OpStore %r %613
%615 = OpLoad %int %r OpBranch %560
%616 = OpIAdd %int %615 %int_1 %561 = OpLabel
OpStore %r %616 %614 = OpLoad %float %sum
OpBranch %563 %616 = OpFOrdEqual %bool %614 %float_8
%564 = OpLabel OpSelectionMerge %617 None
%617 = OpLoad %float %sum OpBranchConditional %616 %618 %619
%619 = OpFOrdEqual %bool %617 %float_8 %618 = OpLabel
OpSelectionMerge %620 None OpStore %x_GLF_color %620
OpBranchConditional %619 %621 %622 OpBranch %617
%621 = OpLabel %619 = OpLabel
OpStore %x_GLF_color %623
OpBranch %620
%622 = OpLabel
OpStore %x_GLF_color %97 OpStore %x_GLF_color %97
OpBranch %620 OpBranch %617
%620 = OpLabel %617 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %624 %tint_symbol_2 = OpFunction %void None %621
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%628 = OpLabel %625 = OpLabel
%629 = OpCompositeExtract %v4float %tint_symbol 0 %626 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %629 OpStore %tint_symbol_1 %626
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %12 %main = OpFunction %void None %12
%631 = OpLabel %628 = OpLabel
%632 = OpFunctionCall %void %main_1 %629 = OpFunctionCall %void %main_1
%634 = OpLoad %v4float %x_GLF_color %631 = OpLoad %v4float %x_GLF_color
%635 = OpCompositeConstruct %main_out %634 %632 = OpCompositeConstruct %main_out %631
%633 = OpFunctionCall %void %tint_symbol_2 %635 %630 = OpFunctionCall %void %tint_symbol_2 %632
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 452[%452] is not post dominated by the back-edge block 459[%459]
%459 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 636 ; Bound: 633
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -129,9 +127,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%int_100 = OpConstant %int 100 %int_100 = OpConstant %int 100
%float_8 = OpConstant %float 8 %float_8 = OpConstant %float 8
%623 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %620 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%624 = OpTypeFunction %void %main_out %621 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12 %main_1 = OpFunction %void None %12
%15 = OpLabel %15 = OpLabel
%m23 = OpVariable %_ptr_Function_mat2v3float Function %20 %m23 = OpVariable %_ptr_Function_mat2v3float Function %20
@ -773,415 +771,405 @@ SKIP: FAILED
%452 = OpLabel %452 = OpLabel
%456 = OpLoad %int %x_GLF_global_loop_count %456 = OpLoad %int %x_GLF_global_loop_count
%458 = OpSLessThan %bool %456 %int_98 %458 = OpSLessThan %bool %456 %int_98
OpSelectionMerge %459 None OpBranchConditional %458 %450 %451
OpBranchConditional %458 %460 %461
%460 = OpLabel
OpBranch %459
%461 = OpLabel
OpBranch %451
%459 = OpLabel
OpBranch %450
%451 = OpLabel %451 = OpLabel
%462 = OpLoad %int %i_37 %459 = OpLoad %int %i_37
%460 = OpLoad %int %i_37
%461 = OpAccessChain %_ptr_Function_float %m23 %459 %460
OpStore %461 %float_1
%463 = OpLoad %int %i_37 %463 = OpLoad %int %i_37
%464 = OpAccessChain %_ptr_Function_float %m23 %462 %463 %464 = OpLoad %int %i_37
OpStore %464 %float_1 %465 = OpAccessChain %_ptr_Function_float %m24 %463 %464
OpStore %465 %float_1
%466 = OpLoad %int %i_37 %466 = OpLoad %int %i_37
%467 = OpLoad %int %i_37 %467 = OpLoad %int %i_37
%468 = OpAccessChain %_ptr_Function_float %m24 %466 %467 %468 = OpAccessChain %_ptr_Function_float %m32 %466 %467
OpStore %468 %float_1 OpStore %468 %float_1
%469 = OpLoad %int %i_37 %469 = OpLoad %int %i_37
%470 = OpLoad %int %i_37 %470 = OpLoad %int %i_37
%471 = OpAccessChain %_ptr_Function_float %m32 %469 %470 %471 = OpAccessChain %_ptr_Function_float %m33 %469 %470
OpStore %471 %float_1 OpStore %471 %float_1
%472 = OpLoad %int %i_37 %472 = OpLoad %int %i_37
%473 = OpLoad %int %i_37 %473 = OpLoad %int %i_37
%474 = OpAccessChain %_ptr_Function_float %m33 %472 %473 %474 = OpAccessChain %_ptr_Function_float %m34 %472 %473
OpStore %474 %float_1 OpStore %474 %float_1
%475 = OpLoad %int %i_37 %475 = OpLoad %int %i_37
%476 = OpLoad %int %i_37 %476 = OpLoad %int %i_37
%477 = OpAccessChain %_ptr_Function_float %m34 %475 %476 %477 = OpAccessChain %_ptr_Function_float %m42 %475 %476
OpStore %477 %float_1 OpStore %477 %float_1
%478 = OpLoad %int %i_37 %478 = OpLoad %int %i_37
%479 = OpLoad %int %i_37 %479 = OpLoad %int %i_37
%480 = OpAccessChain %_ptr_Function_float %m42 %478 %479 %480 = OpAccessChain %_ptr_Function_float %m43 %478 %479
OpStore %480 %float_1 OpStore %480 %float_1
%481 = OpLoad %int %i_37 %481 = OpLoad %int %i_37
%482 = OpLoad %int %i_37 %482 = OpLoad %int %i_37
%483 = OpAccessChain %_ptr_Function_float %m43 %481 %482 %483 = OpAccessChain %_ptr_Function_float %m44 %481 %482
OpStore %483 %float_1 OpStore %483 %float_1
%484 = OpLoad %int %i_37
%485 = OpLoad %int %i_37
%486 = OpAccessChain %_ptr_Function_float %m44 %484 %485
OpStore %486 %float_1
OpBranch %443 OpBranch %443
%443 = OpLabel %443 = OpLabel
%487 = OpLoad %int %i_37 %484 = OpLoad %int %i_37
%488 = OpIAdd %int %487 %int_1 %485 = OpIAdd %int %484 %int_1
OpStore %i_37 %488 OpStore %i_37 %485
OpBranch %441 OpBranch %441
%442 = OpLabel %442 = OpLabel
OpBranch %434 OpBranch %434
%434 = OpLabel %434 = OpLabel
%489 = OpLoad %int %i_36 %486 = OpLoad %int %i_36
%490 = OpIAdd %int %489 %int_1 %487 = OpIAdd %int %486 %int_1
OpStore %i_36 %490 OpStore %i_36 %487
OpBranch %432 OpBranch %432
%433 = OpLabel %433 = OpLabel
OpBranch %425 OpBranch %425
%425 = OpLabel %425 = OpLabel
%491 = OpLoad %int %i_35 %488 = OpLoad %int %i_35
%492 = OpIAdd %int %491 %int_1 %489 = OpIAdd %int %488 %int_1
OpStore %i_35 %492 OpStore %i_35 %489
OpBranch %423 OpBranch %423
%424 = OpLabel %424 = OpLabel
OpBranch %416 OpBranch %416
%416 = OpLabel %416 = OpLabel
%493 = OpLoad %int %i_34 %490 = OpLoad %int %i_34
%494 = OpIAdd %int %493 %int_1 %491 = OpIAdd %int %490 %int_1
OpStore %i_34 %494 OpStore %i_34 %491
OpBranch %414 OpBranch %414
%415 = OpLabel %415 = OpLabel
OpBranch %407 OpBranch %407
%407 = OpLabel %407 = OpLabel
%495 = OpLoad %int %i_33 %492 = OpLoad %int %i_33
%496 = OpIAdd %int %495 %int_1 %493 = OpIAdd %int %492 %int_1
OpStore %i_33 %496 OpStore %i_33 %493
OpBranch %405 OpBranch %405
%406 = OpLabel %406 = OpLabel
OpBranch %398 OpBranch %398
%398 = OpLabel %398 = OpLabel
%497 = OpLoad %int %i_32 %494 = OpLoad %int %i_32
%498 = OpIAdd %int %497 %int_1 %495 = OpIAdd %int %494 %int_1
OpStore %i_32 %498 OpStore %i_32 %495
OpBranch %396 OpBranch %396
%397 = OpLabel %397 = OpLabel
OpBranch %389 OpBranch %389
%389 = OpLabel %389 = OpLabel
%499 = OpLoad %int %i_31 %496 = OpLoad %int %i_31
%500 = OpIAdd %int %499 %int_1 %497 = OpIAdd %int %496 %int_1
OpStore %i_31 %500 OpStore %i_31 %497
OpBranch %387 OpBranch %387
%388 = OpLabel %388 = OpLabel
OpBranch %380 OpBranch %380
%380 = OpLabel %380 = OpLabel
%501 = OpLoad %int %i_30 %498 = OpLoad %int %i_30
%502 = OpIAdd %int %501 %int_1 %499 = OpIAdd %int %498 %int_1
OpStore %i_30 %502 OpStore %i_30 %499
OpBranch %378 OpBranch %378
%379 = OpLabel %379 = OpLabel
OpBranch %371 OpBranch %371
%371 = OpLabel %371 = OpLabel
%503 = OpLoad %int %i_29 %500 = OpLoad %int %i_29
%504 = OpIAdd %int %503 %int_1 %501 = OpIAdd %int %500 %int_1
OpStore %i_29 %504 OpStore %i_29 %501
OpBranch %369 OpBranch %369
%370 = OpLabel %370 = OpLabel
OpBranch %362 OpBranch %362
%362 = OpLabel %362 = OpLabel
%505 = OpLoad %int %i_28 %502 = OpLoad %int %i_28
%506 = OpIAdd %int %505 %int_1 %503 = OpIAdd %int %502 %int_1
OpStore %i_28 %506 OpStore %i_28 %503
OpBranch %360 OpBranch %360
%361 = OpLabel %361 = OpLabel
OpBranch %353 OpBranch %353
%353 = OpLabel %353 = OpLabel
%507 = OpLoad %int %i_27 %504 = OpLoad %int %i_27
%508 = OpIAdd %int %507 %int_1 %505 = OpIAdd %int %504 %int_1
OpStore %i_27 %508 OpStore %i_27 %505
OpBranch %351 OpBranch %351
%352 = OpLabel %352 = OpLabel
OpBranch %344 OpBranch %344
%344 = OpLabel %344 = OpLabel
%509 = OpLoad %int %i_26 %506 = OpLoad %int %i_26
%510 = OpIAdd %int %509 %int_1 %507 = OpIAdd %int %506 %int_1
OpStore %i_26 %510 OpStore %i_26 %507
OpBranch %342 OpBranch %342
%343 = OpLabel %343 = OpLabel
OpBranch %335 OpBranch %335
%335 = OpLabel %335 = OpLabel
%511 = OpLoad %int %i_25 %508 = OpLoad %int %i_25
%512 = OpIAdd %int %511 %int_1 %509 = OpIAdd %int %508 %int_1
OpStore %i_25 %512 OpStore %i_25 %509
OpBranch %333 OpBranch %333
%334 = OpLabel %334 = OpLabel
OpBranch %326 OpBranch %326
%326 = OpLabel %326 = OpLabel
%513 = OpLoad %int %i_24 %510 = OpLoad %int %i_24
%514 = OpIAdd %int %513 %int_1 %511 = OpIAdd %int %510 %int_1
OpStore %i_24 %514 OpStore %i_24 %511
OpBranch %324 OpBranch %324
%325 = OpLabel %325 = OpLabel
OpBranch %317 OpBranch %317
%317 = OpLabel %317 = OpLabel
%515 = OpLoad %int %i_23 %512 = OpLoad %int %i_23
%516 = OpIAdd %int %515 %int_1 %513 = OpIAdd %int %512 %int_1
OpStore %i_23 %516 OpStore %i_23 %513
OpBranch %315 OpBranch %315
%316 = OpLabel %316 = OpLabel
OpBranch %308 OpBranch %308
%308 = OpLabel %308 = OpLabel
%517 = OpLoad %int %i_22 %514 = OpLoad %int %i_22
%518 = OpIAdd %int %517 %int_1 %515 = OpIAdd %int %514 %int_1
OpStore %i_22 %518 OpStore %i_22 %515
OpBranch %306 OpBranch %306
%307 = OpLabel %307 = OpLabel
OpBranch %299 OpBranch %299
%299 = OpLabel %299 = OpLabel
%519 = OpLoad %int %i_21 %516 = OpLoad %int %i_21
%520 = OpIAdd %int %519 %int_1 %517 = OpIAdd %int %516 %int_1
OpStore %i_21 %520 OpStore %i_21 %517
OpBranch %297 OpBranch %297
%298 = OpLabel %298 = OpLabel
OpBranch %290 OpBranch %290
%290 = OpLabel %290 = OpLabel
%521 = OpLoad %int %i_20 %518 = OpLoad %int %i_20
%522 = OpIAdd %int %521 %int_1 %519 = OpIAdd %int %518 %int_1
OpStore %i_20 %522 OpStore %i_20 %519
OpBranch %288 OpBranch %288
%289 = OpLabel %289 = OpLabel
OpBranch %281 OpBranch %281
%281 = OpLabel %281 = OpLabel
%523 = OpLoad %int %i_19 %520 = OpLoad %int %i_19
%524 = OpIAdd %int %523 %int_1 %521 = OpIAdd %int %520 %int_1
OpStore %i_19 %524 OpStore %i_19 %521
OpBranch %279 OpBranch %279
%280 = OpLabel %280 = OpLabel
OpBranch %272 OpBranch %272
%272 = OpLabel %272 = OpLabel
%525 = OpLoad %int %i_18 %522 = OpLoad %int %i_18
%526 = OpIAdd %int %525 %int_1 %523 = OpIAdd %int %522 %int_1
OpStore %i_18 %526 OpStore %i_18 %523
OpBranch %270 OpBranch %270
%271 = OpLabel %271 = OpLabel
OpBranch %263 OpBranch %263
%263 = OpLabel %263 = OpLabel
%527 = OpLoad %int %i_17 %524 = OpLoad %int %i_17
%528 = OpIAdd %int %527 %int_1 %525 = OpIAdd %int %524 %int_1
OpStore %i_17 %528 OpStore %i_17 %525
OpBranch %261 OpBranch %261
%262 = OpLabel %262 = OpLabel
OpBranch %254 OpBranch %254
%254 = OpLabel %254 = OpLabel
%529 = OpLoad %int %i_16 %526 = OpLoad %int %i_16
%530 = OpIAdd %int %529 %int_1 %527 = OpIAdd %int %526 %int_1
OpStore %i_16 %530 OpStore %i_16 %527
OpBranch %252 OpBranch %252
%253 = OpLabel %253 = OpLabel
OpBranch %245 OpBranch %245
%245 = OpLabel %245 = OpLabel
%531 = OpLoad %int %i_15 %528 = OpLoad %int %i_15
%532 = OpIAdd %int %531 %int_1 %529 = OpIAdd %int %528 %int_1
OpStore %i_15 %532 OpStore %i_15 %529
OpBranch %243 OpBranch %243
%244 = OpLabel %244 = OpLabel
OpBranch %236 OpBranch %236
%236 = OpLabel %236 = OpLabel
%533 = OpLoad %int %i_14 %530 = OpLoad %int %i_14
%534 = OpIAdd %int %533 %int_1 %531 = OpIAdd %int %530 %int_1
OpStore %i_14 %534 OpStore %i_14 %531
OpBranch %234 OpBranch %234
%235 = OpLabel %235 = OpLabel
OpBranch %227 OpBranch %227
%227 = OpLabel %227 = OpLabel
%535 = OpLoad %int %i_13 %532 = OpLoad %int %i_13
%536 = OpIAdd %int %535 %int_1 %533 = OpIAdd %int %532 %int_1
OpStore %i_13 %536 OpStore %i_13 %533
OpBranch %225 OpBranch %225
%226 = OpLabel %226 = OpLabel
OpBranch %218 OpBranch %218
%218 = OpLabel %218 = OpLabel
%537 = OpLoad %int %i_12 %534 = OpLoad %int %i_12
%538 = OpIAdd %int %537 %int_1 %535 = OpIAdd %int %534 %int_1
OpStore %i_12 %538 OpStore %i_12 %535
OpBranch %216 OpBranch %216
%217 = OpLabel %217 = OpLabel
OpBranch %209 OpBranch %209
%209 = OpLabel %209 = OpLabel
%539 = OpLoad %int %i_11 %536 = OpLoad %int %i_11
%540 = OpIAdd %int %539 %int_1 %537 = OpIAdd %int %536 %int_1
OpStore %i_11 %540 OpStore %i_11 %537
OpBranch %207 OpBranch %207
%208 = OpLabel %208 = OpLabel
OpBranch %200 OpBranch %200
%200 = OpLabel %200 = OpLabel
%541 = OpLoad %int %i_10 %538 = OpLoad %int %i_10
%542 = OpIAdd %int %541 %int_1 %539 = OpIAdd %int %538 %int_1
OpStore %i_10 %542 OpStore %i_10 %539
OpBranch %198 OpBranch %198
%199 = OpLabel %199 = OpLabel
OpBranch %191 OpBranch %191
%191 = OpLabel %191 = OpLabel
%543 = OpLoad %int %i_9 %540 = OpLoad %int %i_9
%544 = OpIAdd %int %543 %int_1 %541 = OpIAdd %int %540 %int_1
OpStore %i_9 %544 OpStore %i_9 %541
OpBranch %189 OpBranch %189
%190 = OpLabel %190 = OpLabel
OpBranch %182 OpBranch %182
%182 = OpLabel %182 = OpLabel
%545 = OpLoad %int %i_8 %542 = OpLoad %int %i_8
%546 = OpIAdd %int %545 %int_1 %543 = OpIAdd %int %542 %int_1
OpStore %i_8 %546 OpStore %i_8 %543
OpBranch %180 OpBranch %180
%181 = OpLabel %181 = OpLabel
OpBranch %173 OpBranch %173
%173 = OpLabel %173 = OpLabel
%547 = OpLoad %int %i_7 %544 = OpLoad %int %i_7
%548 = OpIAdd %int %547 %int_1 %545 = OpIAdd %int %544 %int_1
OpStore %i_7 %548 OpStore %i_7 %545
OpBranch %171 OpBranch %171
%172 = OpLabel %172 = OpLabel
OpBranch %164 OpBranch %164
%164 = OpLabel %164 = OpLabel
%549 = OpLoad %int %i_6 %546 = OpLoad %int %i_6
%550 = OpIAdd %int %549 %int_1 %547 = OpIAdd %int %546 %int_1
OpStore %i_6 %550 OpStore %i_6 %547
OpBranch %162 OpBranch %162
%163 = OpLabel %163 = OpLabel
OpBranch %155 OpBranch %155
%155 = OpLabel %155 = OpLabel
%551 = OpLoad %int %i_5 %548 = OpLoad %int %i_5
%552 = OpIAdd %int %551 %int_1 %549 = OpIAdd %int %548 %int_1
OpStore %i_5 %552 OpStore %i_5 %549
OpBranch %153 OpBranch %153
%154 = OpLabel %154 = OpLabel
OpBranch %146 OpBranch %146
%146 = OpLabel %146 = OpLabel
%553 = OpLoad %int %i_4 %550 = OpLoad %int %i_4
%554 = OpIAdd %int %553 %int_1 %551 = OpIAdd %int %550 %int_1
OpStore %i_4 %554 OpStore %i_4 %551
OpBranch %144 OpBranch %144
%145 = OpLabel %145 = OpLabel
OpBranch %137 OpBranch %137
%137 = OpLabel %137 = OpLabel
%555 = OpLoad %int %i_3 %552 = OpLoad %int %i_3
%556 = OpIAdd %int %555 %int_1 %553 = OpIAdd %int %552 %int_1
OpStore %i_3 %556 OpStore %i_3 %553
OpBranch %135 OpBranch %135
%136 = OpLabel %136 = OpLabel
OpBranch %128 OpBranch %128
%128 = OpLabel %128 = OpLabel
%557 = OpLoad %int %i_2 %554 = OpLoad %int %i_2
%558 = OpIAdd %int %557 %int_1 %555 = OpIAdd %int %554 %int_1
OpStore %i_2 %558 OpStore %i_2 %555
OpBranch %126 OpBranch %126
%127 = OpLabel %127 = OpLabel
OpBranch %119 OpBranch %119
%119 = OpLabel %119 = OpLabel
%559 = OpLoad %int %i_1 %556 = OpLoad %int %i_1
%560 = OpIAdd %int %559 %int_1 %557 = OpIAdd %int %556 %int_1
OpStore %i_1 %560 OpStore %i_1 %557
OpBranch %117 OpBranch %117
%118 = OpLabel %118 = OpLabel
OpBranch %108 OpBranch %108
%108 = OpLabel %108 = OpLabel
%561 = OpLoad %int %i %558 = OpLoad %int %i
%562 = OpIAdd %int %561 %int_1 %559 = OpIAdd %int %558 %int_1
OpStore %i %562 OpStore %i %559
OpBranch %106 OpBranch %106
%107 = OpLabel %107 = OpLabel
OpStore %sum %float_0 OpStore %sum %float_0
OpStore %r %int_0 OpStore %r %int_0
OpBranch %560
%560 = OpLabel
OpLoopMerge %561 %562 None
OpBranch %563 OpBranch %563
%563 = OpLabel %563 = OpLabel
OpLoopMerge %564 %565 None %564 = OpLoad %int %x_GLF_global_loop_count
OpBranch %566 %566 = OpSLessThan %bool %564 %int_100
%566 = OpLabel OpSelectionMerge %567 None
%567 = OpLoad %int %x_GLF_global_loop_count OpBranchConditional %566 %568 %569
%569 = OpSLessThan %bool %567 %int_100 %568 = OpLabel
OpSelectionMerge %570 None OpBranch %567
OpBranchConditional %569 %571 %572 %569 = OpLabel
%571 = OpLabel OpBranch %561
OpBranch %570 %567 = OpLabel
%572 = OpLabel %570 = OpLoad %int %x_GLF_global_loop_count
OpBranch %564 %571 = OpIAdd %int %570 %int_1
%570 = OpLabel OpStore %x_GLF_global_loop_count %571
%573 = OpLoad %int %x_GLF_global_loop_count %572 = OpLoad %int %r
%574 = OpIAdd %int %573 %int_1 %573 = OpAccessChain %_ptr_Function_float %m23 %int_0 %572
OpStore %x_GLF_global_loop_count %574 %574 = OpLoad %float %573
%575 = OpLoad %int %r %575 = OpLoad %float %sum
%576 = OpAccessChain %_ptr_Function_float %m23 %int_0 %575 %576 = OpFAdd %float %575 %574
%577 = OpLoad %float %576 OpStore %sum %576
%578 = OpLoad %float %sum %577 = OpLoad %int %r
%579 = OpFAdd %float %578 %577 %578 = OpAccessChain %_ptr_Function_float %m24 %int_0 %577
OpStore %sum %579 %579 = OpLoad %float %578
%580 = OpLoad %int %r %580 = OpLoad %float %sum
%581 = OpAccessChain %_ptr_Function_float %m24 %int_0 %580 %581 = OpFAdd %float %580 %579
%582 = OpLoad %float %581 OpStore %sum %581
%583 = OpLoad %float %sum %582 = OpLoad %int %r
%584 = OpFAdd %float %583 %582 %583 = OpAccessChain %_ptr_Function_float %m32 %int_0 %582
OpStore %sum %584 %584 = OpLoad %float %583
%585 = OpLoad %int %r %585 = OpLoad %float %sum
%586 = OpAccessChain %_ptr_Function_float %m32 %int_0 %585 %586 = OpFAdd %float %585 %584
%587 = OpLoad %float %586 OpStore %sum %586
%588 = OpLoad %float %sum %587 = OpLoad %int %r
%589 = OpFAdd %float %588 %587 %588 = OpAccessChain %_ptr_Function_float %m33 %int_0 %587
OpStore %sum %589 %589 = OpLoad %float %588
%590 = OpLoad %int %r %590 = OpLoad %float %sum
%591 = OpAccessChain %_ptr_Function_float %m33 %int_0 %590 %591 = OpFAdd %float %590 %589
%592 = OpLoad %float %591 OpStore %sum %591
%593 = OpLoad %float %sum %592 = OpLoad %int %r
%594 = OpFAdd %float %593 %592 %593 = OpAccessChain %_ptr_Function_float %m34 %int_0 %592
OpStore %sum %594 %594 = OpLoad %float %593
%595 = OpLoad %int %r %595 = OpLoad %float %sum
%596 = OpAccessChain %_ptr_Function_float %m34 %int_0 %595 %596 = OpFAdd %float %595 %594
%597 = OpLoad %float %596 OpStore %sum %596
%598 = OpLoad %float %sum %597 = OpLoad %int %r
%599 = OpFAdd %float %598 %597 %598 = OpAccessChain %_ptr_Function_float %m42 %int_0 %597
OpStore %sum %599 %599 = OpLoad %float %598
%600 = OpLoad %int %r %600 = OpLoad %float %sum
%601 = OpAccessChain %_ptr_Function_float %m42 %int_0 %600 %601 = OpFAdd %float %600 %599
%602 = OpLoad %float %601 OpStore %sum %601
%603 = OpLoad %float %sum %602 = OpLoad %int %r
%604 = OpFAdd %float %603 %602 %603 = OpAccessChain %_ptr_Function_float %m43 %int_0 %602
OpStore %sum %604 %604 = OpLoad %float %603
%605 = OpLoad %int %r %605 = OpLoad %float %sum
%606 = OpAccessChain %_ptr_Function_float %m43 %int_0 %605 %606 = OpFAdd %float %605 %604
%607 = OpLoad %float %606 OpStore %sum %606
%608 = OpLoad %float %sum %607 = OpLoad %int %r
%609 = OpFAdd %float %608 %607 %608 = OpAccessChain %_ptr_Function_float %m44 %int_0 %607
OpStore %sum %609 %609 = OpLoad %float %608
%610 = OpLoad %int %r %610 = OpLoad %float %sum
%611 = OpAccessChain %_ptr_Function_float %m44 %int_0 %610 %611 = OpFAdd %float %610 %609
%612 = OpLoad %float %611 OpStore %sum %611
%613 = OpLoad %float %sum OpBranch %562
%614 = OpFAdd %float %613 %612 %562 = OpLabel
OpStore %sum %614 %612 = OpLoad %int %r
OpBranch %565 %613 = OpIAdd %int %612 %int_1
%565 = OpLabel OpStore %r %613
%615 = OpLoad %int %r OpBranch %560
%616 = OpIAdd %int %615 %int_1 %561 = OpLabel
OpStore %r %616 %614 = OpLoad %float %sum
OpBranch %563 %616 = OpFOrdEqual %bool %614 %float_8
%564 = OpLabel OpSelectionMerge %617 None
%617 = OpLoad %float %sum OpBranchConditional %616 %618 %619
%619 = OpFOrdEqual %bool %617 %float_8 %618 = OpLabel
OpSelectionMerge %620 None OpStore %x_GLF_color %620
OpBranchConditional %619 %621 %622 OpBranch %617
%621 = OpLabel %619 = OpLabel
OpStore %x_GLF_color %623
OpBranch %620
%622 = OpLabel
OpStore %x_GLF_color %97 OpStore %x_GLF_color %97
OpBranch %620 OpBranch %617
%620 = OpLabel %617 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %624 %tint_symbol_2 = OpFunction %void None %621
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%628 = OpLabel %625 = OpLabel
%629 = OpCompositeExtract %v4float %tint_symbol 0 %626 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %629 OpStore %tint_symbol_1 %626
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %12 %main = OpFunction %void None %12
%631 = OpLabel %628 = OpLabel
%632 = OpFunctionCall %void %main_1 %629 = OpFunctionCall %void %main_1
%634 = OpLoad %v4float %x_GLF_color %631 = OpLoad %v4float %x_GLF_color
%635 = OpCompositeConstruct %main_out %634 %632 = OpCompositeConstruct %main_out %631
%633 = OpFunctionCall %void %tint_symbol_2 %635 %630 = OpFunctionCall %void %tint_symbol_2 %632
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 452[%452] is not post dominated by the back-edge block 459[%459]
%459 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 358 ; Bound: 355
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -93,7 +91,7 @@ SKIP: FAILED
%int_3 = OpConstant %int 3 %int_3 = OpConstant %int 3
%int_100 = OpConstant %int 100 %int_100 = OpConstant %int 100
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%346 = OpTypeFunction %void %main_out %343 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %23 %main_1 = OpFunction %void None %23
%26 = OpLabel %26 = OpLabel
%f = OpVariable %_ptr_Function_float Function %29 %f = OpVariable %_ptr_Function_float Function %29
@ -418,206 +416,196 @@ SKIP: FAILED
%261 = OpLoad %int %260 %261 = OpLoad %int %260
%263 = OpISub %int %int_100 %261 %263 = OpISub %int %int_100 %261
%264 = OpSLessThan %bool %258 %263 %264 = OpSLessThan %bool %258 %263
OpSelectionMerge %265 None OpBranchConditional %264 %252 %253
OpBranchConditional %264 %266 %267
%266 = OpLabel
OpBranch %265
%267 = OpLabel
OpBranch %253
%265 = OpLabel
OpBranch %252
%253 = OpLabel %253 = OpLabel
%268 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0 %265 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0
%269 = OpLoad %float %268 %266 = OpLoad %float %265
%270 = OpLoad %float %f %267 = OpLoad %float %f
%271 = OpFAdd %float %270 %269 %268 = OpFAdd %float %267 %266
OpStore %f %271 OpStore %f %268
OpBranch %243 OpBranch %243
%243 = OpLabel %243 = OpLabel
%272 = OpLoad %int %i_14 %269 = OpLoad %int %i_14
%273 = OpIAdd %int %272 %int_1 %270 = OpIAdd %int %269 %int_1
OpStore %i_14 %273 OpStore %i_14 %270
OpBranch %241 OpBranch %241
%242 = OpLabel %242 = OpLabel
OpBranch %230 OpBranch %230
%230 = OpLabel %230 = OpLabel
%274 = OpLoad %int %i_13 %271 = OpLoad %int %i_13
%275 = OpIAdd %int %274 %int_1 %272 = OpIAdd %int %271 %int_1
OpStore %i_13 %275 OpStore %i_13 %272
OpBranch %228 OpBranch %228
%229 = OpLabel %229 = OpLabel
OpBranch %217 OpBranch %217
%217 = OpLabel %217 = OpLabel
%276 = OpLoad %int %i_12 %273 = OpLoad %int %i_12
%277 = OpIAdd %int %276 %int_1 %274 = OpIAdd %int %273 %int_1
OpStore %i_12 %277 OpStore %i_12 %274
OpBranch %215 OpBranch %215
%216 = OpLabel %216 = OpLabel
OpBranch %203 OpBranch %203
%203 = OpLabel %203 = OpLabel
%278 = OpLoad %int %i_11 %275 = OpLoad %int %i_11
%279 = OpIAdd %int %278 %int_1 %276 = OpIAdd %int %275 %int_1
OpStore %i_11 %279 OpStore %i_11 %276
OpBranch %201 OpBranch %201
%202 = OpLabel %202 = OpLabel
OpBranch %190 OpBranch %190
%190 = OpLabel %190 = OpLabel
%280 = OpLoad %int %i_10 %277 = OpLoad %int %i_10
%281 = OpIAdd %int %280 %int_1 %278 = OpIAdd %int %277 %int_1
OpStore %i_10 %281 OpStore %i_10 %278
OpBranch %188 OpBranch %188
%189 = OpLabel %189 = OpLabel
OpBranch %177 OpBranch %177
%177 = OpLabel %177 = OpLabel
%282 = OpLoad %int %i_9 %279 = OpLoad %int %i_9
%283 = OpIAdd %int %282 %int_1 %280 = OpIAdd %int %279 %int_1
OpStore %i_9 %283 OpStore %i_9 %280
OpBranch %175 OpBranch %175
%176 = OpLabel %176 = OpLabel
OpBranch %164 OpBranch %164
%164 = OpLabel %164 = OpLabel
%284 = OpLoad %int %i_8 %281 = OpLoad %int %i_8
%285 = OpIAdd %int %284 %int_1 %282 = OpIAdd %int %281 %int_1
OpStore %i_8 %285 OpStore %i_8 %282
OpBranch %162 OpBranch %162
%163 = OpLabel %163 = OpLabel
OpBranch %151 OpBranch %151
%151 = OpLabel %151 = OpLabel
%286 = OpLoad %int %i_7 %283 = OpLoad %int %i_7
%287 = OpIAdd %int %286 %int_1 %284 = OpIAdd %int %283 %int_1
OpStore %i_7 %287 OpStore %i_7 %284
OpBranch %149 OpBranch %149
%150 = OpLabel %150 = OpLabel
OpBranch %138 OpBranch %138
%138 = OpLabel %138 = OpLabel
%288 = OpLoad %int %i_6 %285 = OpLoad %int %i_6
%289 = OpIAdd %int %288 %int_1 %286 = OpIAdd %int %285 %int_1
OpStore %i_6 %289 OpStore %i_6 %286
OpBranch %136 OpBranch %136
%137 = OpLabel %137 = OpLabel
OpBranch %125 OpBranch %125
%125 = OpLabel %125 = OpLabel
%290 = OpLoad %int %i_5 %287 = OpLoad %int %i_5
%291 = OpIAdd %int %290 %int_1 %288 = OpIAdd %int %287 %int_1
OpStore %i_5 %291 OpStore %i_5 %288
OpBranch %123 OpBranch %123
%124 = OpLabel %124 = OpLabel
OpBranch %112 OpBranch %112
%112 = OpLabel %112 = OpLabel
%292 = OpLoad %int %i_4 %289 = OpLoad %int %i_4
%293 = OpIAdd %int %292 %int_1 %290 = OpIAdd %int %289 %int_1
OpStore %i_4 %293 OpStore %i_4 %290
OpBranch %110 OpBranch %110
%111 = OpLabel %111 = OpLabel
OpBranch %99 OpBranch %99
%99 = OpLabel %99 = OpLabel
%294 = OpLoad %int %i_3 %291 = OpLoad %int %i_3
%295 = OpIAdd %int %294 %int_1 %292 = OpIAdd %int %291 %int_1
OpStore %i_3 %295 OpStore %i_3 %292
OpBranch %97 OpBranch %97
%98 = OpLabel %98 = OpLabel
OpBranch %86 OpBranch %86
%86 = OpLabel %86 = OpLabel
%296 = OpLoad %int %i_2 %293 = OpLoad %int %i_2
%297 = OpIAdd %int %296 %int_1 %294 = OpIAdd %int %293 %int_1
OpStore %i_2 %297 OpStore %i_2 %294
OpBranch %84 OpBranch %84
%85 = OpLabel %85 = OpLabel
OpBranch %73 OpBranch %73
%73 = OpLabel %73 = OpLabel
%298 = OpLoad %int %i_1 %295 = OpLoad %int %i_1
%299 = OpIAdd %int %298 %int_1 %296 = OpIAdd %int %295 %int_1
OpStore %i_1 %299 OpStore %i_1 %296
OpBranch %71 OpBranch %71
%72 = OpLabel %72 = OpLabel
OpBranch %59 OpBranch %59
%59 = OpLabel %59 = OpLabel
%300 = OpLoad %int %i %297 = OpLoad %int %i
%301 = OpIAdd %int %300 %int_1 %298 = OpIAdd %int %297 %int_1
OpStore %i %301 OpStore %i %298
OpBranch %57 OpBranch %57
%58 = OpLabel %58 = OpLabel
%302 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1 %299 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1
%303 = OpLoad %float %302 %300 = OpLoad %float %299
OpStore %sum %303 OpStore %sum %300
%304 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1 %301 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%305 = OpLoad %int %304 %302 = OpLoad %int %301
OpStore %r %305 OpStore %r %302
OpBranch %303
%303 = OpLabel
OpLoopMerge %304 %305 None
OpBranch %306 OpBranch %306
%306 = OpLabel %306 = OpLabel
OpLoopMerge %307 %308 None %307 = OpLoad %int %x_GLF_global_loop_count
%308 = OpSLessThan %bool %307 %int_100
OpSelectionMerge %309 None
OpBranchConditional %308 %310 %311
%310 = OpLabel
OpBranch %309 OpBranch %309
%311 = OpLabel
OpBranch %304
%309 = OpLabel %309 = OpLabel
%310 = OpLoad %int %x_GLF_global_loop_count %312 = OpLoad %int %x_GLF_global_loop_count
%311 = OpSLessThan %bool %310 %int_100 %313 = OpIAdd %int %312 %int_1
OpSelectionMerge %312 None OpStore %x_GLF_global_loop_count %313
OpBranchConditional %311 %313 %314 %314 = OpLoad %float %f
%313 = OpLabel %315 = OpLoad %float %sum
OpBranch %312 %316 = OpFAdd %float %315 %314
%314 = OpLabel OpStore %sum %316
OpBranch %307 OpBranch %305
%312 = OpLabel %305 = OpLabel
%315 = OpLoad %int %x_GLF_global_loop_count %317 = OpLoad %int %r
%316 = OpIAdd %int %315 %int_1 %318 = OpIAdd %int %317 %int_1
OpStore %x_GLF_global_loop_count %316 OpStore %r %318
%317 = OpLoad %float %f OpBranch %303
%318 = OpLoad %float %sum %304 = OpLabel
%319 = OpFAdd %float %318 %317 %319 = OpLoad %float %sum
OpStore %sum %319 %320 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_2
OpBranch %308 %321 = OpLoad %float %320
%308 = OpLabel %322 = OpFOrdEqual %bool %319 %321
%320 = OpLoad %int %r OpSelectionMerge %323 None
%321 = OpIAdd %int %320 %int_1 OpBranchConditional %322 %324 %325
OpStore %r %321 %324 = OpLabel
OpBranch %306 %326 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%307 = OpLabel %327 = OpLoad %int %326
%322 = OpLoad %float %sum %328 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%323 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_2 %329 = OpLoad %int %328
%324 = OpLoad %float %323 %330 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%325 = OpFOrdEqual %bool %322 %324 %331 = OpLoad %int %330
OpSelectionMerge %326 None %332 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
OpBranchConditional %325 %327 %328 %333 = OpLoad %int %332
%327 = OpLabel %334 = OpConvertSToF %float %327
%329 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0 %335 = OpConvertSToF %float %329
%330 = OpLoad %int %329 %336 = OpConvertSToF %float %331
%331 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1 %337 = OpConvertSToF %float %333
%332 = OpLoad %int %331 %338 = OpCompositeConstruct %v4float %334 %335 %336 %337
%333 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1 OpStore %x_GLF_color %338
%334 = OpLoad %int %333 OpBranch %323
%335 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0 %325 = OpLabel
%336 = OpLoad %int %335 %339 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%337 = OpConvertSToF %float %330 %340 = OpLoad %int %339
%338 = OpConvertSToF %float %332 %341 = OpConvertSToF %float %340
%339 = OpConvertSToF %float %334 %342 = OpCompositeConstruct %v4float %341 %341 %341 %341
%340 = OpConvertSToF %float %336 OpStore %x_GLF_color %342
%341 = OpCompositeConstruct %v4float %337 %338 %339 %340 OpBranch %323
OpStore %x_GLF_color %341 %323 = OpLabel
OpBranch %326
%328 = OpLabel
%342 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%343 = OpLoad %int %342
%344 = OpConvertSToF %float %343
%345 = OpCompositeConstruct %v4float %344 %344 %344 %344
OpStore %x_GLF_color %345
OpBranch %326
%326 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %346 %tint_symbol_2 = OpFunction %void None %343
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%350 = OpLabel %347 = OpLabel
%351 = OpCompositeExtract %v4float %tint_symbol 0 %348 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %351 OpStore %tint_symbol_1 %348
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %23 %main = OpFunction %void None %23
%353 = OpLabel %350 = OpLabel
%354 = OpFunctionCall %void %main_1 %351 = OpFunctionCall %void %main_1
%356 = OpLoad %v4float %x_GLF_color %353 = OpLoad %v4float %x_GLF_color
%357 = OpCompositeConstruct %main_out %356 %354 = OpCompositeConstruct %main_out %353
%355 = OpFunctionCall %void %tint_symbol_2 %357 %352 = OpFunctionCall %void %tint_symbol_2 %354
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 254[%254] is not post dominated by the back-edge block 265[%265]
%265 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 358 ; Bound: 355
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -93,7 +91,7 @@ SKIP: FAILED
%int_3 = OpConstant %int 3 %int_3 = OpConstant %int 3
%int_100 = OpConstant %int 100 %int_100 = OpConstant %int 100
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%346 = OpTypeFunction %void %main_out %343 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %23 %main_1 = OpFunction %void None %23
%26 = OpLabel %26 = OpLabel
%f = OpVariable %_ptr_Function_float Function %29 %f = OpVariable %_ptr_Function_float Function %29
@ -418,206 +416,196 @@ SKIP: FAILED
%261 = OpLoad %int %260 %261 = OpLoad %int %260
%263 = OpISub %int %int_100 %261 %263 = OpISub %int %int_100 %261
%264 = OpSLessThan %bool %258 %263 %264 = OpSLessThan %bool %258 %263
OpSelectionMerge %265 None OpBranchConditional %264 %252 %253
OpBranchConditional %264 %266 %267
%266 = OpLabel
OpBranch %265
%267 = OpLabel
OpBranch %253
%265 = OpLabel
OpBranch %252
%253 = OpLabel %253 = OpLabel
%268 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0 %265 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0
%269 = OpLoad %float %268 %266 = OpLoad %float %265
%270 = OpLoad %float %f %267 = OpLoad %float %f
%271 = OpFAdd %float %270 %269 %268 = OpFAdd %float %267 %266
OpStore %f %271 OpStore %f %268
OpBranch %243 OpBranch %243
%243 = OpLabel %243 = OpLabel
%272 = OpLoad %int %i_14 %269 = OpLoad %int %i_14
%273 = OpIAdd %int %272 %int_1 %270 = OpIAdd %int %269 %int_1
OpStore %i_14 %273 OpStore %i_14 %270
OpBranch %241 OpBranch %241
%242 = OpLabel %242 = OpLabel
OpBranch %230 OpBranch %230
%230 = OpLabel %230 = OpLabel
%274 = OpLoad %int %i_13 %271 = OpLoad %int %i_13
%275 = OpIAdd %int %274 %int_1 %272 = OpIAdd %int %271 %int_1
OpStore %i_13 %275 OpStore %i_13 %272
OpBranch %228 OpBranch %228
%229 = OpLabel %229 = OpLabel
OpBranch %217 OpBranch %217
%217 = OpLabel %217 = OpLabel
%276 = OpLoad %int %i_12 %273 = OpLoad %int %i_12
%277 = OpIAdd %int %276 %int_1 %274 = OpIAdd %int %273 %int_1
OpStore %i_12 %277 OpStore %i_12 %274
OpBranch %215 OpBranch %215
%216 = OpLabel %216 = OpLabel
OpBranch %203 OpBranch %203
%203 = OpLabel %203 = OpLabel
%278 = OpLoad %int %i_11 %275 = OpLoad %int %i_11
%279 = OpIAdd %int %278 %int_1 %276 = OpIAdd %int %275 %int_1
OpStore %i_11 %279 OpStore %i_11 %276
OpBranch %201 OpBranch %201
%202 = OpLabel %202 = OpLabel
OpBranch %190 OpBranch %190
%190 = OpLabel %190 = OpLabel
%280 = OpLoad %int %i_10 %277 = OpLoad %int %i_10
%281 = OpIAdd %int %280 %int_1 %278 = OpIAdd %int %277 %int_1
OpStore %i_10 %281 OpStore %i_10 %278
OpBranch %188 OpBranch %188
%189 = OpLabel %189 = OpLabel
OpBranch %177 OpBranch %177
%177 = OpLabel %177 = OpLabel
%282 = OpLoad %int %i_9 %279 = OpLoad %int %i_9
%283 = OpIAdd %int %282 %int_1 %280 = OpIAdd %int %279 %int_1
OpStore %i_9 %283 OpStore %i_9 %280
OpBranch %175 OpBranch %175
%176 = OpLabel %176 = OpLabel
OpBranch %164 OpBranch %164
%164 = OpLabel %164 = OpLabel
%284 = OpLoad %int %i_8 %281 = OpLoad %int %i_8
%285 = OpIAdd %int %284 %int_1 %282 = OpIAdd %int %281 %int_1
OpStore %i_8 %285 OpStore %i_8 %282
OpBranch %162 OpBranch %162
%163 = OpLabel %163 = OpLabel
OpBranch %151 OpBranch %151
%151 = OpLabel %151 = OpLabel
%286 = OpLoad %int %i_7 %283 = OpLoad %int %i_7
%287 = OpIAdd %int %286 %int_1 %284 = OpIAdd %int %283 %int_1
OpStore %i_7 %287 OpStore %i_7 %284
OpBranch %149 OpBranch %149
%150 = OpLabel %150 = OpLabel
OpBranch %138 OpBranch %138
%138 = OpLabel %138 = OpLabel
%288 = OpLoad %int %i_6 %285 = OpLoad %int %i_6
%289 = OpIAdd %int %288 %int_1 %286 = OpIAdd %int %285 %int_1
OpStore %i_6 %289 OpStore %i_6 %286
OpBranch %136 OpBranch %136
%137 = OpLabel %137 = OpLabel
OpBranch %125 OpBranch %125
%125 = OpLabel %125 = OpLabel
%290 = OpLoad %int %i_5 %287 = OpLoad %int %i_5
%291 = OpIAdd %int %290 %int_1 %288 = OpIAdd %int %287 %int_1
OpStore %i_5 %291 OpStore %i_5 %288
OpBranch %123 OpBranch %123
%124 = OpLabel %124 = OpLabel
OpBranch %112 OpBranch %112
%112 = OpLabel %112 = OpLabel
%292 = OpLoad %int %i_4 %289 = OpLoad %int %i_4
%293 = OpIAdd %int %292 %int_1 %290 = OpIAdd %int %289 %int_1
OpStore %i_4 %293 OpStore %i_4 %290
OpBranch %110 OpBranch %110
%111 = OpLabel %111 = OpLabel
OpBranch %99 OpBranch %99
%99 = OpLabel %99 = OpLabel
%294 = OpLoad %int %i_3 %291 = OpLoad %int %i_3
%295 = OpIAdd %int %294 %int_1 %292 = OpIAdd %int %291 %int_1
OpStore %i_3 %295 OpStore %i_3 %292
OpBranch %97 OpBranch %97
%98 = OpLabel %98 = OpLabel
OpBranch %86 OpBranch %86
%86 = OpLabel %86 = OpLabel
%296 = OpLoad %int %i_2 %293 = OpLoad %int %i_2
%297 = OpIAdd %int %296 %int_1 %294 = OpIAdd %int %293 %int_1
OpStore %i_2 %297 OpStore %i_2 %294
OpBranch %84 OpBranch %84
%85 = OpLabel %85 = OpLabel
OpBranch %73 OpBranch %73
%73 = OpLabel %73 = OpLabel
%298 = OpLoad %int %i_1 %295 = OpLoad %int %i_1
%299 = OpIAdd %int %298 %int_1 %296 = OpIAdd %int %295 %int_1
OpStore %i_1 %299 OpStore %i_1 %296
OpBranch %71 OpBranch %71
%72 = OpLabel %72 = OpLabel
OpBranch %59 OpBranch %59
%59 = OpLabel %59 = OpLabel
%300 = OpLoad %int %i %297 = OpLoad %int %i
%301 = OpIAdd %int %300 %int_1 %298 = OpIAdd %int %297 %int_1
OpStore %i %301 OpStore %i %298
OpBranch %57 OpBranch %57
%58 = OpLabel %58 = OpLabel
%302 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1 %299 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1
%303 = OpLoad %float %302 %300 = OpLoad %float %299
OpStore %sum %303 OpStore %sum %300
%304 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1 %301 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%305 = OpLoad %int %304 %302 = OpLoad %int %301
OpStore %r %305 OpStore %r %302
OpBranch %303
%303 = OpLabel
OpLoopMerge %304 %305 None
OpBranch %306 OpBranch %306
%306 = OpLabel %306 = OpLabel
OpLoopMerge %307 %308 None %307 = OpLoad %int %x_GLF_global_loop_count
%308 = OpSLessThan %bool %307 %int_100
OpSelectionMerge %309 None
OpBranchConditional %308 %310 %311
%310 = OpLabel
OpBranch %309 OpBranch %309
%311 = OpLabel
OpBranch %304
%309 = OpLabel %309 = OpLabel
%310 = OpLoad %int %x_GLF_global_loop_count %312 = OpLoad %int %x_GLF_global_loop_count
%311 = OpSLessThan %bool %310 %int_100 %313 = OpIAdd %int %312 %int_1
OpSelectionMerge %312 None OpStore %x_GLF_global_loop_count %313
OpBranchConditional %311 %313 %314 %314 = OpLoad %float %f
%313 = OpLabel %315 = OpLoad %float %sum
OpBranch %312 %316 = OpFAdd %float %315 %314
%314 = OpLabel OpStore %sum %316
OpBranch %307 OpBranch %305
%312 = OpLabel %305 = OpLabel
%315 = OpLoad %int %x_GLF_global_loop_count %317 = OpLoad %int %r
%316 = OpIAdd %int %315 %int_1 %318 = OpIAdd %int %317 %int_1
OpStore %x_GLF_global_loop_count %316 OpStore %r %318
%317 = OpLoad %float %f OpBranch %303
%318 = OpLoad %float %sum %304 = OpLabel
%319 = OpFAdd %float %318 %317 %319 = OpLoad %float %sum
OpStore %sum %319 %320 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_2
OpBranch %308 %321 = OpLoad %float %320
%308 = OpLabel %322 = OpFOrdEqual %bool %319 %321
%320 = OpLoad %int %r OpSelectionMerge %323 None
%321 = OpIAdd %int %320 %int_1 OpBranchConditional %322 %324 %325
OpStore %r %321 %324 = OpLabel
OpBranch %306 %326 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%307 = OpLabel %327 = OpLoad %int %326
%322 = OpLoad %float %sum %328 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%323 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_2 %329 = OpLoad %int %328
%324 = OpLoad %float %323 %330 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%325 = OpFOrdEqual %bool %322 %324 %331 = OpLoad %int %330
OpSelectionMerge %326 None %332 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
OpBranchConditional %325 %327 %328 %333 = OpLoad %int %332
%327 = OpLabel %334 = OpConvertSToF %float %327
%329 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0 %335 = OpConvertSToF %float %329
%330 = OpLoad %int %329 %336 = OpConvertSToF %float %331
%331 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1 %337 = OpConvertSToF %float %333
%332 = OpLoad %int %331 %338 = OpCompositeConstruct %v4float %334 %335 %336 %337
%333 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1 OpStore %x_GLF_color %338
%334 = OpLoad %int %333 OpBranch %323
%335 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0 %325 = OpLabel
%336 = OpLoad %int %335 %339 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%337 = OpConvertSToF %float %330 %340 = OpLoad %int %339
%338 = OpConvertSToF %float %332 %341 = OpConvertSToF %float %340
%339 = OpConvertSToF %float %334 %342 = OpCompositeConstruct %v4float %341 %341 %341 %341
%340 = OpConvertSToF %float %336 OpStore %x_GLF_color %342
%341 = OpCompositeConstruct %v4float %337 %338 %339 %340 OpBranch %323
OpStore %x_GLF_color %341 %323 = OpLabel
OpBranch %326
%328 = OpLabel
%342 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%343 = OpLoad %int %342
%344 = OpConvertSToF %float %343
%345 = OpCompositeConstruct %v4float %344 %344 %344 %344
OpStore %x_GLF_color %345
OpBranch %326
%326 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %346 %tint_symbol_2 = OpFunction %void None %343
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%350 = OpLabel %347 = OpLabel
%351 = OpCompositeExtract %v4float %tint_symbol 0 %348 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %351 OpStore %tint_symbol_1 %348
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %23 %main = OpFunction %void None %23
%353 = OpLabel %350 = OpLabel
%354 = OpFunctionCall %void %main_1 %351 = OpFunctionCall %void %main_1
%356 = OpLoad %v4float %x_GLF_color %353 = OpLoad %v4float %x_GLF_color
%357 = OpCompositeConstruct %main_out %356 %354 = OpCompositeConstruct %main_out %353
%355 = OpFunctionCall %void %tint_symbol_2 %357 %352 = OpFunctionCall %void %tint_symbol_2 %354
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 254[%254] is not post dominated by the back-edge block 265[%265]
%265 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 107 ; Bound: 104
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -69,7 +67,7 @@ SKIP: FAILED
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%_ptr_Uniform_int = OpTypePointer Uniform %int %_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%95 = OpTypeFunction %void %main_out %92 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %19 %main_1 = OpFunction %void None %19
%22 = OpLabel %22 = OpLabel
%a = OpVariable %_ptr_Function_float Function %25 %a = OpVariable %_ptr_Function_float Function %25
@ -137,46 +135,36 @@ SKIP: FAILED
%75 = OpLoad %float %a %75 = OpLoad %float %a
%77 = OpFOrdEqual %bool %75 %float_0 %77 = OpFOrdEqual %bool %75 %float_0
%76 = OpLogicalNot %bool %77 %76 = OpLogicalNot %bool %77
OpSelectionMerge %78 None OpBranchConditional %76 %35 %36
OpBranchConditional %76 %79 %80
%79 = OpLabel
OpBranch %78
%80 = OpLabel
OpBranch %36
%78 = OpLabel
OpBranch %35
%36 = OpLabel %36 = OpLabel
%82 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1 %79 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%83 = OpLoad %int %82 %80 = OpLoad %int %79
%84 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0 %81 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%85 = OpLoad %int %84 %82 = OpLoad %int %81
%86 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0 %83 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%87 = OpLoad %int %86 %84 = OpLoad %int %83
%88 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1 %85 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%89 = OpLoad %int %88 %86 = OpLoad %int %85
%90 = OpConvertSToF %float %83 %87 = OpConvertSToF %float %80
%91 = OpConvertSToF %float %85 %88 = OpConvertSToF %float %82
%92 = OpConvertSToF %float %87 %89 = OpConvertSToF %float %84
%93 = OpConvertSToF %float %89 %90 = OpConvertSToF %float %86
%94 = OpCompositeConstruct %v4float %90 %91 %92 %93 %91 = OpCompositeConstruct %v4float %87 %88 %89 %90
OpStore %x_GLF_color %94 OpStore %x_GLF_color %91
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %95 %tint_symbol_2 = OpFunction %void None %92
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%99 = OpLabel %96 = OpLabel
%100 = OpCompositeExtract %v4float %tint_symbol 0 %97 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %100 OpStore %tint_symbol_1 %97
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %19 %main = OpFunction %void None %19
%102 = OpLabel %99 = OpLabel
%103 = OpFunctionCall %void %main_1 %100 = OpFunctionCall %void %main_1
%105 = OpLoad %v4float %x_GLF_color %102 = OpLoad %v4float %x_GLF_color
%106 = OpCompositeConstruct %main_out %105 %103 = OpCompositeConstruct %main_out %102
%104 = OpFunctionCall %void %tint_symbol_2 %106 %101 = OpFunctionCall %void %tint_symbol_2 %103
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 37[%37] is not post dominated by the back-edge block 78[%78]
%78 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 107 ; Bound: 104
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -69,7 +67,7 @@ SKIP: FAILED
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%_ptr_Uniform_int = OpTypePointer Uniform %int %_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%95 = OpTypeFunction %void %main_out %92 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %19 %main_1 = OpFunction %void None %19
%22 = OpLabel %22 = OpLabel
%a = OpVariable %_ptr_Function_float Function %25 %a = OpVariable %_ptr_Function_float Function %25
@ -137,46 +135,36 @@ SKIP: FAILED
%75 = OpLoad %float %a %75 = OpLoad %float %a
%77 = OpFOrdEqual %bool %75 %float_0 %77 = OpFOrdEqual %bool %75 %float_0
%76 = OpLogicalNot %bool %77 %76 = OpLogicalNot %bool %77
OpSelectionMerge %78 None OpBranchConditional %76 %35 %36
OpBranchConditional %76 %79 %80
%79 = OpLabel
OpBranch %78
%80 = OpLabel
OpBranch %36
%78 = OpLabel
OpBranch %35
%36 = OpLabel %36 = OpLabel
%82 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1 %79 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%83 = OpLoad %int %82 %80 = OpLoad %int %79
%84 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0 %81 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%85 = OpLoad %int %84 %82 = OpLoad %int %81
%86 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0 %83 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%87 = OpLoad %int %86 %84 = OpLoad %int %83
%88 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1 %85 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%89 = OpLoad %int %88 %86 = OpLoad %int %85
%90 = OpConvertSToF %float %83 %87 = OpConvertSToF %float %80
%91 = OpConvertSToF %float %85 %88 = OpConvertSToF %float %82
%92 = OpConvertSToF %float %87 %89 = OpConvertSToF %float %84
%93 = OpConvertSToF %float %89 %90 = OpConvertSToF %float %86
%94 = OpCompositeConstruct %v4float %90 %91 %92 %93 %91 = OpCompositeConstruct %v4float %87 %88 %89 %90
OpStore %x_GLF_color %94 OpStore %x_GLF_color %91
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %95 %tint_symbol_2 = OpFunction %void None %92
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%99 = OpLabel %96 = OpLabel
%100 = OpCompositeExtract %v4float %tint_symbol 0 %97 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %100 OpStore %tint_symbol_1 %97
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %19 %main = OpFunction %void None %19
%102 = OpLabel %99 = OpLabel
%103 = OpFunctionCall %void %main_1 %100 = OpFunctionCall %void %main_1
%105 = OpLoad %v4float %x_GLF_color %102 = OpLoad %v4float %x_GLF_color
%106 = OpCompositeConstruct %main_out %105 %103 = OpCompositeConstruct %main_out %102
%104 = OpFunctionCall %void %tint_symbol_2 %106 %101 = OpFunctionCall %void %tint_symbol_2 %103
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 37[%37] is not post dominated by the back-edge block 78[%78]
%78 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 134 ; Bound: 131
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -78,7 +76,7 @@ SKIP: FAILED
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out %118 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %23 %main_1 = OpFunction %void None %23
%26 = OpLabel %26 = OpLabel
%a = OpVariable %_ptr_Function_int Function %29 %a = OpVariable %_ptr_Function_int Function %29
@ -149,86 +147,76 @@ SKIP: FAILED
%82 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %82 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%83 = OpLoad %int %82 %83 = OpLoad %int %82
%84 = OpSLessThan %bool %81 %83 %84 = OpSLessThan %bool %81 %83
OpSelectionMerge %85 None OpBranchConditional %84 %65 %66
OpBranchConditional %84 %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %66
%85 = OpLabel
OpBranch %65
%66 = OpLabel %66 = OpLabel
%88 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %85 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%89 = OpLoad %float %88 %86 = OpLoad %float %85
%90 = OpAccessChain %_ptr_Uniform_float %x_11 %uint_0 %int_0 %87 = OpAccessChain %_ptr_Uniform_float %x_11 %uint_0 %int_0
%91 = OpLoad %float %90 %88 = OpLoad %float %87
%92 = OpFOrdLessThan %bool %89 %91 %89 = OpFOrdLessThan %bool %86 %88
OpSelectionMerge %93 None OpSelectionMerge %90 None
OpBranchConditional %92 %94 %93 OpBranchConditional %89 %91 %90
%94 = OpLabel %91 = OpLabel
OpBranch %55 OpBranch %55
%93 = OpLabel %90 = OpLabel
OpBranch %56 OpBranch %56
%56 = OpLabel %56 = OpLabel
%95 = OpLoad %int %j %92 = OpLoad %int %j
%96 = OpIAdd %int %95 %int_1 %93 = OpIAdd %int %92 %int_1
OpStore %j %96 OpStore %j %93
OpBranch %54 OpBranch %54
%55 = OpLabel %55 = OpLabel
OpBranch %41 OpBranch %41
%41 = OpLabel %41 = OpLabel
%97 = OpLoad %int %i %94 = OpLoad %int %i
%98 = OpIAdd %int %97 %int_1 %95 = OpIAdd %int %94 %int_1
OpStore %i %98 OpStore %i %95
OpBranch %39 OpBranch %39
%40 = OpLabel %40 = OpLabel
%99 = OpLoad %int %a %96 = OpLoad %int %a
%100 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %97 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%101 = OpLoad %int %100 %98 = OpLoad %int %97
%102 = OpIEqual %bool %99 %101 %99 = OpIEqual %bool %96 %98
OpSelectionMerge %103 None OpSelectionMerge %100 None
OpBranchConditional %102 %104 %105 OpBranchConditional %99 %101 %102
%104 = OpLabel %101 = OpLabel
%106 = OpLoad %int %a %103 = OpLoad %int %a
%107 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %104 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%108 = OpLoad %int %107 %105 = OpLoad %int %104
%109 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %106 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%110 = OpLoad %int %109 %107 = OpLoad %int %106
%111 = OpLoad %int %a %108 = OpLoad %int %a
%112 = OpConvertSToF %float %106 %109 = OpConvertSToF %float %103
%113 = OpConvertSToF %float %108 %110 = OpConvertSToF %float %105
%114 = OpConvertSToF %float %110 %111 = OpConvertSToF %float %107
%115 = OpConvertSToF %float %111 %112 = OpConvertSToF %float %108
%116 = OpCompositeConstruct %v4float %112 %113 %114 %115 %113 = OpCompositeConstruct %v4float %109 %110 %111 %112
OpStore %x_GLF_color %116 OpStore %x_GLF_color %113
OpBranch %103 OpBranch %100
%105 = OpLabel %102 = OpLabel
%117 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %114 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%118 = OpLoad %int %117 %115 = OpLoad %int %114
%119 = OpConvertSToF %float %118 %116 = OpConvertSToF %float %115
%120 = OpCompositeConstruct %v4float %119 %119 %119 %119 %117 = OpCompositeConstruct %v4float %116 %116 %116 %116
OpStore %x_GLF_color %120 OpStore %x_GLF_color %117
OpBranch %103 OpBranch %100
%103 = OpLabel %100 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121 %tint_symbol_3 = OpFunction %void None %118
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel %122 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0 %123 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126 OpStore %tint_symbol_2 %123
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %23 %main = OpFunction %void None %23
%128 = OpLabel %125 = OpLabel
%129 = OpLoad %v4float %tint_symbol %126 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129 OpStore %gl_FragCoord %126
%130 = OpFunctionCall %void %main_1 %127 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color %129 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132 %130 = OpCompositeConstruct %main_out %129
%131 = OpFunctionCall %void %tint_symbol_3 %133 %128 = OpFunctionCall %void %tint_symbol_3 %130
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 67[%67] is not post dominated by the back-edge block 85[%85]
%85 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 134 ; Bound: 131
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -78,7 +76,7 @@ SKIP: FAILED
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out %118 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %23 %main_1 = OpFunction %void None %23
%26 = OpLabel %26 = OpLabel
%a = OpVariable %_ptr_Function_int Function %29 %a = OpVariable %_ptr_Function_int Function %29
@ -149,86 +147,76 @@ SKIP: FAILED
%82 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %82 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%83 = OpLoad %int %82 %83 = OpLoad %int %82
%84 = OpSLessThan %bool %81 %83 %84 = OpSLessThan %bool %81 %83
OpSelectionMerge %85 None OpBranchConditional %84 %65 %66
OpBranchConditional %84 %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %66
%85 = OpLabel
OpBranch %65
%66 = OpLabel %66 = OpLabel
%88 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %85 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%89 = OpLoad %float %88 %86 = OpLoad %float %85
%90 = OpAccessChain %_ptr_Uniform_float %x_11 %uint_0 %int_0 %87 = OpAccessChain %_ptr_Uniform_float %x_11 %uint_0 %int_0
%91 = OpLoad %float %90 %88 = OpLoad %float %87
%92 = OpFOrdLessThan %bool %89 %91 %89 = OpFOrdLessThan %bool %86 %88
OpSelectionMerge %93 None OpSelectionMerge %90 None
OpBranchConditional %92 %94 %93 OpBranchConditional %89 %91 %90
%94 = OpLabel %91 = OpLabel
OpBranch %55 OpBranch %55
%93 = OpLabel %90 = OpLabel
OpBranch %56 OpBranch %56
%56 = OpLabel %56 = OpLabel
%95 = OpLoad %int %j %92 = OpLoad %int %j
%96 = OpIAdd %int %95 %int_1 %93 = OpIAdd %int %92 %int_1
OpStore %j %96 OpStore %j %93
OpBranch %54 OpBranch %54
%55 = OpLabel %55 = OpLabel
OpBranch %41 OpBranch %41
%41 = OpLabel %41 = OpLabel
%97 = OpLoad %int %i %94 = OpLoad %int %i
%98 = OpIAdd %int %97 %int_1 %95 = OpIAdd %int %94 %int_1
OpStore %i %98 OpStore %i %95
OpBranch %39 OpBranch %39
%40 = OpLabel %40 = OpLabel
%99 = OpLoad %int %a %96 = OpLoad %int %a
%100 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1 %97 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%101 = OpLoad %int %100 %98 = OpLoad %int %97
%102 = OpIEqual %bool %99 %101 %99 = OpIEqual %bool %96 %98
OpSelectionMerge %103 None OpSelectionMerge %100 None
OpBranchConditional %102 %104 %105 OpBranchConditional %99 %101 %102
%104 = OpLabel %101 = OpLabel
%106 = OpLoad %int %a %103 = OpLoad %int %a
%107 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %104 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%108 = OpLoad %int %107 %105 = OpLoad %int %104
%109 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %106 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%110 = OpLoad %int %109 %107 = OpLoad %int %106
%111 = OpLoad %int %a %108 = OpLoad %int %a
%112 = OpConvertSToF %float %106 %109 = OpConvertSToF %float %103
%113 = OpConvertSToF %float %108 %110 = OpConvertSToF %float %105
%114 = OpConvertSToF %float %110 %111 = OpConvertSToF %float %107
%115 = OpConvertSToF %float %111 %112 = OpConvertSToF %float %108
%116 = OpCompositeConstruct %v4float %112 %113 %114 %115 %113 = OpCompositeConstruct %v4float %109 %110 %111 %112
OpStore %x_GLF_color %116 OpStore %x_GLF_color %113
OpBranch %103 OpBranch %100
%105 = OpLabel %102 = OpLabel
%117 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2 %114 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%118 = OpLoad %int %117 %115 = OpLoad %int %114
%119 = OpConvertSToF %float %118 %116 = OpConvertSToF %float %115
%120 = OpCompositeConstruct %v4float %119 %119 %119 %119 %117 = OpCompositeConstruct %v4float %116 %116 %116 %116
OpStore %x_GLF_color %120 OpStore %x_GLF_color %117
OpBranch %103 OpBranch %100
%103 = OpLabel %100 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121 %tint_symbol_3 = OpFunction %void None %118
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel %122 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0 %123 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126 OpStore %tint_symbol_2 %123
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %23 %main = OpFunction %void None %23
%128 = OpLabel %125 = OpLabel
%129 = OpLoad %v4float %tint_symbol %126 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129 OpStore %gl_FragCoord %126
%130 = OpFunctionCall %void %main_1 %127 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color %129 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132 %130 = OpCompositeConstruct %main_out %129
%131 = OpFunctionCall %void %tint_symbol_3 %133 %128 = OpFunctionCall %void %tint_symbol_3 %130
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 67[%67] is not post dominated by the back-edge block 85[%85]
%85 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 93 ; Bound: 90
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -72,10 +70,10 @@ SKIP: FAILED
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%79 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %76 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%80 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %77 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%81 = OpTypeFunction %void %main_out %78 = OpTypeFunction %void %main_out
%func_struct_S_i1_i11_ = OpFunction %void None %12 %func_struct_S_i1_i11_ = OpFunction %void None %12
%arg = OpFunctionParameter %_ptr_Function_S %arg = OpFunctionParameter %_ptr_Function_S
%18 = OpLabel %18 = OpLabel
@ -128,43 +126,33 @@ SKIP: FAILED
OpStore %a %float_0 OpStore %a %float_0
OpBranch %41 OpBranch %41
%41 = OpLabel %41 = OpLabel
OpSelectionMerge %70 None OpBranchConditional %false %39 %40
OpBranchConditional %false %71 %72
%71 = OpLabel
OpBranch %70
%72 = OpLabel
OpBranch %40
%70 = OpLabel
OpBranch %39
%40 = OpLabel %40 = OpLabel
%73 = OpLoad %float %a %70 = OpLoad %float %a
%74 = OpFOrdEqual %bool %73 %float_5 %71 = OpFOrdEqual %bool %70 %float_5
OpSelectionMerge %75 None OpSelectionMerge %72 None
OpBranchConditional %74 %76 %77 OpBranchConditional %71 %73 %74
%76 = OpLabel %73 = OpLabel
OpStore %x_GLF_color %79 OpStore %x_GLF_color %76
OpBranch %75 OpBranch %72
%77 = OpLabel %74 = OpLabel
OpStore %x_GLF_color %80 OpStore %x_GLF_color %77
OpBranch %75 OpBranch %72
%75 = OpLabel %72 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %81 %tint_symbol_2 = OpFunction %void None %78
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%85 = OpLabel %82 = OpLabel
%86 = OpCompositeExtract %v4float %tint_symbol 0 %83 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %86 OpStore %tint_symbol_1 %83
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %25 %main = OpFunction %void None %25
%88 = OpLabel %85 = OpLabel
%89 = OpFunctionCall %void %main_1 %86 = OpFunctionCall %void %main_1
%91 = OpLoad %v4float %x_GLF_color %88 = OpLoad %v4float %x_GLF_color
%92 = OpCompositeConstruct %main_out %91 %89 = OpCompositeConstruct %main_out %88
%90 = OpFunctionCall %void %tint_symbol_2 %92 %87 = OpFunctionCall %void %tint_symbol_2 %89
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 41[%41] is not post dominated by the back-edge block 70[%70]
%70 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 93 ; Bound: 90
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -72,10 +70,10 @@ SKIP: FAILED
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%79 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %76 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%80 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %77 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%81 = OpTypeFunction %void %main_out %78 = OpTypeFunction %void %main_out
%func_struct_S_i1_i11_ = OpFunction %void None %12 %func_struct_S_i1_i11_ = OpFunction %void None %12
%arg = OpFunctionParameter %_ptr_Function_S %arg = OpFunctionParameter %_ptr_Function_S
%18 = OpLabel %18 = OpLabel
@ -128,43 +126,33 @@ SKIP: FAILED
OpStore %a %float_0 OpStore %a %float_0
OpBranch %41 OpBranch %41
%41 = OpLabel %41 = OpLabel
OpSelectionMerge %70 None OpBranchConditional %false %39 %40
OpBranchConditional %false %71 %72
%71 = OpLabel
OpBranch %70
%72 = OpLabel
OpBranch %40
%70 = OpLabel
OpBranch %39
%40 = OpLabel %40 = OpLabel
%73 = OpLoad %float %a %70 = OpLoad %float %a
%74 = OpFOrdEqual %bool %73 %float_5 %71 = OpFOrdEqual %bool %70 %float_5
OpSelectionMerge %75 None OpSelectionMerge %72 None
OpBranchConditional %74 %76 %77 OpBranchConditional %71 %73 %74
%76 = OpLabel %73 = OpLabel
OpStore %x_GLF_color %79 OpStore %x_GLF_color %76
OpBranch %75 OpBranch %72
%77 = OpLabel %74 = OpLabel
OpStore %x_GLF_color %80 OpStore %x_GLF_color %77
OpBranch %75 OpBranch %72
%75 = OpLabel %72 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %81 %tint_symbol_2 = OpFunction %void None %78
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%85 = OpLabel %82 = OpLabel
%86 = OpCompositeExtract %v4float %tint_symbol 0 %83 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %86 OpStore %tint_symbol_1 %83
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %25 %main = OpFunction %void None %25
%88 = OpLabel %85 = OpLabel
%89 = OpFunctionCall %void %main_1 %86 = OpFunctionCall %void %main_1
%91 = OpLoad %v4float %x_GLF_color %88 = OpLoad %v4float %x_GLF_color
%92 = OpCompositeConstruct %main_out %91 %89 = OpCompositeConstruct %main_out %88
%90 = OpFunctionCall %void %tint_symbol_2 %92 %87 = OpFunctionCall %void %tint_symbol_2 %89
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 41[%41] is not post dominated by the back-edge block 70[%70]
%70 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 72 ; Bound: 69
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -50,7 +48,7 @@ SKIP: FAILED
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%bool = OpTypeBool %bool = OpTypeBool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%60 = OpTypeFunction %void %main_out %57 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%22 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0 %22 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
@ -92,34 +90,24 @@ SKIP: FAILED
%54 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0 %54 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
%55 = OpLoad %int %54 %55 = OpLoad %int %54
%56 = OpSGreaterThan %bool %53 %55 %56 = OpSGreaterThan %bool %53 %55
OpSelectionMerge %57 None OpBranchConditional %56 %44 %45
OpBranchConditional %56 %58 %59
%58 = OpLabel
OpBranch %57
%59 = OpLabel
OpBranch %45
%57 = OpLabel
OpBranch %44
%45 = OpLabel %45 = OpLabel
OpReturn OpReturn
%42 = OpLabel %42 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %60 %tint_symbol_2 = OpFunction %void None %57
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%64 = OpLabel %61 = OpLabel
%65 = OpCompositeExtract %v4float %tint_symbol 0 %62 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %65 OpStore %tint_symbol_1 %62
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%67 = OpLabel %64 = OpLabel
%68 = OpFunctionCall %void %main_1 %65 = OpFunctionCall %void %main_1
%70 = OpLoad %v4float %x_GLF_color %67 = OpLoad %v4float %x_GLF_color
%71 = OpCompositeConstruct %main_out %70 %68 = OpCompositeConstruct %main_out %67
%69 = OpFunctionCall %void %tint_symbol_2 %71 %66 = OpFunctionCall %void %tint_symbol_2 %68
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 46[%46] is not post dominated by the back-edge block 57[%57]
%57 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 72 ; Bound: 69
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -50,7 +48,7 @@ SKIP: FAILED
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%bool = OpTypeBool %bool = OpTypeBool
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%60 = OpTypeFunction %void %main_out %57 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%22 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0 %22 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
@ -92,34 +90,24 @@ SKIP: FAILED
%54 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0 %54 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
%55 = OpLoad %int %54 %55 = OpLoad %int %54
%56 = OpSGreaterThan %bool %53 %55 %56 = OpSGreaterThan %bool %53 %55
OpSelectionMerge %57 None OpBranchConditional %56 %44 %45
OpBranchConditional %56 %58 %59
%58 = OpLabel
OpBranch %57
%59 = OpLabel
OpBranch %45
%57 = OpLabel
OpBranch %44
%45 = OpLabel %45 = OpLabel
OpReturn OpReturn
%42 = OpLabel %42 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %60 %tint_symbol_2 = OpFunction %void None %57
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%64 = OpLabel %61 = OpLabel
%65 = OpCompositeExtract %v4float %tint_symbol 0 %62 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %65 OpStore %tint_symbol_1 %62
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%67 = OpLabel %64 = OpLabel
%68 = OpFunctionCall %void %main_1 %65 = OpFunctionCall %void %main_1
%70 = OpLoad %v4float %x_GLF_color %67 = OpLoad %v4float %x_GLF_color
%71 = OpCompositeConstruct %main_out %70 %68 = OpCompositeConstruct %main_out %67
%69 = OpFunctionCall %void %tint_symbol_2 %71 %66 = OpFunctionCall %void %tint_symbol_2 %68
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 46[%46] is not post dominated by the back-edge block 57[%57]
%57 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 82 ; Bound: 79
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -71,7 +69,7 @@ SKIP: FAILED
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%70 = OpTypeFunction %void %main_out %67 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%i = OpVariable %_ptr_Function_int Function %21 %i = OpVariable %_ptr_Function_int Function %21
@ -110,48 +108,38 @@ SKIP: FAILED
%50 = OpLabel %50 = OpLabel
OpBranch %44 OpBranch %44
%44 = OpLabel %44 = OpLabel
OpSelectionMerge %55 None OpBranchConditional %false %42 %43
OpBranchConditional %false %56 %57
%56 = OpLabel
OpBranch %55
%57 = OpLabel
OpBranch %43
%55 = OpLabel
OpBranch %42
%43 = OpLabel %43 = OpLabel
OpBranch %29 OpBranch %29
%29 = OpLabel %29 = OpLabel
%58 = OpLoad %int %i %55 = OpLoad %int %i
%59 = OpIAdd %int %58 %int_1 %56 = OpIAdd %int %55 %int_1
OpStore %i %59 OpStore %i %56
OpBranch %27 OpBranch %27
%28 = OpLabel %28 = OpLabel
%60 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %57 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0
%61 = OpLoad %int %60 %58 = OpLoad %int %57
%64 = OpAccessChain %_ptr_Function_float %v %uint_1 %61 = OpAccessChain %_ptr_Function_float %v %uint_1
%65 = OpConvertSToF %float %61 %62 = OpConvertSToF %float %58
OpStore %64 %65 OpStore %61 %62
%66 = OpAccessChain %_ptr_Function_float %v %uint_1 %63 = OpAccessChain %_ptr_Function_float %v %uint_1
%67 = OpLoad %float %66 %64 = OpLoad %float %63
%69 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1 %66 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
OpStore %69 %67 OpStore %66 %64
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %70 %tint_symbol_2 = OpFunction %void None %67
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%74 = OpLabel %71 = OpLabel
%75 = OpCompositeExtract %v4float %tint_symbol 0 %72 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %75 OpStore %tint_symbol_1 %72
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%77 = OpLabel %74 = OpLabel
%78 = OpFunctionCall %void %main_1 %75 = OpFunctionCall %void %main_1
%80 = OpLoad %v4float %x_GLF_color %77 = OpLoad %v4float %x_GLF_color
%81 = OpCompositeConstruct %main_out %80 %78 = OpCompositeConstruct %main_out %77
%79 = OpFunctionCall %void %tint_symbol_2 %81 %76 = OpFunctionCall %void %tint_symbol_2 %78
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 44[%44] is not post dominated by the back-edge block 55[%55]
%55 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 82 ; Bound: 79
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -71,7 +69,7 @@ SKIP: FAILED
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%70 = OpTypeFunction %void %main_out %67 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%i = OpVariable %_ptr_Function_int Function %21 %i = OpVariable %_ptr_Function_int Function %21
@ -110,48 +108,38 @@ SKIP: FAILED
%50 = OpLabel %50 = OpLabel
OpBranch %44 OpBranch %44
%44 = OpLabel %44 = OpLabel
OpSelectionMerge %55 None OpBranchConditional %false %42 %43
OpBranchConditional %false %56 %57
%56 = OpLabel
OpBranch %55
%57 = OpLabel
OpBranch %43
%55 = OpLabel
OpBranch %42
%43 = OpLabel %43 = OpLabel
OpBranch %29 OpBranch %29
%29 = OpLabel %29 = OpLabel
%58 = OpLoad %int %i %55 = OpLoad %int %i
%59 = OpIAdd %int %58 %int_1 %56 = OpIAdd %int %55 %int_1
OpStore %i %59 OpStore %i %56
OpBranch %27 OpBranch %27
%28 = OpLabel %28 = OpLabel
%60 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %57 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0
%61 = OpLoad %int %60 %58 = OpLoad %int %57
%64 = OpAccessChain %_ptr_Function_float %v %uint_1 %61 = OpAccessChain %_ptr_Function_float %v %uint_1
%65 = OpConvertSToF %float %61 %62 = OpConvertSToF %float %58
OpStore %64 %65 OpStore %61 %62
%66 = OpAccessChain %_ptr_Function_float %v %uint_1 %63 = OpAccessChain %_ptr_Function_float %v %uint_1
%67 = OpLoad %float %66 %64 = OpLoad %float %63
%69 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1 %66 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
OpStore %69 %67 OpStore %66 %64
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %70 %tint_symbol_2 = OpFunction %void None %67
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%74 = OpLabel %71 = OpLabel
%75 = OpCompositeExtract %v4float %tint_symbol 0 %72 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %75 OpStore %tint_symbol_1 %72
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%77 = OpLabel %74 = OpLabel
%78 = OpFunctionCall %void %main_1 %75 = OpFunctionCall %void %main_1
%80 = OpLoad %v4float %x_GLF_color %77 = OpLoad %v4float %x_GLF_color
%81 = OpCompositeConstruct %main_out %80 %78 = OpCompositeConstruct %main_out %77
%79 = OpFunctionCall %void %tint_symbol_2 %81 %76 = OpFunctionCall %void %tint_symbol_2 %78
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 44[%44] is not post dominated by the back-edge block 55[%55]
%55 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 112 ; Bound: 106
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -79,7 +77,7 @@ SKIP: FAILED
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%_ptr_Uniform_int = OpTypePointer Uniform %int %_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%100 = OpTypeFunction %void %main_out %94 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22 %main_1 = OpFunction %void None %22
%25 = OpLabel %25 = OpLabel
%i = OpVariable %_ptr_Function_int Function %28 %i = OpVariable %_ptr_Function_int Function %28
@ -106,109 +104,92 @@ SKIP: FAILED
OpStore %x_GLF_color %51 OpStore %x_GLF_color %51
OpBranch %46 OpBranch %46
%46 = OpLabel %46 = OpLabel
OpSelectionMerge %53 None OpBranchConditional %true %44 %45
OpBranchConditional %true %54 %55
%54 = OpLabel
OpBranch %53
%55 = OpLabel
OpBranch %45
%53 = OpLabel
OpBranch %44
%45 = OpLabel %45 = OpLabel
OpBranch %41 OpBranch %41
%43 = OpLabel %43 = OpLabel
OpBranch %53
%53 = OpLabel
OpLoopMerge %54 %55 None
OpBranch %56 OpBranch %56
%56 = OpLabel %56 = OpLabel
OpLoopMerge %57 %58 None OpBranch %57
OpBranch %59 %57 = OpLabel
%59 = OpLabel OpLoopMerge %58 %59 None
OpBranch %60 OpBranch %60
%60 = OpLabel %60 = OpLabel
OpLoopMerge %61 %62 None OpSelectionMerge %61 None
OpBranch %63 OpBranchConditional %true %62 %63
%63 = OpLabel %62 = OpLabel
OpSelectionMerge %64 None
OpBranchConditional %true %65 %66
%65 = OpLabel
OpBranch %64
%66 = OpLabel
OpBranch %61 OpBranch %61
%64 = OpLabel %63 = OpLabel
%68 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1 OpBranch %58
%69 = OpLoad %int %68 %61 = OpLabel
OpStore %i %69 %65 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%66 = OpLoad %int %65
OpStore %i %66
OpBranch %67
%67 = OpLabel
OpLoopMerge %68 %69 None
OpBranch %70 OpBranch %70
%70 = OpLabel %70 = OpLabel
OpLoopMerge %71 %72 None %71 = OpLoad %int %i
OpBranch %73 %72 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%73 = OpLabel %73 = OpLoad %int %72
%74 = OpLoad %int %i %74 = OpSLessThan %bool %71 %73
%75 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0 OpSelectionMerge %75 None
%76 = OpLoad %int %75 OpBranchConditional %74 %76 %77
%77 = OpSLessThan %bool %74 %76 %76 = OpLabel
OpSelectionMerge %78 None OpBranch %75
OpBranchConditional %77 %79 %80 %77 = OpLabel
%79 = OpLabel OpBranch %68
OpBranch %78 %75 = OpLabel
%80 = OpLabel %78 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
OpBranch %71 %79 = OpLoad %float %78
%78 = OpLabel %80 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%81 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1 %81 = OpLoad %float %80
%82 = OpLoad %float %81 %82 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%83 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0 %83 = OpLoad %float %82
%84 = OpLoad %float %83 %84 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%85 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0 %85 = OpLoad %float %84
%86 = OpLoad %float %85 %86 = OpCompositeConstruct %v4float %79 %81 %83 %85
%87 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1 OpStore %x_GLF_color %86
%88 = OpLoad %float %87 OpBranch %69
%89 = OpCompositeConstruct %v4float %82 %84 %86 %88 %69 = OpLabel
OpStore %x_GLF_color %89 %87 = OpLoad %int %i
OpBranch %72 %88 = OpIAdd %int %87 %int_1
%72 = OpLabel OpStore %i %88
%90 = OpLoad %int %i OpBranch %67
%91 = OpIAdd %int %90 %int_1 %68 = OpLabel
OpStore %i %91
OpBranch %70
%71 = OpLabel
OpBranch %61
%62 = OpLabel
OpBranch %60
%61 = OpLabel
OpBranch %58 OpBranch %58
%58 = OpLabel %59 = OpLabel
%92 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0
%93 = OpLoad %float %92
%94 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%95 = OpLoad %float %94
%96 = OpFOrdGreaterThan %bool %93 %95
OpSelectionMerge %97 None
OpBranchConditional %96 %98 %99
%98 = OpLabel
OpBranch %97
%99 = OpLabel
OpBranch %57 OpBranch %57
%97 = OpLabel %58 = OpLabel
OpBranch %56 OpBranch %55
%57 = OpLabel %55 = OpLabel
%89 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0
%90 = OpLoad %float %89
%91 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%92 = OpLoad %float %91
%93 = OpFOrdGreaterThan %bool %90 %92
OpBranchConditional %93 %53 %54
%54 = OpLabel
OpBranch %41 OpBranch %41
%41 = OpLabel %41 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %100 %tint_symbol_2 = OpFunction %void None %94
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%104 = OpLabel %98 = OpLabel
%105 = OpCompositeExtract %v4float %tint_symbol 0 %99 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %105 OpStore %tint_symbol_1 %99
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %22 %main = OpFunction %void None %22
%107 = OpLabel %101 = OpLabel
%108 = OpFunctionCall %void %main_1 %102 = OpFunctionCall %void %main_1
%110 = OpLoad %v4float %x_GLF_color %104 = OpLoad %v4float %x_GLF_color
%111 = OpCompositeConstruct %main_out %110 %105 = OpCompositeConstruct %main_out %104
%109 = OpFunctionCall %void %tint_symbol_2 %111 %103 = OpFunctionCall %void %tint_symbol_2 %105
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 46[%46] is not post dominated by the back-edge block 53[%53]
%53 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 112 ; Bound: 106
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -79,7 +77,7 @@ SKIP: FAILED
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%_ptr_Uniform_int = OpTypePointer Uniform %int %_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%100 = OpTypeFunction %void %main_out %94 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22 %main_1 = OpFunction %void None %22
%25 = OpLabel %25 = OpLabel
%i = OpVariable %_ptr_Function_int Function %28 %i = OpVariable %_ptr_Function_int Function %28
@ -106,109 +104,92 @@ SKIP: FAILED
OpStore %x_GLF_color %51 OpStore %x_GLF_color %51
OpBranch %46 OpBranch %46
%46 = OpLabel %46 = OpLabel
OpSelectionMerge %53 None OpBranchConditional %true %44 %45
OpBranchConditional %true %54 %55
%54 = OpLabel
OpBranch %53
%55 = OpLabel
OpBranch %45
%53 = OpLabel
OpBranch %44
%45 = OpLabel %45 = OpLabel
OpBranch %41 OpBranch %41
%43 = OpLabel %43 = OpLabel
OpBranch %53
%53 = OpLabel
OpLoopMerge %54 %55 None
OpBranch %56 OpBranch %56
%56 = OpLabel %56 = OpLabel
OpLoopMerge %57 %58 None OpBranch %57
OpBranch %59 %57 = OpLabel
%59 = OpLabel OpLoopMerge %58 %59 None
OpBranch %60 OpBranch %60
%60 = OpLabel %60 = OpLabel
OpLoopMerge %61 %62 None OpSelectionMerge %61 None
OpBranch %63 OpBranchConditional %true %62 %63
%63 = OpLabel %62 = OpLabel
OpSelectionMerge %64 None
OpBranchConditional %true %65 %66
%65 = OpLabel
OpBranch %64
%66 = OpLabel
OpBranch %61 OpBranch %61
%64 = OpLabel %63 = OpLabel
%68 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1 OpBranch %58
%69 = OpLoad %int %68 %61 = OpLabel
OpStore %i %69 %65 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%66 = OpLoad %int %65
OpStore %i %66
OpBranch %67
%67 = OpLabel
OpLoopMerge %68 %69 None
OpBranch %70 OpBranch %70
%70 = OpLabel %70 = OpLabel
OpLoopMerge %71 %72 None %71 = OpLoad %int %i
OpBranch %73 %72 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%73 = OpLabel %73 = OpLoad %int %72
%74 = OpLoad %int %i %74 = OpSLessThan %bool %71 %73
%75 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0 OpSelectionMerge %75 None
%76 = OpLoad %int %75 OpBranchConditional %74 %76 %77
%77 = OpSLessThan %bool %74 %76 %76 = OpLabel
OpSelectionMerge %78 None OpBranch %75
OpBranchConditional %77 %79 %80 %77 = OpLabel
%79 = OpLabel OpBranch %68
OpBranch %78 %75 = OpLabel
%80 = OpLabel %78 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
OpBranch %71 %79 = OpLoad %float %78
%78 = OpLabel %80 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%81 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1 %81 = OpLoad %float %80
%82 = OpLoad %float %81 %82 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%83 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0 %83 = OpLoad %float %82
%84 = OpLoad %float %83 %84 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%85 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0 %85 = OpLoad %float %84
%86 = OpLoad %float %85 %86 = OpCompositeConstruct %v4float %79 %81 %83 %85
%87 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1 OpStore %x_GLF_color %86
%88 = OpLoad %float %87 OpBranch %69
%89 = OpCompositeConstruct %v4float %82 %84 %86 %88 %69 = OpLabel
OpStore %x_GLF_color %89 %87 = OpLoad %int %i
OpBranch %72 %88 = OpIAdd %int %87 %int_1
%72 = OpLabel OpStore %i %88
%90 = OpLoad %int %i OpBranch %67
%91 = OpIAdd %int %90 %int_1 %68 = OpLabel
OpStore %i %91
OpBranch %70
%71 = OpLabel
OpBranch %61
%62 = OpLabel
OpBranch %60
%61 = OpLabel
OpBranch %58 OpBranch %58
%58 = OpLabel %59 = OpLabel
%92 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0
%93 = OpLoad %float %92
%94 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%95 = OpLoad %float %94
%96 = OpFOrdGreaterThan %bool %93 %95
OpSelectionMerge %97 None
OpBranchConditional %96 %98 %99
%98 = OpLabel
OpBranch %97
%99 = OpLabel
OpBranch %57 OpBranch %57
%97 = OpLabel %58 = OpLabel
OpBranch %56 OpBranch %55
%57 = OpLabel %55 = OpLabel
%89 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0
%90 = OpLoad %float %89
%91 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%92 = OpLoad %float %91
%93 = OpFOrdGreaterThan %bool %90 %92
OpBranchConditional %93 %53 %54
%54 = OpLabel
OpBranch %41 OpBranch %41
%41 = OpLabel %41 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %100 %tint_symbol_2 = OpFunction %void None %94
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%104 = OpLabel %98 = OpLabel
%105 = OpCompositeExtract %v4float %tint_symbol 0 %99 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %105 OpStore %tint_symbol_1 %99
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %22 %main = OpFunction %void None %22
%107 = OpLabel %101 = OpLabel
%108 = OpFunctionCall %void %main_1 %102 = OpFunctionCall %void %main_1
%110 = OpLoad %v4float %x_GLF_color %104 = OpLoad %v4float %x_GLF_color
%111 = OpCompositeConstruct %main_out %110 %105 = OpCompositeConstruct %main_out %104
%109 = OpFunctionCall %void %tint_symbol_2 %111 %103 = OpFunctionCall %void %tint_symbol_2 %105
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 46[%46] is not post dominated by the back-edge block 53[%53]
%53 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 134 ; Bound: 131
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -79,10 +77,10 @@ SKIP: FAILED
%79 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_1 %79 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_1
%90 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1 %90 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%119 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %116 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%120 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %117 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out %118 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%v = OpVariable %_ptr_Function_v2float Function %21 %v = OpVariable %_ptr_Function_v2float Function %21
@ -173,67 +171,57 @@ SKIP: FAILED
%50 = OpLabel %50 = OpLabel
%93 = OpLoad %int %one %93 = OpLoad %int %one
%94 = OpSLessThan %bool %93 %int_0 %94 = OpSLessThan %bool %93 %int_0
OpSelectionMerge %95 None OpBranchConditional %94 %48 %49
OpBranchConditional %94 %96 %97
%96 = OpLabel
OpBranch %95
%97 = OpLabel
OpBranch %49
%95 = OpLabel
OpBranch %48
%49 = OpLabel %49 = OpLabel
%101 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %98 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%102 = OpLoad %float %101 %99 = OpLoad %float %98
%103 = OpFOrdGreaterThanEqual %bool %102 %float_0 %100 = OpFOrdGreaterThanEqual %bool %99 %float_0
OpSelectionMerge %104 None OpSelectionMerge %101 None
OpBranchConditional %103 %105 %106 OpBranchConditional %100 %102 %103
%105 = OpLabel %102 = OpLabel
%107 = OpAccessChain %_ptr_Function_float %v %uint_1 %104 = OpAccessChain %_ptr_Function_float %v %uint_1
%108 = OpLoad %float %107 %105 = OpLoad %float %104
%109 = OpFOrdEqual %bool %108 %float_1 %106 = OpFOrdEqual %bool %105 %float_1
OpStore %x_103_phi %109 OpStore %x_103_phi %106
OpSelectionMerge %110 None OpSelectionMerge %107 None
OpBranchConditional %109 %111 %110 OpBranchConditional %106 %108 %107
%111 = OpLabel %108 = OpLabel
%112 = OpAccessChain %_ptr_Function_float %floats %int_1 %109 = OpAccessChain %_ptr_Function_float %floats %int_1
%113 = OpLoad %float %112 %110 = OpLoad %float %109
%114 = OpFOrdEqual %bool %113 %float_1 %111 = OpFOrdEqual %bool %110 %float_1
OpStore %x_102 %114 OpStore %x_102 %111
%115 = OpLoad %bool %x_102 %112 = OpLoad %bool %x_102
OpStore %x_103_phi %115 OpStore %x_103_phi %112
OpBranch %110 OpBranch %107
%110 = OpLabel %107 = OpLabel
%116 = OpLoad %bool %x_103_phi %113 = OpLoad %bool %x_103_phi
OpSelectionMerge %117 None OpSelectionMerge %114 None
OpBranchConditional %116 %118 %117 OpBranchConditional %113 %115 %114
%118 = OpLabel %115 = OpLabel
OpStore %x_GLF_color %119 OpStore %x_GLF_color %116
OpBranch %117 OpBranch %114
%117 = OpLabel %114 = OpLabel
OpBranch %104 OpBranch %101
%106 = OpLabel %103 = OpLabel
OpStore %x_GLF_color %120 OpStore %x_GLF_color %117
OpBranch %104 OpBranch %101
%104 = OpLabel %101 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121 %tint_symbol_3 = OpFunction %void None %118
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel %122 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0 %123 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126 OpStore %tint_symbol_2 %123
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%128 = OpLabel %125 = OpLabel
%129 = OpLoad %v4float %tint_symbol %126 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129 OpStore %gl_FragCoord %126
%130 = OpFunctionCall %void %main_1 %127 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color %129 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132 %130 = OpCompositeConstruct %main_out %129
%131 = OpFunctionCall %void %tint_symbol_3 %133 %128 = OpFunctionCall %void %tint_symbol_3 %130
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 50[%50] is not post dominated by the back-edge block 95[%95]
%95 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 134 ; Bound: 131
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -79,10 +77,10 @@ SKIP: FAILED
%79 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_1 %79 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_1
%90 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1 %90 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%119 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %116 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%120 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %117 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out %118 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%v = OpVariable %_ptr_Function_v2float Function %21 %v = OpVariable %_ptr_Function_v2float Function %21
@ -173,67 +171,57 @@ SKIP: FAILED
%50 = OpLabel %50 = OpLabel
%93 = OpLoad %int %one %93 = OpLoad %int %one
%94 = OpSLessThan %bool %93 %int_0 %94 = OpSLessThan %bool %93 %int_0
OpSelectionMerge %95 None OpBranchConditional %94 %48 %49
OpBranchConditional %94 %96 %97
%96 = OpLabel
OpBranch %95
%97 = OpLabel
OpBranch %49
%95 = OpLabel
OpBranch %48
%49 = OpLabel %49 = OpLabel
%101 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %98 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%102 = OpLoad %float %101 %99 = OpLoad %float %98
%103 = OpFOrdGreaterThanEqual %bool %102 %float_0 %100 = OpFOrdGreaterThanEqual %bool %99 %float_0
OpSelectionMerge %104 None OpSelectionMerge %101 None
OpBranchConditional %103 %105 %106 OpBranchConditional %100 %102 %103
%105 = OpLabel %102 = OpLabel
%107 = OpAccessChain %_ptr_Function_float %v %uint_1 %104 = OpAccessChain %_ptr_Function_float %v %uint_1
%108 = OpLoad %float %107 %105 = OpLoad %float %104
%109 = OpFOrdEqual %bool %108 %float_1 %106 = OpFOrdEqual %bool %105 %float_1
OpStore %x_103_phi %109 OpStore %x_103_phi %106
OpSelectionMerge %110 None OpSelectionMerge %107 None
OpBranchConditional %109 %111 %110 OpBranchConditional %106 %108 %107
%111 = OpLabel %108 = OpLabel
%112 = OpAccessChain %_ptr_Function_float %floats %int_1 %109 = OpAccessChain %_ptr_Function_float %floats %int_1
%113 = OpLoad %float %112 %110 = OpLoad %float %109
%114 = OpFOrdEqual %bool %113 %float_1 %111 = OpFOrdEqual %bool %110 %float_1
OpStore %x_102 %114 OpStore %x_102 %111
%115 = OpLoad %bool %x_102 %112 = OpLoad %bool %x_102
OpStore %x_103_phi %115 OpStore %x_103_phi %112
OpBranch %110 OpBranch %107
%110 = OpLabel %107 = OpLabel
%116 = OpLoad %bool %x_103_phi %113 = OpLoad %bool %x_103_phi
OpSelectionMerge %117 None OpSelectionMerge %114 None
OpBranchConditional %116 %118 %117 OpBranchConditional %113 %115 %114
%118 = OpLabel %115 = OpLabel
OpStore %x_GLF_color %119 OpStore %x_GLF_color %116
OpBranch %117 OpBranch %114
%117 = OpLabel %114 = OpLabel
OpBranch %104 OpBranch %101
%106 = OpLabel %103 = OpLabel
OpStore %x_GLF_color %120 OpStore %x_GLF_color %117
OpBranch %104 OpBranch %101
%104 = OpLabel %101 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121 %tint_symbol_3 = OpFunction %void None %118
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel %122 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0 %123 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126 OpStore %tint_symbol_2 %123
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%128 = OpLabel %125 = OpLabel
%129 = OpLoad %v4float %tint_symbol %126 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129 OpStore %gl_FragCoord %126
%130 = OpFunctionCall %void %main_1 %127 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color %129 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132 %130 = OpCompositeConstruct %main_out %129
%131 = OpFunctionCall %void %tint_symbol_3 %133 %128 = OpFunctionCall %void %tint_symbol_3 %130
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 50[%50] is not post dominated by the back-edge block 95[%95]
%95 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 134 ; Bound: 131
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -214,22 +212,12 @@ SKIP: FAILED
%125 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1 %125 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
%126 = OpLoad %float %125 %126 = OpLoad %float %125
%127 = OpFOrdGreaterThan %bool %124 %126 %127 = OpFOrdGreaterThan %bool %124 %126
OpSelectionMerge %128 None OpBranchConditional %127 %66 %67
OpBranchConditional %127 %129 %130
%129 = OpLabel
OpBranch %128
%130 = OpLabel
OpBranch %67
%128 = OpLabel
OpBranch %66
%67 = OpLabel %67 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %10 %main = OpFunction %void None %10
%132 = OpLabel %129 = OpLabel
%133 = OpFunctionCall %void %main_1 %130 = OpFunctionCall %void %main_1
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 68[%68] is not post dominated by the back-edge block 128[%128]
%128 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 134 ; Bound: 131
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -214,22 +212,12 @@ SKIP: FAILED
%125 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1 %125 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
%126 = OpLoad %float %125 %126 = OpLoad %float %125
%127 = OpFOrdGreaterThan %bool %124 %126 %127 = OpFOrdGreaterThan %bool %124 %126
OpSelectionMerge %128 None OpBranchConditional %127 %66 %67
OpBranchConditional %127 %129 %130
%129 = OpLabel
OpBranch %128
%130 = OpLabel
OpBranch %67
%128 = OpLabel
OpBranch %66
%67 = OpLabel %67 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %10 %main = OpFunction %void None %10
%132 = OpLabel %129 = OpLabel
%133 = OpFunctionCall %void %main_1 %130 = OpFunctionCall %void %main_1
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 68[%68] is not post dominated by the back-edge block 128[%128]
%128 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 71 ; Bound: 68
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -59,9 +57,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%57 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %54 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%58 = OpTypeFunction %void %main_out %55 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%x_46_phi = OpVariable %_ptr_Function_bool Function %26 %x_46_phi = OpVariable %_ptr_Function_bool Function %26
@ -97,45 +95,35 @@ SKIP: FAILED
OpBranch %28 OpBranch %28
%29 = OpLabel %29 = OpLabel
OpStore %x_46_phi %false OpStore %x_46_phi %false
OpSelectionMerge %51 None OpBranchConditional %false %27 %28
OpBranchConditional %false %52 %53
%52 = OpLabel
OpBranch %51
%53 = OpLabel
OpBranch %28
%51 = OpLabel
OpBranch %27
%28 = OpLabel %28 = OpLabel
%54 = OpLoad %bool %x_46_phi %51 = OpLoad %bool %x_46_phi
OpSelectionMerge %55 None OpSelectionMerge %52 None
OpBranchConditional %54 %56 %55 OpBranchConditional %51 %53 %52
%56 = OpLabel %53 = OpLabel
OpBranch %20 OpBranch %20
%55 = OpLabel %52 = OpLabel
OpBranch %20 OpBranch %20
%21 = OpLabel %21 = OpLabel
OpBranch %19 OpBranch %19
%20 = OpLabel %20 = OpLabel
OpStore %x_GLF_color %57 OpStore %x_GLF_color %54
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %58 %tint_symbol_3 = OpFunction %void None %55
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%62 = OpLabel %59 = OpLabel
%63 = OpCompositeExtract %v4float %tint_symbol_1 0 %60 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %63 OpStore %tint_symbol_2 %60
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%65 = OpLabel %62 = OpLabel
%66 = OpLoad %v4float %tint_symbol %63 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %66 OpStore %gl_FragCoord %63
%67 = OpFunctionCall %void %main_1 %64 = OpFunctionCall %void %main_1
%69 = OpLoad %v4float %x_GLF_color %66 = OpLoad %v4float %x_GLF_color
%70 = OpCompositeConstruct %main_out %69 %67 = OpCompositeConstruct %main_out %66
%68 = OpFunctionCall %void %tint_symbol_3 %70 %65 = OpFunctionCall %void %tint_symbol_3 %67
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 29[%29] is not post dominated by the back-edge block 51[%51]
%51 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 71 ; Bound: 68
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -59,9 +57,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%57 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %54 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%58 = OpTypeFunction %void %main_out %55 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%x_46_phi = OpVariable %_ptr_Function_bool Function %26 %x_46_phi = OpVariable %_ptr_Function_bool Function %26
@ -97,45 +95,35 @@ SKIP: FAILED
OpBranch %28 OpBranch %28
%29 = OpLabel %29 = OpLabel
OpStore %x_46_phi %false OpStore %x_46_phi %false
OpSelectionMerge %51 None OpBranchConditional %false %27 %28
OpBranchConditional %false %52 %53
%52 = OpLabel
OpBranch %51
%53 = OpLabel
OpBranch %28
%51 = OpLabel
OpBranch %27
%28 = OpLabel %28 = OpLabel
%54 = OpLoad %bool %x_46_phi %51 = OpLoad %bool %x_46_phi
OpSelectionMerge %55 None OpSelectionMerge %52 None
OpBranchConditional %54 %56 %55 OpBranchConditional %51 %53 %52
%56 = OpLabel %53 = OpLabel
OpBranch %20 OpBranch %20
%55 = OpLabel %52 = OpLabel
OpBranch %20 OpBranch %20
%21 = OpLabel %21 = OpLabel
OpBranch %19 OpBranch %19
%20 = OpLabel %20 = OpLabel
OpStore %x_GLF_color %57 OpStore %x_GLF_color %54
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %58 %tint_symbol_3 = OpFunction %void None %55
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%62 = OpLabel %59 = OpLabel
%63 = OpCompositeExtract %v4float %tint_symbol_1 0 %60 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %63 OpStore %tint_symbol_2 %60
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%65 = OpLabel %62 = OpLabel
%66 = OpLoad %v4float %tint_symbol %63 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %66 OpStore %gl_FragCoord %63
%67 = OpFunctionCall %void %main_1 %64 = OpFunctionCall %void %main_1
%69 = OpLoad %v4float %x_GLF_color %66 = OpLoad %v4float %x_GLF_color
%70 = OpCompositeConstruct %main_out %69 %67 = OpCompositeConstruct %main_out %66
%68 = OpFunctionCall %void %tint_symbol_3 %70 %65 = OpFunctionCall %void %tint_symbol_3 %67
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 29[%29] is not post dominated by the back-edge block 51[%51]
%51 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 63 ; Bound: 60
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -56,9 +54,9 @@ SKIP: FAILED
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%49 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %46 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%50 = OpTypeFunction %void %main_out %47 = OpTypeFunction %void %main_out
%f_ = OpFunction %void None %15 %f_ = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
OpBranch %19 OpBranch %19
@ -86,40 +84,30 @@ SKIP: FAILED
%32 = OpLabel %32 = OpLabel
OpKill OpKill
%21 = OpLabel %21 = OpLabel
OpSelectionMerge %43 None OpBranchConditional %false %19 %20
OpBranchConditional %false %44 %45
%44 = OpLabel
OpBranch %43
%45 = OpLabel
OpBranch %20
%43 = OpLabel
OpBranch %19
%20 = OpLabel %20 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%47 = OpLabel %44 = OpLabel
%48 = OpFunctionCall %void %f_ %45 = OpFunctionCall %void %f_
OpStore %x_GLF_color %49 OpStore %x_GLF_color %46
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %50 %tint_symbol_3 = OpFunction %void None %47
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%54 = OpLabel %51 = OpLabel
%55 = OpCompositeExtract %v4float %tint_symbol_1 0 %52 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %55 OpStore %tint_symbol_2 %52
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%57 = OpLabel %54 = OpLabel
%58 = OpLoad %v4float %tint_symbol %55 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %58 OpStore %gl_FragCoord %55
%59 = OpFunctionCall %void %main_1 %56 = OpFunctionCall %void %main_1
%61 = OpLoad %v4float %x_GLF_color %58 = OpLoad %v4float %x_GLF_color
%62 = OpCompositeConstruct %main_out %61 %59 = OpCompositeConstruct %main_out %58
%60 = OpFunctionCall %void %tint_symbol_3 %62 %57 = OpFunctionCall %void %tint_symbol_3 %59
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 21[%21] is not post dominated by the back-edge block 43[%43]
%43 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 63 ; Bound: 60
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -56,9 +54,9 @@ SKIP: FAILED
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%49 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %46 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%50 = OpTypeFunction %void %main_out %47 = OpTypeFunction %void %main_out
%f_ = OpFunction %void None %15 %f_ = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
OpBranch %19 OpBranch %19
@ -86,40 +84,30 @@ SKIP: FAILED
%32 = OpLabel %32 = OpLabel
OpKill OpKill
%21 = OpLabel %21 = OpLabel
OpSelectionMerge %43 None OpBranchConditional %false %19 %20
OpBranchConditional %false %44 %45
%44 = OpLabel
OpBranch %43
%45 = OpLabel
OpBranch %20
%43 = OpLabel
OpBranch %19
%20 = OpLabel %20 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%47 = OpLabel %44 = OpLabel
%48 = OpFunctionCall %void %f_ %45 = OpFunctionCall %void %f_
OpStore %x_GLF_color %49 OpStore %x_GLF_color %46
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %50 %tint_symbol_3 = OpFunction %void None %47
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%54 = OpLabel %51 = OpLabel
%55 = OpCompositeExtract %v4float %tint_symbol_1 0 %52 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %55 OpStore %tint_symbol_2 %52
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%57 = OpLabel %54 = OpLabel
%58 = OpLoad %v4float %tint_symbol %55 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %58 OpStore %gl_FragCoord %55
%59 = OpFunctionCall %void %main_1 %56 = OpFunctionCall %void %main_1
%61 = OpLoad %v4float %x_GLF_color %58 = OpLoad %v4float %x_GLF_color
%62 = OpCompositeConstruct %main_out %61 %59 = OpCompositeConstruct %main_out %58
%60 = OpFunctionCall %void %tint_symbol_3 %62 %57 = OpFunctionCall %void %tint_symbol_3 %59
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 21[%21] is not post dominated by the back-edge block 43[%43]
%43 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 94 ; Bound: 88
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -56,13 +54,13 @@ SKIP: FAILED
%bool = OpTypeBool %bool = OpTypeBool
%int_100 = OpConstant %int 100 %int_100 = OpConstant %int 100
%void = OpTypeVoid %void = OpTypeVoid
%69 = OpTypeFunction %void %63 = OpTypeFunction %void
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%80 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %74 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%81 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %75 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%82 = OpTypeFunction %void %main_out %76 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %12 %func_ = OpFunction %int None %12
%15 = OpLabel %15 = OpLabel
%loop_count = OpVariable %_ptr_Function_int Function %18 %loop_count = OpVariable %_ptr_Function_int Function %18
@ -116,62 +114,45 @@ SKIP: FAILED
OpStore %x_45_phi %56 OpStore %x_45_phi %56
%57 = OpLoad %int %x_39 %57 = OpLoad %int %x_39
%59 = OpSLessThan %bool %57 %int_100 %59 = OpSLessThan %bool %57 %int_100
OpSelectionMerge %60 None OpBranchConditional %59 %30 %31
OpBranchConditional %59 %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %31
%60 = OpLabel
OpBranch %30
%31 = OpLabel %31 = OpLabel
OpBranch %23 OpBranch %23
%23 = OpLabel %23 = OpLabel
%63 = OpLoad %int %x_39 %60 = OpLoad %int %x_39
OpStore %x_38_phi %63 OpStore %x_38_phi %60
%64 = OpLoad %int %x_39 %61 = OpLoad %int %x_39
%65 = OpSLessThan %bool %64 %int_100 %62 = OpSLessThan %bool %61 %int_100
OpSelectionMerge %66 None OpBranchConditional %62 %21 %22
OpBranchConditional %65 %67 %68
%67 = OpLabel
OpBranch %66
%68 = OpLabel
OpBranch %22
%66 = OpLabel
OpBranch %21
%22 = OpLabel %22 = OpLabel
OpReturnValue %int_0 OpReturnValue %int_0
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %69 %main_1 = OpFunction %void None %63
%72 = OpLabel
%73 = OpFunctionCall %int %func_
%74 = OpIEqual %bool %73 %int_1
OpSelectionMerge %75 None
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpStore %x_GLF_color %80
OpBranch %75
%77 = OpLabel
OpStore %x_GLF_color %81
OpBranch %75
%75 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %82
%tint_symbol = OpFunctionParameter %main_out
%86 = OpLabel
%87 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %87
OpReturn
OpFunctionEnd
%main = OpFunction %void None %69
%89 = OpLabel
%90 = OpFunctionCall %void %main_1
%92 = OpLoad %v4float %x_GLF_color
%93 = OpCompositeConstruct %main_out %92
%91 = OpFunctionCall %void %tint_symbol_2 %93
OpReturn
OpFunctionEnd
1:1: The continue construct with the continue target 23[%23] is not post dominated by the back-edge block 66[%66]
%66 = OpLabel %66 = OpLabel
%67 = OpFunctionCall %int %func_
%68 = OpIEqual %bool %67 %int_1
OpSelectionMerge %69 None
OpBranchConditional %68 %70 %71
%70 = OpLabel
OpStore %x_GLF_color %74
OpBranch %69
%71 = OpLabel
OpStore %x_GLF_color %75
OpBranch %69
%69 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %76
%tint_symbol = OpFunctionParameter %main_out
%80 = OpLabel
%81 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %81
OpReturn
OpFunctionEnd
%main = OpFunction %void None %63
%83 = OpLabel
%84 = OpFunctionCall %void %main_1
%86 = OpLoad %v4float %x_GLF_color
%87 = OpCompositeConstruct %main_out %86
%85 = OpFunctionCall %void %tint_symbol_2 %87
OpReturn
OpFunctionEnd

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 94 ; Bound: 88
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -56,13 +54,13 @@ SKIP: FAILED
%bool = OpTypeBool %bool = OpTypeBool
%int_100 = OpConstant %int 100 %int_100 = OpConstant %int 100
%void = OpTypeVoid %void = OpTypeVoid
%69 = OpTypeFunction %void %63 = OpTypeFunction %void
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%80 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %74 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%81 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %75 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%82 = OpTypeFunction %void %main_out %76 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %12 %func_ = OpFunction %int None %12
%15 = OpLabel %15 = OpLabel
%loop_count = OpVariable %_ptr_Function_int Function %18 %loop_count = OpVariable %_ptr_Function_int Function %18
@ -116,62 +114,45 @@ SKIP: FAILED
OpStore %x_45_phi %56 OpStore %x_45_phi %56
%57 = OpLoad %int %x_39 %57 = OpLoad %int %x_39
%59 = OpSLessThan %bool %57 %int_100 %59 = OpSLessThan %bool %57 %int_100
OpSelectionMerge %60 None OpBranchConditional %59 %30 %31
OpBranchConditional %59 %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %31
%60 = OpLabel
OpBranch %30
%31 = OpLabel %31 = OpLabel
OpBranch %23 OpBranch %23
%23 = OpLabel %23 = OpLabel
%63 = OpLoad %int %x_39 %60 = OpLoad %int %x_39
OpStore %x_38_phi %63 OpStore %x_38_phi %60
%64 = OpLoad %int %x_39 %61 = OpLoad %int %x_39
%65 = OpSLessThan %bool %64 %int_100 %62 = OpSLessThan %bool %61 %int_100
OpSelectionMerge %66 None OpBranchConditional %62 %21 %22
OpBranchConditional %65 %67 %68
%67 = OpLabel
OpBranch %66
%68 = OpLabel
OpBranch %22
%66 = OpLabel
OpBranch %21
%22 = OpLabel %22 = OpLabel
OpReturnValue %int_0 OpReturnValue %int_0
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %69 %main_1 = OpFunction %void None %63
%72 = OpLabel
%73 = OpFunctionCall %int %func_
%74 = OpIEqual %bool %73 %int_1
OpSelectionMerge %75 None
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpStore %x_GLF_color %80
OpBranch %75
%77 = OpLabel
OpStore %x_GLF_color %81
OpBranch %75
%75 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %82
%tint_symbol = OpFunctionParameter %main_out
%86 = OpLabel
%87 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %87
OpReturn
OpFunctionEnd
%main = OpFunction %void None %69
%89 = OpLabel
%90 = OpFunctionCall %void %main_1
%92 = OpLoad %v4float %x_GLF_color
%93 = OpCompositeConstruct %main_out %92
%91 = OpFunctionCall %void %tint_symbol_2 %93
OpReturn
OpFunctionEnd
1:1: The continue construct with the continue target 23[%23] is not post dominated by the back-edge block 66[%66]
%66 = OpLabel %66 = OpLabel
%67 = OpFunctionCall %int %func_
%68 = OpIEqual %bool %67 %int_1
OpSelectionMerge %69 None
OpBranchConditional %68 %70 %71
%70 = OpLabel
OpStore %x_GLF_color %74
OpBranch %69
%71 = OpLabel
OpStore %x_GLF_color %75
OpBranch %69
%69 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %76
%tint_symbol = OpFunctionParameter %main_out
%80 = OpLabel
%81 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %81
OpReturn
OpFunctionEnd
%main = OpFunction %void None %63
%83 = OpLabel
%84 = OpFunctionCall %void %main_1
%86 = OpLoad %v4float %x_GLF_color
%87 = OpCompositeConstruct %main_out %86
%85 = OpFunctionCall %void %tint_symbol_2 %87
OpReturn
OpFunctionEnd

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 53 ; Bound: 50
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -43,7 +41,7 @@ SKIP: FAILED
%uint_0 = OpConstant %uint 0 %uint_0 = OpConstant %uint 0
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%40 = OpTypeFunction %void %main_out %37 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
OpStore %x_GLF_color %17 OpStore %x_GLF_color %17
@ -67,14 +65,7 @@ SKIP: FAILED
%34 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %34 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%35 = OpLoad %float %34 %35 = OpLoad %float %34
%36 = OpFOrdLessThan %bool %35 %float_0 %36 = OpFOrdLessThan %bool %35 %float_0
OpSelectionMerge %37 None OpBranchConditional %36 %30 %31
OpBranchConditional %36 %38 %39
%38 = OpLabel
OpBranch %37
%39 = OpLabel
OpBranch %31
%37 = OpLabel
OpBranch %30
%31 = OpLabel %31 = OpLabel
OpBranch %28 OpBranch %28
%28 = OpLabel %28 = OpLabel
@ -82,23 +73,20 @@ SKIP: FAILED
%20 = OpLabel %20 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %40 %tint_symbol_3 = OpFunction %void None %37
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%44 = OpLabel %41 = OpLabel
%45 = OpCompositeExtract %v4float %tint_symbol_1 0 %42 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %45 OpStore %tint_symbol_2 %42
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%47 = OpLabel %44 = OpLabel
%48 = OpLoad %v4float %tint_symbol %45 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %48 OpStore %gl_FragCoord %45
%49 = OpFunctionCall %void %main_1 %46 = OpFunctionCall %void %main_1
%51 = OpLoad %v4float %x_GLF_color %48 = OpLoad %v4float %x_GLF_color
%52 = OpCompositeConstruct %main_out %51 %49 = OpCompositeConstruct %main_out %48
%50 = OpFunctionCall %void %tint_symbol_3 %52 %47 = OpFunctionCall %void %tint_symbol_3 %49
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 32[%32] is not post dominated by the back-edge block 37[%37]
%37 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 53 ; Bound: 50
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -43,7 +41,7 @@ SKIP: FAILED
%uint_0 = OpConstant %uint 0 %uint_0 = OpConstant %uint 0
%_ptr_Private_float = OpTypePointer Private %float %_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%40 = OpTypeFunction %void %main_out %37 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11 %main_1 = OpFunction %void None %11
%14 = OpLabel %14 = OpLabel
OpStore %x_GLF_color %17 OpStore %x_GLF_color %17
@ -67,14 +65,7 @@ SKIP: FAILED
%34 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %34 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%35 = OpLoad %float %34 %35 = OpLoad %float %34
%36 = OpFOrdLessThan %bool %35 %float_0 %36 = OpFOrdLessThan %bool %35 %float_0
OpSelectionMerge %37 None OpBranchConditional %36 %30 %31
OpBranchConditional %36 %38 %39
%38 = OpLabel
OpBranch %37
%39 = OpLabel
OpBranch %31
%37 = OpLabel
OpBranch %30
%31 = OpLabel %31 = OpLabel
OpBranch %28 OpBranch %28
%28 = OpLabel %28 = OpLabel
@ -82,23 +73,20 @@ SKIP: FAILED
%20 = OpLabel %20 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %40 %tint_symbol_3 = OpFunction %void None %37
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%44 = OpLabel %41 = OpLabel
%45 = OpCompositeExtract %v4float %tint_symbol_1 0 %42 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %45 OpStore %tint_symbol_2 %42
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %11 %main = OpFunction %void None %11
%47 = OpLabel %44 = OpLabel
%48 = OpLoad %v4float %tint_symbol %45 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %48 OpStore %gl_FragCoord %45
%49 = OpFunctionCall %void %main_1 %46 = OpFunctionCall %void %main_1
%51 = OpLoad %v4float %x_GLF_color %48 = OpLoad %v4float %x_GLF_color
%52 = OpCompositeConstruct %main_out %51 %49 = OpCompositeConstruct %main_out %48
%50 = OpFunctionCall %void %tint_symbol_3 %52 %47 = OpFunctionCall %void %tint_symbol_3 %49
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 32[%32] is not post dominated by the back-edge block 37[%37]
%37 = OpLabel

View File

@ -1,7 +1,7 @@
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 154 ; Bound: 151
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -75,11 +75,11 @@
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%77 = OpConstantComposite %v4float %float_0 %float_1 %float_1 %float_1 %74 = OpConstantComposite %v4float %float_0 %float_1 %float_1 %float_1
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%116 = OpTypeFunction %void %main_out %113 = OpTypeFunction %void %main_out
%129 = OpTypeFunction %int %_ptr_Function_v2float %126 = OpTypeFunction %int %_ptr_Function_v2float
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%x_43 = OpVariable %_ptr_Function_float Function %21 %x_43 = OpVariable %_ptr_Function_float Function %21
@ -131,129 +131,122 @@
OpStore %x_46 %int_1 OpStore %x_46 %int_1
OpBranch %38 OpBranch %38
%39 = OpLabel %39 = OpLabel
OpSelectionMerge %70 None OpBranchConditional %false %37 %38
OpBranchConditional %false %71 %72
%71 = OpLabel
OpBranch %70
%72 = OpLabel
OpBranch %38
%70 = OpLabel
OpBranch %37
%38 = OpLabel %38 = OpLabel
%73 = OpLoad %int %x_46 %70 = OpLoad %int %x_46
OpStore %zero %73 OpStore %zero %70
%74 = OpIEqual %bool %73 %int_1 %71 = OpIEqual %bool %70 %int_1
OpSelectionMerge %75 None OpSelectionMerge %72 None
OpBranchConditional %74 %76 %75 OpBranchConditional %71 %73 %72
%76 = OpLabel %73 = OpLabel
OpReturn OpReturn
%75 = OpLabel %72 = OpLabel
OpStore %x_GLF_color %77 OpStore %x_GLF_color %74
%78 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %75 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%79 = OpLoad %float %78 %76 = OpLoad %float %75
%80 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 %77 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0
%81 = OpLoad %float %80 %78 = OpLoad %float %77
%82 = OpFOrdGreaterThanEqual %bool %79 %81 %79 = OpFOrdGreaterThanEqual %bool %76 %78
OpSelectionMerge %83 None OpSelectionMerge %80 None
OpBranchConditional %82 %84 %83 OpBranchConditional %79 %81 %80
%84 = OpLabel %81 = OpLabel
%85 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %82 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%86 = OpLoad %float %85 %83 = OpLoad %float %82
%87 = OpFOrdGreaterThanEqual %bool %86 %float_0 %84 = OpFOrdGreaterThanEqual %bool %83 %float_0
OpSelectionMerge %88 None OpSelectionMerge %85 None
OpBranchConditional %87 %89 %88 OpBranchConditional %84 %86 %85
%89 = OpLabel %86 = OpLabel
%90 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1 %87 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1
%88 = OpLoad %float %87
%89 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_0
OpStore %89 %88
OpBranch %85
%85 = OpLabel
OpBranch %80
%80 = OpLabel
%90 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%91 = OpLoad %float %90 %91 = OpLoad %float %90
%92 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_0 %92 = OpFOrdGreaterThanEqual %bool %91 %float_0
OpStore %92 %91 OpSelectionMerge %93 None
OpBranch %88 OpBranchConditional %92 %94 %93
%88 = OpLabel %94 = OpLabel
OpBranch %83 %95 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0
%83 = OpLabel %96 = OpLoad %float %95
%93 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %97 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
%94 = OpLoad %float %93 OpStore %97 %96
%95 = OpFOrdGreaterThanEqual %bool %94 %float_0 OpBranch %93
OpSelectionMerge %96 None %93 = OpLabel
OpBranchConditional %95 %97 %96 %98 = OpLoad %v4float %gl_FragCoord
%97 = OpLabel %99 = OpCompositeExtract %float %98 0
%98 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 %100 = OpCompositeExtract %float %98 1
%99 = OpLoad %float %98 %101 = OpCompositeConstruct %v2float %99 %100
%100 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
OpStore %100 %99
OpBranch %96
%96 = OpLabel
%101 = OpLoad %v4float %gl_FragCoord
%102 = OpCompositeExtract %float %101 0 %102 = OpCompositeExtract %float %101 0
%103 = OpCompositeExtract %float %101 1 %103 = OpCompositeExtract %float %101 1
%104 = OpCompositeConstruct %v2float %102 %103 %104 = OpCompositeConstruct %v2float %102 %103
%105 = OpCompositeExtract %float %104 0 OpStore %temp %104
%106 = OpCompositeExtract %float %104 1 %105 = OpCompositeExtract %float %104 1
%107 = OpCompositeConstruct %v2float %105 %106 %106 = OpFOrdGreaterThanEqual %bool %105 %float_0
OpStore %temp %107 OpSelectionMerge %107 None
%108 = OpCompositeExtract %float %107 1 OpBranchConditional %106 %108 %107
%109 = OpFOrdGreaterThanEqual %bool %108 %float_0 %108 = OpLabel
OpSelectionMerge %110 None %109 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0
OpBranchConditional %109 %111 %110 %110 = OpLoad %float %109
%111 = OpLabel %112 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_2
%112 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 OpStore %112 %110
%113 = OpLoad %float %112 OpBranch %107
%115 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_2 %107 = OpLabel
OpStore %115 %113
OpBranch %110
%110 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %116 %tint_symbol_3 = OpFunction %void None %113
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%120 = OpLabel %117 = OpLabel
%121 = OpCompositeExtract %v4float %tint_symbol_1 0 %118 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %121 OpStore %tint_symbol_2 %118
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%123 = OpLabel %120 = OpLabel
%124 = OpLoad %v4float %tint_symbol %121 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %124 OpStore %gl_FragCoord %121
%125 = OpFunctionCall %void %main_1 %122 = OpFunctionCall %void %main_1
%127 = OpLoad %v4float %x_GLF_color %124 = OpLoad %v4float %x_GLF_color
%128 = OpCompositeConstruct %main_out %127 %125 = OpCompositeConstruct %main_out %124
%126 = OpFunctionCall %void %tint_symbol_3 %128 %123 = OpFunctionCall %void %tint_symbol_3 %125
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%alwaysZero_vf2_ = OpFunction %int None %129 %alwaysZero_vf2_ = OpFunction %int None %126
%coord = OpFunctionParameter %_ptr_Function_v2float %coord = OpFunctionParameter %_ptr_Function_v2float
%132 = OpLabel %129 = OpLabel
%a = OpVariable %_ptr_Function_float Function %21 %a = OpVariable %_ptr_Function_float Function %21
%x_110 = OpVariable %_ptr_Function_float Function %21 %x_110 = OpVariable %_ptr_Function_float Function %21
%b = OpVariable %_ptr_Function_float Function %21 %b = OpVariable %_ptr_Function_float Function %21
%137 = OpAccessChain %_ptr_Function_float %coord %uint_1 %134 = OpAccessChain %_ptr_Function_float %coord %uint_1
%138 = OpLoad %float %137 %135 = OpLoad %float %134
%139 = OpFOrdLessThan %bool %138 %float_50 %136 = OpFOrdLessThan %bool %135 %float_50
OpSelectionMerge %140 None OpSelectionMerge %137 None
OpBranchConditional %139 %141 %142 OpBranchConditional %136 %138 %139
%141 = OpLabel %138 = OpLabel
%143 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1 %140 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1
%144 = OpLoad %float %143 %141 = OpLoad %float %140
OpStore %x_110 %144 OpStore %x_110 %141
OpBranch %140 OpBranch %137
%142 = OpLabel %139 = OpLabel
OpStore %x_110 %float_0 OpStore %x_110 %float_0
OpBranch %140 OpBranch %137
%140 = OpLabel %137 = OpLabel
%145 = OpLoad %float %x_110 %142 = OpLoad %float %x_110
OpStore %a %145 OpStore %a %142
%146 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %143 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%147 = OpLoad %float %146 %144 = OpLoad %float %143
%149 = OpFOrdLessThan %bool %147 %float_50 %146 = OpFOrdLessThan %bool %144 %float_50
%148 = OpSelect %float %149 %float_1 %float_0 %145 = OpSelect %float %146 %float_1 %float_0
OpStore %b %148 OpStore %b %145
%150 = OpFSub %float %145 %148 %147 = OpFSub %float %142 %145
%151 = OpFOrdLessThan %bool %150 %float_1 %148 = OpFOrdLessThan %bool %147 %float_1
OpSelectionMerge %152 None OpSelectionMerge %149 None
OpBranchConditional %151 %153 %152 OpBranchConditional %148 %150 %149
%153 = OpLabel %150 = OpLabel
OpReturnValue %int_0 OpReturnValue %int_0
%152 = OpLabel %149 = OpLabel
OpReturnValue %int_1 OpReturnValue %int_1
OpFunctionEnd OpFunctionEnd

View File

@ -1,7 +1,7 @@
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 154 ; Bound: 151
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -75,11 +75,11 @@
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%77 = OpConstantComposite %v4float %float_0 %float_1 %float_1 %float_1 %74 = OpConstantComposite %v4float %float_0 %float_1 %float_1 %float_1
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%116 = OpTypeFunction %void %main_out %113 = OpTypeFunction %void %main_out
%129 = OpTypeFunction %int %_ptr_Function_v2float %126 = OpTypeFunction %int %_ptr_Function_v2float
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%x_43 = OpVariable %_ptr_Function_float Function %21 %x_43 = OpVariable %_ptr_Function_float Function %21
@ -131,129 +131,122 @@
OpStore %x_46 %int_1 OpStore %x_46 %int_1
OpBranch %38 OpBranch %38
%39 = OpLabel %39 = OpLabel
OpSelectionMerge %70 None OpBranchConditional %false %37 %38
OpBranchConditional %false %71 %72
%71 = OpLabel
OpBranch %70
%72 = OpLabel
OpBranch %38
%70 = OpLabel
OpBranch %37
%38 = OpLabel %38 = OpLabel
%73 = OpLoad %int %x_46 %70 = OpLoad %int %x_46
OpStore %zero %73 OpStore %zero %70
%74 = OpIEqual %bool %73 %int_1 %71 = OpIEqual %bool %70 %int_1
OpSelectionMerge %75 None OpSelectionMerge %72 None
OpBranchConditional %74 %76 %75 OpBranchConditional %71 %73 %72
%76 = OpLabel %73 = OpLabel
OpReturn OpReturn
%75 = OpLabel %72 = OpLabel
OpStore %x_GLF_color %77 OpStore %x_GLF_color %74
%78 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %75 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%79 = OpLoad %float %78 %76 = OpLoad %float %75
%80 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 %77 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0
%81 = OpLoad %float %80 %78 = OpLoad %float %77
%82 = OpFOrdGreaterThanEqual %bool %79 %81 %79 = OpFOrdGreaterThanEqual %bool %76 %78
OpSelectionMerge %83 None OpSelectionMerge %80 None
OpBranchConditional %82 %84 %83 OpBranchConditional %79 %81 %80
%84 = OpLabel %81 = OpLabel
%85 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %82 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%86 = OpLoad %float %85 %83 = OpLoad %float %82
%87 = OpFOrdGreaterThanEqual %bool %86 %float_0 %84 = OpFOrdGreaterThanEqual %bool %83 %float_0
OpSelectionMerge %88 None OpSelectionMerge %85 None
OpBranchConditional %87 %89 %88 OpBranchConditional %84 %86 %85
%89 = OpLabel %86 = OpLabel
%90 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1 %87 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1
%88 = OpLoad %float %87
%89 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_0
OpStore %89 %88
OpBranch %85
%85 = OpLabel
OpBranch %80
%80 = OpLabel
%90 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%91 = OpLoad %float %90 %91 = OpLoad %float %90
%92 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_0 %92 = OpFOrdGreaterThanEqual %bool %91 %float_0
OpStore %92 %91 OpSelectionMerge %93 None
OpBranch %88 OpBranchConditional %92 %94 %93
%88 = OpLabel %94 = OpLabel
OpBranch %83 %95 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0
%83 = OpLabel %96 = OpLoad %float %95
%93 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %97 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
%94 = OpLoad %float %93 OpStore %97 %96
%95 = OpFOrdGreaterThanEqual %bool %94 %float_0 OpBranch %93
OpSelectionMerge %96 None %93 = OpLabel
OpBranchConditional %95 %97 %96 %98 = OpLoad %v4float %gl_FragCoord
%97 = OpLabel %99 = OpCompositeExtract %float %98 0
%98 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 %100 = OpCompositeExtract %float %98 1
%99 = OpLoad %float %98 %101 = OpCompositeConstruct %v2float %99 %100
%100 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
OpStore %100 %99
OpBranch %96
%96 = OpLabel
%101 = OpLoad %v4float %gl_FragCoord
%102 = OpCompositeExtract %float %101 0 %102 = OpCompositeExtract %float %101 0
%103 = OpCompositeExtract %float %101 1 %103 = OpCompositeExtract %float %101 1
%104 = OpCompositeConstruct %v2float %102 %103 %104 = OpCompositeConstruct %v2float %102 %103
%105 = OpCompositeExtract %float %104 0 OpStore %temp %104
%106 = OpCompositeExtract %float %104 1 %105 = OpCompositeExtract %float %104 1
%107 = OpCompositeConstruct %v2float %105 %106 %106 = OpFOrdGreaterThanEqual %bool %105 %float_0
OpStore %temp %107 OpSelectionMerge %107 None
%108 = OpCompositeExtract %float %107 1 OpBranchConditional %106 %108 %107
%109 = OpFOrdGreaterThanEqual %bool %108 %float_0 %108 = OpLabel
OpSelectionMerge %110 None %109 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0
OpBranchConditional %109 %111 %110 %110 = OpLoad %float %109
%111 = OpLabel %112 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_2
%112 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 OpStore %112 %110
%113 = OpLoad %float %112 OpBranch %107
%115 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_2 %107 = OpLabel
OpStore %115 %113
OpBranch %110
%110 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %116 %tint_symbol_3 = OpFunction %void None %113
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%120 = OpLabel %117 = OpLabel
%121 = OpCompositeExtract %v4float %tint_symbol_1 0 %118 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %121 OpStore %tint_symbol_2 %118
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%123 = OpLabel %120 = OpLabel
%124 = OpLoad %v4float %tint_symbol %121 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %124 OpStore %gl_FragCoord %121
%125 = OpFunctionCall %void %main_1 %122 = OpFunctionCall %void %main_1
%127 = OpLoad %v4float %x_GLF_color %124 = OpLoad %v4float %x_GLF_color
%128 = OpCompositeConstruct %main_out %127 %125 = OpCompositeConstruct %main_out %124
%126 = OpFunctionCall %void %tint_symbol_3 %128 %123 = OpFunctionCall %void %tint_symbol_3 %125
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%alwaysZero_vf2_ = OpFunction %int None %129 %alwaysZero_vf2_ = OpFunction %int None %126
%coord = OpFunctionParameter %_ptr_Function_v2float %coord = OpFunctionParameter %_ptr_Function_v2float
%132 = OpLabel %129 = OpLabel
%a = OpVariable %_ptr_Function_float Function %21 %a = OpVariable %_ptr_Function_float Function %21
%x_110 = OpVariable %_ptr_Function_float Function %21 %x_110 = OpVariable %_ptr_Function_float Function %21
%b = OpVariable %_ptr_Function_float Function %21 %b = OpVariable %_ptr_Function_float Function %21
%137 = OpAccessChain %_ptr_Function_float %coord %uint_1 %134 = OpAccessChain %_ptr_Function_float %coord %uint_1
%138 = OpLoad %float %137 %135 = OpLoad %float %134
%139 = OpFOrdLessThan %bool %138 %float_50 %136 = OpFOrdLessThan %bool %135 %float_50
OpSelectionMerge %140 None OpSelectionMerge %137 None
OpBranchConditional %139 %141 %142 OpBranchConditional %136 %138 %139
%141 = OpLabel %138 = OpLabel
%143 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1 %140 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1
%144 = OpLoad %float %143 %141 = OpLoad %float %140
OpStore %x_110 %144 OpStore %x_110 %141
OpBranch %140 OpBranch %137
%142 = OpLabel %139 = OpLabel
OpStore %x_110 %float_0 OpStore %x_110 %float_0
OpBranch %140 OpBranch %137
%140 = OpLabel %137 = OpLabel
%145 = OpLoad %float %x_110 %142 = OpLoad %float %x_110
OpStore %a %145 OpStore %a %142
%146 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %143 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%147 = OpLoad %float %146 %144 = OpLoad %float %143
%149 = OpFOrdLessThan %bool %147 %float_50 %146 = OpFOrdLessThan %bool %144 %float_50
%148 = OpSelect %float %149 %float_1 %float_0 %145 = OpSelect %float %146 %float_1 %float_0
OpStore %b %148 OpStore %b %145
%150 = OpFSub %float %145 %148 %147 = OpFSub %float %142 %145
%151 = OpFOrdLessThan %bool %150 %float_1 %148 = OpFOrdLessThan %bool %147 %float_1
OpSelectionMerge %152 None OpSelectionMerge %149 None
OpBranchConditional %151 %153 %152 OpBranchConditional %148 %150 %149
%153 = OpLabel %150 = OpLabel
OpReturnValue %int_0 OpReturnValue %int_0
%152 = OpLabel %149 = OpLabel
OpReturnValue %int_1 OpReturnValue %int_1
OpFunctionEnd OpFunctionEnd

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 125 ; Bound: 122
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -74,9 +72,9 @@ SKIP: FAILED
%int_17 = OpConstant %int 17 %int_17 = OpConstant %int 17
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%112 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %109 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%113 = OpTypeFunction %void %main_out %110 = OpTypeFunction %void %main_out
%binarySearch_struct_BinarySearchObject_i1_10_1_ = OpFunction %int None %12 %binarySearch_struct_BinarySearchObject_i1_10_1_ = OpFunction %int None %12
%obj = OpFunctionParameter %_ptr_Function_BinarySearchObject %obj = OpFunctionParameter %_ptr_Function_BinarySearchObject
%21 = OpLabel %21 = OpLabel
@ -178,43 +176,33 @@ SKIP: FAILED
%100 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 %100 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
%101 = OpLoad %float %100 %101 = OpLoad %float %100
%103 = OpFOrdGreaterThan %bool %float_0 %101 %103 = OpFOrdGreaterThan %bool %float_0 %101
OpSelectionMerge %104 None OpBranchConditional %103 %95 %96
OpBranchConditional %103 %105 %106
%105 = OpLabel
OpBranch %104
%106 = OpLabel
OpBranch %96
%104 = OpLabel
OpBranch %95
%96 = OpLabel %96 = OpLabel
OpBranch %61 OpBranch %61
%61 = OpLabel %61 = OpLabel
%107 = OpLoad %int %i %104 = OpLoad %int %i
%108 = OpIAdd %int %107 %int_1 %105 = OpIAdd %int %104 %int_1
OpStore %i %108 OpStore %i %105
OpBranch %59 OpBranch %59
%60 = OpLabel %60 = OpLabel
%109 = OpLoad %BinarySearchObject %obj_1 %106 = OpLoad %BinarySearchObject %obj_1
OpStore %param %109 OpStore %param %106
%110 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param %107 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param
OpStore %x_GLF_color %112 OpStore %x_GLF_color %109
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %113 %tint_symbol_2 = OpFunction %void None %110
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%117 = OpLabel %114 = OpLabel
%118 = OpCompositeExtract %v4float %tint_symbol 0 %115 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %118 OpStore %tint_symbol_1 %115
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %50 %main = OpFunction %void None %50
%120 = OpLabel %117 = OpLabel
%121 = OpFunctionCall %void %main_1 %118 = OpFunctionCall %void %main_1
%123 = OpLoad %v4float %x_GLF_color %120 = OpLoad %v4float %x_GLF_color
%124 = OpCompositeConstruct %main_out %123 %121 = OpCompositeConstruct %main_out %120
%122 = OpFunctionCall %void %tint_symbol_2 %124 %119 = OpFunctionCall %void %tint_symbol_2 %121
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 97[%97] is not post dominated by the back-edge block 104[%104]
%104 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 125 ; Bound: 122
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -74,9 +72,9 @@ SKIP: FAILED
%int_17 = OpConstant %int 17 %int_17 = OpConstant %int 17
%uint_1 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%112 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %109 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%113 = OpTypeFunction %void %main_out %110 = OpTypeFunction %void %main_out
%binarySearch_struct_BinarySearchObject_i1_10_1_ = OpFunction %int None %12 %binarySearch_struct_BinarySearchObject_i1_10_1_ = OpFunction %int None %12
%obj = OpFunctionParameter %_ptr_Function_BinarySearchObject %obj = OpFunctionParameter %_ptr_Function_BinarySearchObject
%21 = OpLabel %21 = OpLabel
@ -178,43 +176,33 @@ SKIP: FAILED
%100 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 %100 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
%101 = OpLoad %float %100 %101 = OpLoad %float %100
%103 = OpFOrdGreaterThan %bool %float_0 %101 %103 = OpFOrdGreaterThan %bool %float_0 %101
OpSelectionMerge %104 None OpBranchConditional %103 %95 %96
OpBranchConditional %103 %105 %106
%105 = OpLabel
OpBranch %104
%106 = OpLabel
OpBranch %96
%104 = OpLabel
OpBranch %95
%96 = OpLabel %96 = OpLabel
OpBranch %61 OpBranch %61
%61 = OpLabel %61 = OpLabel
%107 = OpLoad %int %i %104 = OpLoad %int %i
%108 = OpIAdd %int %107 %int_1 %105 = OpIAdd %int %104 %int_1
OpStore %i %108 OpStore %i %105
OpBranch %59 OpBranch %59
%60 = OpLabel %60 = OpLabel
%109 = OpLoad %BinarySearchObject %obj_1 %106 = OpLoad %BinarySearchObject %obj_1
OpStore %param %109 OpStore %param %106
%110 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param %107 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param
OpStore %x_GLF_color %112 OpStore %x_GLF_color %109
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %113 %tint_symbol_2 = OpFunction %void None %110
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%117 = OpLabel %114 = OpLabel
%118 = OpCompositeExtract %v4float %tint_symbol 0 %115 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %118 OpStore %tint_symbol_1 %115
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %50 %main = OpFunction %void None %50
%120 = OpLabel %117 = OpLabel
%121 = OpFunctionCall %void %main_1 %118 = OpFunctionCall %void %main_1
%123 = OpLoad %v4float %x_GLF_color %120 = OpLoad %v4float %x_GLF_color
%124 = OpCompositeConstruct %main_out %123 %121 = OpCompositeConstruct %main_out %120
%122 = OpFunctionCall %void %tint_symbol_2 %124 %119 = OpFunctionCall %void %tint_symbol_2 %121
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 97[%97] is not post dominated by the back-edge block 104[%104]
%104 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 145 ; Bound: 140
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -69,9 +67,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%int_200 = OpConstant %int 200 %int_200 = OpConstant %int 200
%132 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %127 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%133 = OpTypeFunction %void %main_out %128 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12 %main_1 = OpFunction %void None %12
%15 = OpLabel %15 = OpLabel
%i = OpVariable %_ptr_Function_int Function %19 %i = OpVariable %_ptr_Function_int Function %19
@ -173,90 +171,75 @@ SKIP: FAILED
%98 = OpLoad %int %msb10 %98 = OpLoad %int %msb10
%99 = OpLoad %int %msb10 %99 = OpLoad %int %msb10
%101 = OpSGreaterThanEqual %bool %97 %int_0 %101 = OpSGreaterThanEqual %bool %97 %int_0
OpSelectionMerge %102 None %103 = OpSLessThan %bool %98 %int_9
OpBranchConditional %101 %103 %102 %104 = OpLogicalAnd %bool %101 %103
%103 = OpLabel %100 = OpSelect %int %104 %99 %int_0
%105 = OpSLessThan %bool %98 %int_9 %106 = OpAccessChain %_ptr_Function_float %donor_replacementGLF_dead5sums %100
OpBranch %102 %107 = OpLoad %float %106
%102 = OpLabel
%106 = OpPhi %bool %101 %96 %105 %103
%100 = OpSelect %int %106 %99 %int_0
%108 = OpAccessChain %_ptr_Function_float %donor_replacementGLF_dead5sums %100 %108 = OpAccessChain %_ptr_Function_float %donor_replacementGLF_dead5sums %100
%109 = OpLoad %float %108 %110 = OpFAdd %float %107 %float_1
%110 = OpAccessChain %_ptr_Function_float %donor_replacementGLF_dead5sums %100 OpStore %108 %110
%112 = OpFAdd %float %109 %float_1
OpStore %110 %112
OpBranch %94 OpBranch %94
%95 = OpLabel %95 = OpLabel
OpBranch %94 OpBranch %94
%94 = OpLabel %94 = OpLabel
OpBranch %85 OpBranch %85
%85 = OpLabel %85 = OpLabel
%113 = OpLoad %int %GLF_dead5r %111 = OpLoad %int %GLF_dead5r
%115 = OpIAdd %int %113 %int_1 %113 = OpIAdd %int %111 %int_1
OpStore %GLF_dead5r %115 OpStore %GLF_dead5r %113
OpBranch %83 OpBranch %83
%84 = OpLabel %84 = OpLabel
OpBranch %75 OpBranch %75
%75 = OpLabel %75 = OpLabel
%116 = OpLoad %int %GLF_dead5c %114 = OpLoad %int %GLF_dead5c
%117 = OpIAdd %int %116 %int_1 %115 = OpIAdd %int %114 %int_1
OpStore %GLF_dead5c %117 OpStore %GLF_dead5c %115
OpBranch %73 OpBranch %73
%74 = OpLabel %74 = OpLabel
%118 = OpLoad %int %msb10 %116 = OpLoad %int %msb10
%119 = OpIAdd %int %118 %int_1 %117 = OpIAdd %int %116 %int_1
OpStore %msb10 %119 OpStore %msb10 %117
OpBranch %66 OpBranch %66
%66 = OpLabel %66 = OpLabel
%120 = OpLoad %int %GLF_dead5rows %118 = OpLoad %int %GLF_dead5rows
%121 = OpIAdd %int %120 %int_1 %119 = OpIAdd %int %118 %int_1
OpStore %GLF_dead5rows %121 OpStore %GLF_dead5rows %119
OpBranch %64 OpBranch %64
%65 = OpLabel %65 = OpLabel
OpBranch %56 OpBranch %56
%56 = OpLabel %56 = OpLabel
%122 = OpLoad %int %GLF_dead5cols %120 = OpLoad %int %GLF_dead5cols
%123 = OpIAdd %int %122 %int_1 %121 = OpIAdd %int %120 %int_1
OpStore %GLF_dead5cols %123 OpStore %GLF_dead5cols %121
OpBranch %54 OpBranch %54
%55 = OpLabel %55 = OpLabel
OpBranch %51 OpBranch %51
%51 = OpLabel %51 = OpLabel
%124 = OpLoad %int %i %122 = OpLoad %int %i
%125 = OpIAdd %int %124 %int_1 %123 = OpIAdd %int %122 %int_1
OpStore %i %125 OpStore %i %123
OpBranch %34 OpBranch %34
%34 = OpLabel %34 = OpLabel
%126 = OpLoad %int %i %124 = OpLoad %int %i
%128 = OpSLessThan %bool %126 %int_200 %126 = OpSLessThan %bool %124 %int_200
OpSelectionMerge %129 None OpBranchConditional %126 %32 %33
OpBranchConditional %128 %130 %131
%130 = OpLabel
OpBranch %129
%131 = OpLabel
OpBranch %33
%129 = OpLabel
OpBranch %32
%33 = OpLabel %33 = OpLabel
OpStore %x_GLF_color %132 OpStore %x_GLF_color %127
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %133 %tint_symbol_2 = OpFunction %void None %128
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%137 = OpLabel %132 = OpLabel
%138 = OpCompositeExtract %v4float %tint_symbol 0 %133 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %138 OpStore %tint_symbol_1 %133
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %12 %main = OpFunction %void None %12
%140 = OpLabel %135 = OpLabel
%141 = OpFunctionCall %void %main_1 %136 = OpFunctionCall %void %main_1
%143 = OpLoad %v4float %x_GLF_color %138 = OpLoad %v4float %x_GLF_color
%144 = OpCompositeConstruct %main_out %143 %139 = OpCompositeConstruct %main_out %138
%142 = OpFunctionCall %void %tint_symbol_2 %144 %137 = OpFunctionCall %void %tint_symbol_2 %139
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 34[%34] is not post dominated by the back-edge block 129[%129]
%129 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 145 ; Bound: 142
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -69,9 +67,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%int_200 = OpConstant %int 200 %int_200 = OpConstant %int 200
%132 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %129 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%133 = OpTypeFunction %void %main_out %130 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12 %main_1 = OpFunction %void None %12
%15 = OpLabel %15 = OpLabel
%i = OpVariable %_ptr_Function_int Function %19 %i = OpVariable %_ptr_Function_int Function %19
@ -230,33 +228,23 @@ SKIP: FAILED
%34 = OpLabel %34 = OpLabel
%126 = OpLoad %int %i %126 = OpLoad %int %i
%128 = OpSLessThan %bool %126 %int_200 %128 = OpSLessThan %bool %126 %int_200
OpSelectionMerge %129 None OpBranchConditional %128 %32 %33
OpBranchConditional %128 %130 %131
%130 = OpLabel
OpBranch %129
%131 = OpLabel
OpBranch %33
%129 = OpLabel
OpBranch %32
%33 = OpLabel %33 = OpLabel
OpStore %x_GLF_color %132 OpStore %x_GLF_color %129
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %133 %tint_symbol_2 = OpFunction %void None %130
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%137 = OpLabel %134 = OpLabel
%138 = OpCompositeExtract %v4float %tint_symbol 0 %135 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %138 OpStore %tint_symbol_1 %135
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %12 %main = OpFunction %void None %12
%140 = OpLabel %137 = OpLabel
%141 = OpFunctionCall %void %main_1 %138 = OpFunctionCall %void %main_1
%143 = OpLoad %v4float %x_GLF_color %140 = OpLoad %v4float %x_GLF_color
%144 = OpCompositeConstruct %main_out %143 %141 = OpCompositeConstruct %main_out %140
%142 = OpFunctionCall %void %tint_symbol_2 %144 %139 = OpFunctionCall %void %tint_symbol_2 %141
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 34[%34] is not post dominated by the back-edge block 129[%129]
%129 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 120 ; Bound: 117
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -81,9 +79,9 @@ SKIP: FAILED
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%107 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %104 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%108 = OpTypeFunction %void %main_out %105 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12 %main_1 = OpFunction %void None %12
%15 = OpLabel %15 = OpLabel
%x_36 = OpVariable %_ptr_Function_bool Function %20 %x_36 = OpVariable %_ptr_Function_bool Function %20
@ -134,105 +132,95 @@ SKIP: FAILED
OpStore %x_40_phi %58 OpStore %x_40_phi %58
%59 = OpLoad %v3float %x_43 %59 = OpLoad %v3float %x_43
OpStore %x_42_phi %59 OpStore %x_42_phi %59
OpSelectionMerge %60 None OpBranchConditional %false %39 %40
OpBranchConditional %false %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %40
%60 = OpLabel
OpBranch %39
%40 = OpLabel %40 = OpLabel
OpStore %x_36 %false OpStore %x_36 %false
%63 = OpLoad %bool %x_40 %60 = OpLoad %bool %x_40
OpStore %x_56_phi %63 OpStore %x_56_phi %60
OpStore %x_58_phi %false OpStore %x_58_phi %false
OpBranch %61
%61 = OpLabel
OpLoopMerge %62 %63 None
OpBranch %64 OpBranch %64
%64 = OpLabel %64 = OpLabel
OpLoopMerge %65 %66 None %71 = OpLoad %bool %x_56_phi
OpBranch %67 %72 = OpLoad %bool %x_58_phi
%67 = OpLabel
%74 = OpLoad %bool %x_56_phi
%75 = OpLoad %bool %x_58_phi
OpStore %x_7 %int_0 OpStore %x_7 %int_0
OpStore %x_62_phi %74 OpStore %x_62_phi %71
OpStore %x_64_phi %false OpStore %x_64_phi %false
OpStore %x_65_phi %int_0 OpStore %x_65_phi %int_0
OpBranch %74
%74 = OpLabel
OpLoopMerge %75 %76 None
OpBranch %77 OpBranch %77
%77 = OpLabel %77 = OpLabel
OpLoopMerge %78 %79 None %78 = OpLoad %bool %x_62_phi
OpBranch %80 OpStore %x_62 %78
%80 = OpLabel %79 = OpLoad %bool %x_64_phi
%81 = OpLoad %bool %x_62_phi %80 = OpLoad %int %x_65_phi
OpStore %x_62 %81 %82 = OpSLessThan %bool %int_0 %int_1
%82 = OpLoad %bool %x_64_phi %83 = OpLoad %bool %x_62
%83 = OpLoad %int %x_65_phi OpStore %x_70_phi %83
%85 = OpSLessThan %bool %int_0 %int_1
%86 = OpLoad %bool %x_62
OpStore %x_70_phi %86
OpStore %x_71_phi %false OpStore %x_71_phi %false
OpSelectionMerge %88 None OpSelectionMerge %85 None
OpBranchConditional %true %89 %90 OpBranchConditional %true %86 %87
%89 = OpLabel %86 = OpLabel
OpBranch %88 OpBranch %85
%90 = OpLabel %87 = OpLabel
OpBranch %78 OpBranch %75
%88 = OpLabel %85 = OpLabel
OpStore %x_36 %true OpStore %x_36 %true
OpStore %x_37 %true OpStore %x_37 %true
OpStore %x_70_phi %true OpStore %x_70_phi %true
OpStore %x_71_phi %true OpStore %x_71_phi %true
OpBranch %78 OpBranch %75
%79 = OpLabel %76 = OpLabel
OpStore %x_62_phi %false OpStore %x_62_phi %false
OpStore %x_64_phi %false OpStore %x_64_phi %false
OpStore %x_65_phi %int_0 OpStore %x_65_phi %int_0
OpBranch %77 OpBranch %74
%78 = OpLabel %75 = OpLabel
%91 = OpLoad %bool %x_70_phi %88 = OpLoad %bool %x_70_phi
%92 = OpLoad %bool %x_71_phi %89 = OpLoad %bool %x_71_phi
OpSelectionMerge %93 None OpSelectionMerge %90 None
OpBranchConditional %true %94 %93 OpBranchConditional %true %91 %90
%94 = OpLabel %91 = OpLabel
OpBranch %65 OpBranch %62
%93 = OpLabel %90 = OpLabel
OpStore %x_36 %true OpStore %x_36 %true
OpBranch %65 OpBranch %62
%66 = OpLabel %63 = OpLabel
OpStore %x_56_phi %false OpStore %x_56_phi %false
OpStore %x_58_phi %false OpStore %x_58_phi %false
OpBranch %64 OpBranch %61
%65 = OpLabel %62 = OpLabel
OpStore %x_38 %true OpStore %x_38 %true
%95 = OpSelect %float %true %float_1 %float_0 %92 = OpSelect %float %true %float_1 %float_0
%97 = OpAccessChain %_ptr_Function_float %x_43 %uint_0 %94 = OpAccessChain %_ptr_Function_float %x_43 %uint_0
%98 = OpLoad %float %97 %95 = OpLoad %float %94
%99 = OpAccessChain %_ptr_Function_float %x_43 %uint_1 %96 = OpAccessChain %_ptr_Function_float %x_43 %uint_1
%97 = OpLoad %float %96
%99 = OpAccessChain %_ptr_Function_float %x_43 %uint_2
%100 = OpLoad %float %99 %100 = OpLoad %float %99
%102 = OpAccessChain %_ptr_Function_float %x_43 %uint_2 %101 = OpCompositeConstruct %v4float %95 %97 %100 %float_1
%103 = OpLoad %float %102 %102 = OpCompositeConstruct %v4float %92 %92 %92 %92
%104 = OpCompositeConstruct %v4float %98 %100 %103 %float_1 %103 = OpFAdd %v4float %101 %102
%105 = OpCompositeConstruct %v4float %95 %95 %95 %95 OpStore %x_GLF_color %103
%106 = OpFAdd %v4float %104 %105 OpStore %x_GLF_color %104
OpStore %x_GLF_color %106
OpStore %x_GLF_color %107
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %108 %tint_symbol_2 = OpFunction %void None %105
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%112 = OpLabel %109 = OpLabel
%113 = OpCompositeExtract %v4float %tint_symbol 0 %110 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %113 OpStore %tint_symbol_1 %110
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %12 %main = OpFunction %void None %12
%115 = OpLabel %112 = OpLabel
%116 = OpFunctionCall %void %main_1 %113 = OpFunctionCall %void %main_1
%118 = OpLoad %v4float %x_GLF_color %115 = OpLoad %v4float %x_GLF_color
%119 = OpCompositeConstruct %main_out %118 %116 = OpCompositeConstruct %main_out %115
%117 = OpFunctionCall %void %tint_symbol_2 %119 %114 = OpFunctionCall %void %tint_symbol_2 %116
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 41[%41] is not post dominated by the back-edge block 60[%60]
%60 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 120 ; Bound: 117
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -81,9 +79,9 @@ SKIP: FAILED
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%107 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %104 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%108 = OpTypeFunction %void %main_out %105 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12 %main_1 = OpFunction %void None %12
%15 = OpLabel %15 = OpLabel
%x_36 = OpVariable %_ptr_Function_bool Function %20 %x_36 = OpVariable %_ptr_Function_bool Function %20
@ -134,105 +132,95 @@ SKIP: FAILED
OpStore %x_40_phi %58 OpStore %x_40_phi %58
%59 = OpLoad %v3float %x_43 %59 = OpLoad %v3float %x_43
OpStore %x_42_phi %59 OpStore %x_42_phi %59
OpSelectionMerge %60 None OpBranchConditional %false %39 %40
OpBranchConditional %false %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %40
%60 = OpLabel
OpBranch %39
%40 = OpLabel %40 = OpLabel
OpStore %x_36 %false OpStore %x_36 %false
%63 = OpLoad %bool %x_40 %60 = OpLoad %bool %x_40
OpStore %x_56_phi %63 OpStore %x_56_phi %60
OpStore %x_58_phi %false OpStore %x_58_phi %false
OpBranch %61
%61 = OpLabel
OpLoopMerge %62 %63 None
OpBranch %64 OpBranch %64
%64 = OpLabel %64 = OpLabel
OpLoopMerge %65 %66 None %71 = OpLoad %bool %x_56_phi
OpBranch %67 %72 = OpLoad %bool %x_58_phi
%67 = OpLabel
%74 = OpLoad %bool %x_56_phi
%75 = OpLoad %bool %x_58_phi
OpStore %x_7 %int_0 OpStore %x_7 %int_0
OpStore %x_62_phi %74 OpStore %x_62_phi %71
OpStore %x_64_phi %false OpStore %x_64_phi %false
OpStore %x_65_phi %int_0 OpStore %x_65_phi %int_0
OpBranch %74
%74 = OpLabel
OpLoopMerge %75 %76 None
OpBranch %77 OpBranch %77
%77 = OpLabel %77 = OpLabel
OpLoopMerge %78 %79 None %78 = OpLoad %bool %x_62_phi
OpBranch %80 OpStore %x_62 %78
%80 = OpLabel %79 = OpLoad %bool %x_64_phi
%81 = OpLoad %bool %x_62_phi %80 = OpLoad %int %x_65_phi
OpStore %x_62 %81 %82 = OpSLessThan %bool %int_0 %int_1
%82 = OpLoad %bool %x_64_phi %83 = OpLoad %bool %x_62
%83 = OpLoad %int %x_65_phi OpStore %x_70_phi %83
%85 = OpSLessThan %bool %int_0 %int_1
%86 = OpLoad %bool %x_62
OpStore %x_70_phi %86
OpStore %x_71_phi %false OpStore %x_71_phi %false
OpSelectionMerge %88 None OpSelectionMerge %85 None
OpBranchConditional %true %89 %90 OpBranchConditional %true %86 %87
%89 = OpLabel %86 = OpLabel
OpBranch %88 OpBranch %85
%90 = OpLabel %87 = OpLabel
OpBranch %78 OpBranch %75
%88 = OpLabel %85 = OpLabel
OpStore %x_36 %true OpStore %x_36 %true
OpStore %x_37 %true OpStore %x_37 %true
OpStore %x_70_phi %true OpStore %x_70_phi %true
OpStore %x_71_phi %true OpStore %x_71_phi %true
OpBranch %78 OpBranch %75
%79 = OpLabel %76 = OpLabel
OpStore %x_62_phi %false OpStore %x_62_phi %false
OpStore %x_64_phi %false OpStore %x_64_phi %false
OpStore %x_65_phi %int_0 OpStore %x_65_phi %int_0
OpBranch %77 OpBranch %74
%78 = OpLabel %75 = OpLabel
%91 = OpLoad %bool %x_70_phi %88 = OpLoad %bool %x_70_phi
%92 = OpLoad %bool %x_71_phi %89 = OpLoad %bool %x_71_phi
OpSelectionMerge %93 None OpSelectionMerge %90 None
OpBranchConditional %true %94 %93 OpBranchConditional %true %91 %90
%94 = OpLabel %91 = OpLabel
OpBranch %65 OpBranch %62
%93 = OpLabel %90 = OpLabel
OpStore %x_36 %true OpStore %x_36 %true
OpBranch %65 OpBranch %62
%66 = OpLabel %63 = OpLabel
OpStore %x_56_phi %false OpStore %x_56_phi %false
OpStore %x_58_phi %false OpStore %x_58_phi %false
OpBranch %64 OpBranch %61
%65 = OpLabel %62 = OpLabel
OpStore %x_38 %true OpStore %x_38 %true
%95 = OpSelect %float %true %float_1 %float_0 %92 = OpSelect %float %true %float_1 %float_0
%97 = OpAccessChain %_ptr_Function_float %x_43 %uint_0 %94 = OpAccessChain %_ptr_Function_float %x_43 %uint_0
%98 = OpLoad %float %97 %95 = OpLoad %float %94
%99 = OpAccessChain %_ptr_Function_float %x_43 %uint_1 %96 = OpAccessChain %_ptr_Function_float %x_43 %uint_1
%97 = OpLoad %float %96
%99 = OpAccessChain %_ptr_Function_float %x_43 %uint_2
%100 = OpLoad %float %99 %100 = OpLoad %float %99
%102 = OpAccessChain %_ptr_Function_float %x_43 %uint_2 %101 = OpCompositeConstruct %v4float %95 %97 %100 %float_1
%103 = OpLoad %float %102 %102 = OpCompositeConstruct %v4float %92 %92 %92 %92
%104 = OpCompositeConstruct %v4float %98 %100 %103 %float_1 %103 = OpFAdd %v4float %101 %102
%105 = OpCompositeConstruct %v4float %95 %95 %95 %95 OpStore %x_GLF_color %103
%106 = OpFAdd %v4float %104 %105 OpStore %x_GLF_color %104
OpStore %x_GLF_color %106
OpStore %x_GLF_color %107
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %108 %tint_symbol_2 = OpFunction %void None %105
%tint_symbol = OpFunctionParameter %main_out %tint_symbol = OpFunctionParameter %main_out
%112 = OpLabel %109 = OpLabel
%113 = OpCompositeExtract %v4float %tint_symbol 0 %110 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %113 OpStore %tint_symbol_1 %110
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %12 %main = OpFunction %void None %12
%115 = OpLabel %112 = OpLabel
%116 = OpFunctionCall %void %main_1 %113 = OpFunctionCall %void %main_1
%118 = OpLoad %v4float %x_GLF_color %115 = OpLoad %v4float %x_GLF_color
%119 = OpCompositeConstruct %main_out %118 %116 = OpCompositeConstruct %main_out %115
%117 = OpFunctionCall %void %tint_symbol_2 %119 %114 = OpFunctionCall %void %tint_symbol_2 %116
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 41[%41] is not post dominated by the back-edge block 60[%60]
%60 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 141 ; Bound: 138
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%39 = OpExtInstImport "GLSL.std.450" %39 = OpExtInstImport "GLSL.std.450"
@ -81,7 +79,7 @@ SKIP: FAILED
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%128 = OpTypeFunction %void %main_out %125 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%x_42 = OpVariable %_ptr_Function_v4float Function %5 %x_42 = OpVariable %_ptr_Function_v4float Function %5
@ -207,46 +205,36 @@ SKIP: FAILED
%119 = OpLoad %v4float %x_42 %119 = OpLoad %v4float %x_42
OpStore %x_41_phi %119 OpStore %x_41_phi %119
%120 = OpSLessThan %bool %36 %int_0 %120 = OpSLessThan %bool %36 %int_0
OpSelectionMerge %121 None OpBranchConditional %120 %44 %45
OpBranchConditional %120 %122 %123
%122 = OpLabel
OpBranch %121
%123 = OpLabel
OpBranch %45
%121 = OpLabel
OpBranch %44
%45 = OpLabel %45 = OpLabel
%124 = OpLoad %bool %x_39 %121 = OpLoad %bool %x_39
OpSelectionMerge %125 None OpSelectionMerge %122 None
OpBranchConditional %124 %126 %125 OpBranchConditional %121 %123 %122
%126 = OpLabel %123 = OpLabel
OpBranch %20 OpBranch %20
%125 = OpLabel %122 = OpLabel
%127 = OpLoad %v4float %x_42 %124 = OpLoad %v4float %x_42
OpStore %x_GLF_color %127 OpStore %x_GLF_color %124
OpBranch %20 OpBranch %20
%21 = OpLabel %21 = OpLabel
OpBranch %19 OpBranch %19
%20 = OpLabel %20 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %128 %tint_symbol_3 = OpFunction %void None %125
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%132 = OpLabel %129 = OpLabel
%133 = OpCompositeExtract %v4float %tint_symbol_1 0 %130 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %133 OpStore %tint_symbol_2 %130
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%135 = OpLabel %132 = OpLabel
%136 = OpLoad %v4float %tint_symbol %133 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %136 OpStore %gl_FragCoord %133
%137 = OpFunctionCall %void %main_1 %134 = OpFunctionCall %void %main_1
%139 = OpLoad %v4float %x_GLF_color %136 = OpLoad %v4float %x_GLF_color
%140 = OpCompositeConstruct %main_out %139 %137 = OpCompositeConstruct %main_out %136
%138 = OpFunctionCall %void %tint_symbol_3 %140 %135 = OpFunctionCall %void %tint_symbol_3 %137
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 46[%46] is not post dominated by the back-edge block 121[%121]
%121 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 141 ; Bound: 138
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%39 = OpExtInstImport "GLSL.std.450" %39 = OpExtInstImport "GLSL.std.450"
@ -81,7 +79,7 @@ SKIP: FAILED
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%uint_2 = OpConstant %uint 2 %uint_2 = OpConstant %uint 2
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%128 = OpTypeFunction %void %main_out %125 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%x_42 = OpVariable %_ptr_Function_v4float Function %5 %x_42 = OpVariable %_ptr_Function_v4float Function %5
@ -207,46 +205,36 @@ SKIP: FAILED
%119 = OpLoad %v4float %x_42 %119 = OpLoad %v4float %x_42
OpStore %x_41_phi %119 OpStore %x_41_phi %119
%120 = OpSLessThan %bool %36 %int_0 %120 = OpSLessThan %bool %36 %int_0
OpSelectionMerge %121 None OpBranchConditional %120 %44 %45
OpBranchConditional %120 %122 %123
%122 = OpLabel
OpBranch %121
%123 = OpLabel
OpBranch %45
%121 = OpLabel
OpBranch %44
%45 = OpLabel %45 = OpLabel
%124 = OpLoad %bool %x_39 %121 = OpLoad %bool %x_39
OpSelectionMerge %125 None OpSelectionMerge %122 None
OpBranchConditional %124 %126 %125 OpBranchConditional %121 %123 %122
%126 = OpLabel %123 = OpLabel
OpBranch %20 OpBranch %20
%125 = OpLabel %122 = OpLabel
%127 = OpLoad %v4float %x_42 %124 = OpLoad %v4float %x_42
OpStore %x_GLF_color %127 OpStore %x_GLF_color %124
OpBranch %20 OpBranch %20
%21 = OpLabel %21 = OpLabel
OpBranch %19 OpBranch %19
%20 = OpLabel %20 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %128 %tint_symbol_3 = OpFunction %void None %125
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%132 = OpLabel %129 = OpLabel
%133 = OpCompositeExtract %v4float %tint_symbol_1 0 %130 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %133 OpStore %tint_symbol_2 %130
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%135 = OpLabel %132 = OpLabel
%136 = OpLoad %v4float %tint_symbol %133 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %136 OpStore %gl_FragCoord %133
%137 = OpFunctionCall %void %main_1 %134 = OpFunctionCall %void %main_1
%139 = OpLoad %v4float %x_GLF_color %136 = OpLoad %v4float %x_GLF_color
%140 = OpCompositeConstruct %main_out %139 %137 = OpCompositeConstruct %main_out %136
%138 = OpFunctionCall %void %tint_symbol_3 %140 %135 = OpFunctionCall %void %tint_symbol_3 %137
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 46[%46] is not post dominated by the back-edge block 121[%121]
%121 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 112 ; Bound: 109
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%44 = OpExtInstImport "GLSL.std.450" %44 = OpExtInstImport "GLSL.std.450"
@ -74,9 +72,9 @@ SKIP: FAILED
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%int_6 = OpConstant %int 6 %int_6 = OpConstant %int 6
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%98 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %95 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%99 = OpTypeFunction %void %main_out %96 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18 %main_1 = OpFunction %void None %18
%21 = OpLabel %21 = OpLabel
%lv = OpVariable %_ptr_Function_float Function %8 %lv = OpVariable %_ptr_Function_float Function %8
@ -134,70 +132,60 @@ SKIP: FAILED
%77 = OpLabel %77 = OpLabel
OpBranch %76 OpBranch %76
%76 = OpLabel %76 = OpLabel
OpSelectionMerge %79 None OpBranchConditional %true %74 %75
OpBranchConditional %true %80 %81
%80 = OpLabel
OpBranch %79
%81 = OpLabel
OpBranch %75
%79 = OpLabel
OpBranch %74
%75 = OpLabel %75 = OpLabel
OpBranch %72 OpBranch %72
%72 = OpLabel %72 = OpLabel
OpStore %GLF_live5r %int_0 OpStore %GLF_live5r %int_0
OpBranch %80
%80 = OpLabel
OpLoopMerge %81 %82 None
OpBranch %83 OpBranch %83
%83 = OpLabel %83 = OpLabel
OpLoopMerge %84 %85 None OpSelectionMerge %84 None
OpBranch %86 OpBranchConditional %true %85 %86
%86 = OpLabel
OpSelectionMerge %87 None
OpBranchConditional %true %88 %89
%88 = OpLabel
OpBranch %87
%89 = OpLabel
OpBranch %84
%87 = OpLabel
%90 = OpLoad %int %GLF_live5_looplimiter6
%92 = OpSGreaterThanEqual %bool %90 %int_6
OpSelectionMerge %93 None
OpBranchConditional %92 %94 %93
%94 = OpLabel
OpBranch %84
%93 = OpLabel
%95 = OpLoad %int %GLF_live5_looplimiter6
%97 = OpIAdd %int %95 %int_1
OpStore %GLF_live5_looplimiter6 %97
OpBranch %85
%85 = OpLabel %85 = OpLabel
OpBranch %83 OpBranch %84
%86 = OpLabel
OpBranch %81
%84 = OpLabel %84 = OpLabel
%87 = OpLoad %int %GLF_live5_looplimiter6
%89 = OpSGreaterThanEqual %bool %87 %int_6
OpSelectionMerge %90 None
OpBranchConditional %89 %91 %90
%91 = OpLabel
OpBranch %81
%90 = OpLabel
%92 = OpLoad %int %GLF_live5_looplimiter6
%94 = OpIAdd %int %92 %int_1
OpStore %GLF_live5_looplimiter6 %94
OpBranch %82
%82 = OpLabel
OpBranch %80
%81 = OpLabel
OpBranch %66 OpBranch %66
%66 = OpLabel %66 = OpLabel
OpBranch %57 OpBranch %57
%57 = OpLabel %57 = OpLabel
OpBranch %51 OpBranch %51
%51 = OpLabel %51 = OpLabel
OpStore %x_GLF_color %98 OpStore %x_GLF_color %95
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %99 %tint_symbol_3 = OpFunction %void None %96
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%103 = OpLabel %100 = OpLabel
%104 = OpCompositeExtract %v4float %tint_symbol_1 0 %101 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %104 OpStore %tint_symbol_2 %101
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %18 %main = OpFunction %void None %18
%106 = OpLabel %103 = OpLabel
%107 = OpLoad %v4float %tint_symbol %104 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %107 OpStore %gl_FragCoord %104
%108 = OpFunctionCall %void %main_1 %105 = OpFunctionCall %void %main_1
%110 = OpLoad %v4float %x_GLF_color %107 = OpLoad %v4float %x_GLF_color
%111 = OpCompositeConstruct %main_out %110 %108 = OpCompositeConstruct %main_out %107
%109 = OpFunctionCall %void %tint_symbol_3 %111 %106 = OpFunctionCall %void %tint_symbol_3 %108
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 76[%76] is not post dominated by the back-edge block 79[%79]
%79 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 112 ; Bound: 109
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%44 = OpExtInstImport "GLSL.std.450" %44 = OpExtInstImport "GLSL.std.450"
@ -74,9 +72,9 @@ SKIP: FAILED
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%int_6 = OpConstant %int 6 %int_6 = OpConstant %int 6
%int_1 = OpConstant %int 1 %int_1 = OpConstant %int 1
%98 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %95 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%99 = OpTypeFunction %void %main_out %96 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18 %main_1 = OpFunction %void None %18
%21 = OpLabel %21 = OpLabel
%lv = OpVariable %_ptr_Function_float Function %8 %lv = OpVariable %_ptr_Function_float Function %8
@ -134,70 +132,60 @@ SKIP: FAILED
%77 = OpLabel %77 = OpLabel
OpBranch %76 OpBranch %76
%76 = OpLabel %76 = OpLabel
OpSelectionMerge %79 None OpBranchConditional %true %74 %75
OpBranchConditional %true %80 %81
%80 = OpLabel
OpBranch %79
%81 = OpLabel
OpBranch %75
%79 = OpLabel
OpBranch %74
%75 = OpLabel %75 = OpLabel
OpBranch %72 OpBranch %72
%72 = OpLabel %72 = OpLabel
OpStore %GLF_live5r %int_0 OpStore %GLF_live5r %int_0
OpBranch %80
%80 = OpLabel
OpLoopMerge %81 %82 None
OpBranch %83 OpBranch %83
%83 = OpLabel %83 = OpLabel
OpLoopMerge %84 %85 None OpSelectionMerge %84 None
OpBranch %86 OpBranchConditional %true %85 %86
%86 = OpLabel
OpSelectionMerge %87 None
OpBranchConditional %true %88 %89
%88 = OpLabel
OpBranch %87
%89 = OpLabel
OpBranch %84
%87 = OpLabel
%90 = OpLoad %int %GLF_live5_looplimiter6
%92 = OpSGreaterThanEqual %bool %90 %int_6
OpSelectionMerge %93 None
OpBranchConditional %92 %94 %93
%94 = OpLabel
OpBranch %84
%93 = OpLabel
%95 = OpLoad %int %GLF_live5_looplimiter6
%97 = OpIAdd %int %95 %int_1
OpStore %GLF_live5_looplimiter6 %97
OpBranch %85
%85 = OpLabel %85 = OpLabel
OpBranch %83 OpBranch %84
%86 = OpLabel
OpBranch %81
%84 = OpLabel %84 = OpLabel
%87 = OpLoad %int %GLF_live5_looplimiter6
%89 = OpSGreaterThanEqual %bool %87 %int_6
OpSelectionMerge %90 None
OpBranchConditional %89 %91 %90
%91 = OpLabel
OpBranch %81
%90 = OpLabel
%92 = OpLoad %int %GLF_live5_looplimiter6
%94 = OpIAdd %int %92 %int_1
OpStore %GLF_live5_looplimiter6 %94
OpBranch %82
%82 = OpLabel
OpBranch %80
%81 = OpLabel
OpBranch %66 OpBranch %66
%66 = OpLabel %66 = OpLabel
OpBranch %57 OpBranch %57
%57 = OpLabel %57 = OpLabel
OpBranch %51 OpBranch %51
%51 = OpLabel %51 = OpLabel
OpStore %x_GLF_color %98 OpStore %x_GLF_color %95
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %99 %tint_symbol_3 = OpFunction %void None %96
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%103 = OpLabel %100 = OpLabel
%104 = OpCompositeExtract %v4float %tint_symbol_1 0 %101 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %104 OpStore %tint_symbol_2 %101
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %18 %main = OpFunction %void None %18
%106 = OpLabel %103 = OpLabel
%107 = OpLoad %v4float %tint_symbol %104 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %107 OpStore %gl_FragCoord %104
%108 = OpFunctionCall %void %main_1 %105 = OpFunctionCall %void %main_1
%110 = OpLoad %v4float %x_GLF_color %107 = OpLoad %v4float %x_GLF_color
%111 = OpCompositeConstruct %main_out %110 %108 = OpCompositeConstruct %main_out %107
%109 = OpFunctionCall %void %tint_symbol_3 %111 %106 = OpFunctionCall %void %tint_symbol_3 %108
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 76[%76] is not post dominated by the back-edge block 79[%79]
%79 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 509 ; Bound: 506
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -117,9 +115,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%489 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %489 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%495 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %492 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%496 = OpTypeFunction %void %main_out %493 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22 %main_1 = OpFunction %void None %22
%25 = OpLabel %25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28 %pos = OpVariable %_ptr_Function_v2float Function %28
@ -741,35 +739,25 @@ SKIP: FAILED
OpBranch %87 OpBranch %87
%87 = OpLabel %87 = OpLabel
%490 = OpLoad %bool %canwalk %490 = OpLoad %bool %canwalk
OpSelectionMerge %491 None OpBranchConditional %490 %85 %86
OpBranchConditional %490 %492 %493
%492 = OpLabel
OpBranch %491
%493 = OpLabel
OpBranch %86
%491 = OpLabel
OpBranch %85
%86 = OpLabel %86 = OpLabel
OpStore %x_GLF_color %495 OpStore %x_GLF_color %492
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %496 %tint_symbol_3 = OpFunction %void None %493
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%500 = OpLabel %497 = OpLabel
%501 = OpCompositeExtract %v4float %tint_symbol_1 0 %498 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %501 OpStore %tint_symbol_2 %498
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %22 %main = OpFunction %void None %22
%503 = OpLabel %500 = OpLabel
%504 = OpLoad %v4float %tint_symbol %501 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %504 OpStore %gl_FragCoord %501
%505 = OpFunctionCall %void %main_1 %502 = OpFunctionCall %void %main_1
%507 = OpLoad %v4float %x_GLF_color %504 = OpLoad %v4float %x_GLF_color
%508 = OpCompositeConstruct %main_out %507 %505 = OpCompositeConstruct %main_out %504
%506 = OpFunctionCall %void %tint_symbol_3 %508 %503 = OpFunctionCall %void %tint_symbol_3 %505
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 87[%87] is not post dominated by the back-edge block 491[%491]
%491 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 509 ; Bound: 506
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -117,9 +115,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%489 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %489 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%495 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %492 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%496 = OpTypeFunction %void %main_out %493 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22 %main_1 = OpFunction %void None %22
%25 = OpLabel %25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28 %pos = OpVariable %_ptr_Function_v2float Function %28
@ -741,35 +739,25 @@ SKIP: FAILED
OpBranch %87 OpBranch %87
%87 = OpLabel %87 = OpLabel
%490 = OpLoad %bool %canwalk %490 = OpLoad %bool %canwalk
OpSelectionMerge %491 None OpBranchConditional %490 %85 %86
OpBranchConditional %490 %492 %493
%492 = OpLabel
OpBranch %491
%493 = OpLabel
OpBranch %86
%491 = OpLabel
OpBranch %85
%86 = OpLabel %86 = OpLabel
OpStore %x_GLF_color %495 OpStore %x_GLF_color %492
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %496 %tint_symbol_3 = OpFunction %void None %493
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%500 = OpLabel %497 = OpLabel
%501 = OpCompositeExtract %v4float %tint_symbol_1 0 %498 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %501 OpStore %tint_symbol_2 %498
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %22 %main = OpFunction %void None %22
%503 = OpLabel %500 = OpLabel
%504 = OpLoad %v4float %tint_symbol %501 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %504 OpStore %gl_FragCoord %501
%505 = OpFunctionCall %void %main_1 %502 = OpFunctionCall %void %main_1
%507 = OpLoad %v4float %x_GLF_color %504 = OpLoad %v4float %x_GLF_color
%508 = OpCompositeConstruct %main_out %507 %505 = OpCompositeConstruct %main_out %504
%506 = OpFunctionCall %void %tint_symbol_3 %508 %503 = OpFunctionCall %void %tint_symbol_3 %505
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 87[%87] is not post dominated by the back-edge block 491[%491]
%491 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 520 ; Bound: 517
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -123,9 +121,9 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%501 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %501 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%506 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %503 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%507 = OpTypeFunction %void %main_out %504 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %28 %main_1 = OpFunction %void None %28
%31 = OpLabel %31 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %34 %pos = OpVariable %_ptr_Function_v2float Function %34
@ -757,35 +755,25 @@ SKIP: FAILED
OpBranch %96 OpBranch %96
%96 = OpLabel %96 = OpLabel
%502 = OpLoad %bool %canwalk %502 = OpLoad %bool %canwalk
OpSelectionMerge %503 None OpBranchConditional %502 %94 %95
OpBranchConditional %502 %504 %505
%504 = OpLabel
OpBranch %503
%505 = OpLabel
OpBranch %95
%503 = OpLabel
OpBranch %94
%95 = OpLabel %95 = OpLabel
OpStore %x_GLF_color %506 OpStore %x_GLF_color %503
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %507 %tint_symbol_3 = OpFunction %void None %504
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%511 = OpLabel %508 = OpLabel
%512 = OpCompositeExtract %v4float %tint_symbol_1 0 %509 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %512 OpStore %tint_symbol_2 %509
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %28 %main = OpFunction %void None %28
%514 = OpLabel %511 = OpLabel
%515 = OpLoad %v4float %tint_symbol %512 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %515 OpStore %gl_FragCoord %512
%516 = OpFunctionCall %void %main_1 %513 = OpFunctionCall %void %main_1
%518 = OpLoad %v4float %x_GLF_color %515 = OpLoad %v4float %x_GLF_color
%519 = OpCompositeConstruct %main_out %518 %516 = OpCompositeConstruct %main_out %515
%517 = OpFunctionCall %void %tint_symbol_3 %519 %514 = OpFunctionCall %void %tint_symbol_3 %516
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 96[%96] is not post dominated by the back-edge block 503[%503]
%503 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 520 ; Bound: 517
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -123,9 +121,9 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%501 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %501 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%506 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %503 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%507 = OpTypeFunction %void %main_out %504 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %28 %main_1 = OpFunction %void None %28
%31 = OpLabel %31 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %34 %pos = OpVariable %_ptr_Function_v2float Function %34
@ -757,35 +755,25 @@ SKIP: FAILED
OpBranch %96 OpBranch %96
%96 = OpLabel %96 = OpLabel
%502 = OpLoad %bool %canwalk %502 = OpLoad %bool %canwalk
OpSelectionMerge %503 None OpBranchConditional %502 %94 %95
OpBranchConditional %502 %504 %505
%504 = OpLabel
OpBranch %503
%505 = OpLabel
OpBranch %95
%503 = OpLabel
OpBranch %94
%95 = OpLabel %95 = OpLabel
OpStore %x_GLF_color %506 OpStore %x_GLF_color %503
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %507 %tint_symbol_3 = OpFunction %void None %504
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%511 = OpLabel %508 = OpLabel
%512 = OpCompositeExtract %v4float %tint_symbol_1 0 %509 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %512 OpStore %tint_symbol_2 %509
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %28 %main = OpFunction %void None %28
%514 = OpLabel %511 = OpLabel
%515 = OpLoad %v4float %tint_symbol %512 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %515 OpStore %gl_FragCoord %512
%516 = OpFunctionCall %void %main_1 %513 = OpFunctionCall %void %main_1
%518 = OpLoad %v4float %x_GLF_color %515 = OpLoad %v4float %x_GLF_color
%519 = OpCompositeConstruct %main_out %518 %516 = OpCompositeConstruct %main_out %515
%517 = OpFunctionCall %void %tint_symbol_3 %519 %514 = OpFunctionCall %void %tint_symbol_3 %516
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 96[%96] is not post dominated by the back-edge block 503[%503]
%503 = OpLabel

View File

@ -1,12 +1,10 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 419 ; Bound: 412
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%180 = OpExtInstImport "GLSL.std.450" %176 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
@ -97,12 +95,12 @@ SKIP: FAILED
%bool = OpTypeBool %bool = OpTypeBool
%_ptr_Private_int = OpTypePointer Private %int %_ptr_Private_int = OpTypePointer Private %int
%int_10 = OpConstant %int 10 %int_10 = OpConstant %int 10
%135 = OpTypeFunction %void %131 = OpTypeFunction %void
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9 %int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2 %int_2 = OpConstant %int 2
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%204 = OpConstantNull %float %200 = OpConstantNull %float
%uint_0 = OpConstant %uint 0 %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%int_n5 = OpConstant %int -5 %int_n5 = OpConstant %int -5
@ -132,7 +130,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%406 = OpTypeFunction %void %main_out %399 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26 %merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -159,129 +157,119 @@ SKIP: FAILED
%54 = OpLoad %int %j %54 = OpLoad %int %j
%56 = OpLoad %int %to %56 = OpLoad %int %to
%57 = OpSLessThanEqual %bool %51 %53 %57 = OpSLessThanEqual %bool %51 %53
OpSelectionMerge %59 None %59 = OpSLessThanEqual %bool %54 %56
OpBranchConditional %57 %60 %59 %60 = OpLogicalAnd %bool %57 %59
%60 = OpLabel OpSelectionMerge %61 None
%61 = OpSLessThanEqual %bool %54 %56 OpBranchConditional %60 %62 %63
OpBranch %59 %62 = OpLabel
%59 = OpLabel OpBranch %61
%62 = OpPhi %bool %57 %50 %61 %60
OpSelectionMerge %63 None
OpBranchConditional %62 %64 %65
%64 = OpLabel
OpBranch %63
%65 = OpLabel
OpBranch %48
%63 = OpLabel %63 = OpLabel
%66 = OpLoad %int %i OpBranch %48
%68 = OpAccessChain %_ptr_Private_int %data %66 %61 = OpLabel
%69 = OpLoad %int %68 %64 = OpLoad %int %i
%70 = OpLoad %int %j %66 = OpAccessChain %_ptr_Private_int %data %64
%71 = OpAccessChain %_ptr_Private_int %data %70 %67 = OpLoad %int %66
%72 = OpLoad %int %71 %68 = OpLoad %int %j
%73 = OpSLessThan %bool %69 %72 %69 = OpAccessChain %_ptr_Private_int %data %68
OpSelectionMerge %74 None %70 = OpLoad %int %69
OpBranchConditional %73 %75 %76 %71 = OpSLessThan %bool %67 %70
%75 = OpLabel OpSelectionMerge %72 None
%77 = OpLoad %int %k OpBranchConditional %71 %73 %74
%73 = OpLabel
%75 = OpLoad %int %k
%76 = OpIAdd %int %75 %int_1
OpStore %k %76
%77 = OpLoad %int %i
%78 = OpIAdd %int %77 %int_1 %78 = OpIAdd %int %77 %int_1
OpStore %k %78 OpStore %i %78
%79 = OpLoad %int %i %79 = OpAccessChain %_ptr_Private_int %data %77
%80 = OpIAdd %int %79 %int_1 %80 = OpLoad %int %79
OpStore %i %80 %81 = OpAccessChain %_ptr_Private_int %temp %75
%81 = OpAccessChain %_ptr_Private_int %data %79 OpStore %81 %80
%82 = OpLoad %int %81 OpBranch %72
%83 = OpAccessChain %_ptr_Private_int %temp %77
OpStore %83 %82
OpBranch %74
%76 = OpLabel
%84 = OpLoad %int %k
%85 = OpIAdd %int %84 %int_1
OpStore %k %85
%86 = OpLoad %int %j
%87 = OpIAdd %int %86 %int_1
OpStore %j %87
%88 = OpAccessChain %_ptr_Private_int %data %86
%89 = OpLoad %int %88
%90 = OpAccessChain %_ptr_Private_int %temp %84
OpStore %90 %89
OpBranch %74
%74 = OpLabel %74 = OpLabel
%82 = OpLoad %int %k
%83 = OpIAdd %int %82 %int_1
OpStore %k %83
%84 = OpLoad %int %j
%85 = OpIAdd %int %84 %int_1
OpStore %j %85
%86 = OpAccessChain %_ptr_Private_int %data %84
%87 = OpLoad %int %86
%88 = OpAccessChain %_ptr_Private_int %temp %82
OpStore %88 %87
OpBranch %72
%72 = OpLabel
OpBranch %49 OpBranch %49
%49 = OpLabel %49 = OpLabel
OpBranch %47 OpBranch %47
%48 = OpLabel %48 = OpLabel
OpBranch %89
%89 = OpLabel
OpLoopMerge %90 %91 None
OpBranch %92
%92 = OpLabel
%93 = OpLoad %int %i
%94 = OpLoad %int %i
%96 = OpLoad %int %mid
%98 = OpSLessThan %bool %93 %int_10
%99 = OpSLessThanEqual %bool %94 %96
%100 = OpLogicalAnd %bool %98 %99
OpSelectionMerge %101 None
OpBranchConditional %100 %102 %103
%102 = OpLabel
OpBranch %101
%103 = OpLabel
OpBranch %90
%101 = OpLabel
%104 = OpLoad %int %k
%105 = OpIAdd %int %104 %int_1
OpStore %k %105
%106 = OpLoad %int %i
%107 = OpIAdd %int %106 %int_1
OpStore %i %107
%108 = OpAccessChain %_ptr_Private_int %data %106
%109 = OpLoad %int %108
%110 = OpAccessChain %_ptr_Private_int %temp %104
OpStore %110 %109
OpBranch %91 OpBranch %91
%91 = OpLabel %91 = OpLabel
OpLoopMerge %92 %93 None OpBranch %89
OpBranch %94 %90 = OpLabel
%94 = OpLabel %112 = OpLoad %int %from
%95 = OpLoad %int %i OpStore %i_1 %112
%96 = OpLoad %int %i OpBranch %113
%98 = OpLoad %int %mid %113 = OpLabel
%100 = OpSLessThan %bool %95 %int_10 OpLoopMerge %114 %115 None
OpSelectionMerge %101 None OpBranch %116
OpBranchConditional %100 %102 %101 %116 = OpLabel
%102 = OpLabel %117 = OpLoad %int %i_1
%103 = OpSLessThanEqual %bool %96 %98 %119 = OpLoad %int %to
OpBranch %101 %120 = OpSLessThanEqual %bool %117 %119
%101 = OpLabel OpSelectionMerge %121 None
%104 = OpPhi %bool %100 %94 %103 %102 OpBranchConditional %120 %122 %123
OpSelectionMerge %105 None %122 = OpLabel
OpBranchConditional %104 %106 %107 OpBranch %121
%106 = OpLabel %123 = OpLabel
OpBranch %105 OpBranch %114
%107 = OpLabel %121 = OpLabel
OpBranch %92 %124 = OpLoad %int %i_1
%105 = OpLabel %125 = OpLoad %int %i_1
%108 = OpLoad %int %k %126 = OpAccessChain %_ptr_Private_int %temp %125
%109 = OpIAdd %int %108 %int_1 %127 = OpLoad %int %126
OpStore %k %109 %128 = OpAccessChain %_ptr_Private_int %data %124
%110 = OpLoad %int %i OpStore %128 %127
%111 = OpIAdd %int %110 %int_1 OpBranch %115
OpStore %i %111 %115 = OpLabel
%112 = OpAccessChain %_ptr_Private_int %data %110
%113 = OpLoad %int %112
%114 = OpAccessChain %_ptr_Private_int %temp %108
OpStore %114 %113
OpBranch %93
%93 = OpLabel
OpBranch %91
%92 = OpLabel
%116 = OpLoad %int %from
OpStore %i_1 %116
OpBranch %117
%117 = OpLabel
OpLoopMerge %118 %119 None
OpBranch %120
%120 = OpLabel
%121 = OpLoad %int %i_1
%123 = OpLoad %int %to
%124 = OpSLessThanEqual %bool %121 %123
OpSelectionMerge %125 None
OpBranchConditional %124 %126 %127
%126 = OpLabel
OpBranch %125
%127 = OpLabel
OpBranch %118
%125 = OpLabel
%128 = OpLoad %int %i_1
%129 = OpLoad %int %i_1 %129 = OpLoad %int %i_1
%130 = OpAccessChain %_ptr_Private_int %temp %129 %130 = OpIAdd %int %129 %int_1
%131 = OpLoad %int %130 OpStore %i_1 %130
%132 = OpAccessChain %_ptr_Private_int %data %128 OpBranch %113
OpStore %132 %131 %114 = OpLabel
OpBranch %119
%119 = OpLabel
%133 = OpLoad %int %i_1
%134 = OpIAdd %int %133 %int_1
OpStore %i_1 %134
OpBranch %117
%118 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%mergeSort_ = OpFunction %void None %135 %mergeSort_ = OpFunction %void None %131
%137 = OpLabel %133 = OpLabel
%low = OpVariable %_ptr_Function_int Function %35 %low = OpVariable %_ptr_Function_int Function %35
%high = OpVariable %_ptr_Function_int Function %35 %high = OpVariable %_ptr_Function_int Function %35
%m = OpVariable %_ptr_Function_int Function %35 %m = OpVariable %_ptr_Function_int Function %35
@ -295,366 +283,356 @@ SKIP: FAILED
OpStore %low %int_0 OpStore %low %int_0
OpStore %high %int_9 OpStore %high %int_9
OpStore %m %int_1 OpStore %m %int_1
OpBranch %150 OpBranch %146
%150 = OpLabel %146 = OpLabel
OpLoopMerge %151 %152 None OpLoopMerge %147 %148 None
OpBranch %149
%149 = OpLabel
%150 = OpLoad %int %m
%151 = OpLoad %int %high
%152 = OpSLessThanEqual %bool %150 %151
OpSelectionMerge %153 None
OpBranchConditional %152 %154 %155
%154 = OpLabel
OpBranch %153 OpBranch %153
%155 = OpLabel
OpBranch %147
%153 = OpLabel %153 = OpLabel
%154 = OpLoad %int %m %156 = OpLoad %int %low
%155 = OpLoad %int %high OpStore %i_2 %156
%156 = OpSLessThanEqual %bool %154 %155
OpSelectionMerge %157 None
OpBranchConditional %156 %158 %159
%158 = OpLabel
OpBranch %157 OpBranch %157
%159 = OpLabel
OpBranch %151
%157 = OpLabel %157 = OpLabel
%160 = OpLoad %int %low OpLoopMerge %158 %159 None
OpStore %i_2 %160 OpBranch %160
OpBranch %161 %160 = OpLabel
%161 = OpLabel %161 = OpLoad %int %i_2
OpLoopMerge %162 %163 None %162 = OpLoad %int %high
%163 = OpSLessThan %bool %161 %162
OpSelectionMerge %164 None
OpBranchConditional %163 %165 %166
%165 = OpLabel
OpBranch %164 OpBranch %164
%166 = OpLabel
OpBranch %158
%164 = OpLabel %164 = OpLabel
%165 = OpLoad %int %i_2 %167 = OpLoad %int %i_2
%166 = OpLoad %int %high OpStore %from_1 %167
%167 = OpSLessThan %bool %165 %166 %168 = OpLoad %int %i_2
OpSelectionMerge %168 None %169 = OpLoad %int %m
OpBranchConditional %167 %169 %170 %170 = OpIAdd %int %168 %169
%169 = OpLabel %171 = OpISub %int %170 %int_1
OpBranch %168 OpStore %mid_1 %171
%170 = OpLabel
OpBranch %162
%168 = OpLabel
%171 = OpLoad %int %i_2
OpStore %from_1 %171
%172 = OpLoad %int %i_2 %172 = OpLoad %int %i_2
%173 = OpLoad %int %m %173 = OpLoad %int %m
%174 = OpIAdd %int %172 %173 %174 = OpLoad %int %high
%175 = OpISub %int %174 %int_1 %178 = OpIMul %int %int_2 %173
OpStore %mid_1 %175 %179 = OpIAdd %int %172 %178
%176 = OpLoad %int %i_2 %180 = OpISub %int %179 %int_1
%177 = OpLoad %int %m %175 = OpExtInst %int %176 SMin %180 %174
%178 = OpLoad %int %high OpStore %to_1 %175
%182 = OpIMul %int %int_2 %177 %181 = OpLoad %int %from_1
%183 = OpIAdd %int %176 %182 OpStore %param %181
%184 = OpISub %int %183 %int_1 %182 = OpLoad %int %mid_1
%179 = OpExtInst %int %180 SMin %184 %178 OpStore %param_1 %182
OpStore %to_1 %179 %183 = OpLoad %int %to_1
%185 = OpLoad %int %from_1 OpStore %param_2 %183
OpStore %param %185 %184 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
%186 = OpLoad %int %mid_1 OpBranch %159
OpStore %param_1 %186 %159 = OpLabel
%187 = OpLoad %int %to_1 %188 = OpLoad %int %m
OpStore %param_2 %187 %189 = OpLoad %int %i_2
%188 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2 %190 = OpIMul %int %int_2 %188
OpBranch %163 %191 = OpIAdd %int %189 %190
%163 = OpLabel OpStore %i_2 %191
OpBranch %157
%158 = OpLabel
OpBranch %148
%148 = OpLabel
%192 = OpLoad %int %m %192 = OpLoad %int %m
%193 = OpLoad %int %i_2 %193 = OpIMul %int %int_2 %192
%194 = OpIMul %int %int_2 %192 OpStore %m %193
%195 = OpIAdd %int %193 %194 OpBranch %146
OpStore %i_2 %195 %147 = OpLabel
OpBranch %161
%162 = OpLabel
OpBranch %152
%152 = OpLabel
%196 = OpLoad %int %m
%197 = OpIMul %int %int_2 %196
OpStore %m %197
OpBranch %150
%151 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %135 %main_1 = OpFunction %void None %131
%199 = OpLabel %195 = OpLabel
%i_3 = OpVariable %_ptr_Function_int Function %35 %i_3 = OpVariable %_ptr_Function_int Function %35
%j_1 = OpVariable %_ptr_Function_int Function %35 %j_1 = OpVariable %_ptr_Function_int Function %35
%grey = OpVariable %_ptr_Function_float Function %204 %grey = OpVariable %_ptr_Function_float Function %200
%207 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %203 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%208 = OpLoad %float %207 %204 = OpLoad %float %203
%209 = OpConvertFToS %int %208 %205 = OpConvertFToS %int %204
OpStore %i_3 %209 OpStore %i_3 %205
OpBranch %210 OpBranch %206
%210 = OpLabel %206 = OpLabel
OpLoopMerge %211 %212 None OpLoopMerge %207 %208 None
OpBranch %213 OpBranch %209
%209 = OpLabel
%210 = OpLoad %int %i_3
OpSelectionMerge %211 None
OpSwitch %210 %212 9 %213 8 %214 7 %215 6 %216 5 %217 4 %218 3 %219 2 %220 1 %221 0 %222
%213 = OpLabel %213 = OpLabel
%214 = OpLoad %int %i_3 %223 = OpLoad %int %i_3
OpSelectionMerge %215 None %224 = OpAccessChain %_ptr_Private_int %data %223
OpSwitch %214 %216 9 %217 8 %218 7 %219 6 %220 5 %221 4 %222 3 %223 2 %224 1 %225 0 %226 OpStore %224 %int_n5
OpBranch %211
%214 = OpLabel
%226 = OpLoad %int %i_3
%227 = OpAccessChain %_ptr_Private_int %data %226
OpStore %227 %int_n4
OpBranch %211
%215 = OpLabel
%229 = OpLoad %int %i_3
%230 = OpAccessChain %_ptr_Private_int %data %229
OpStore %230 %int_n3
OpBranch %211
%216 = OpLabel
%232 = OpLoad %int %i_3
%233 = OpAccessChain %_ptr_Private_int %data %232
OpStore %233 %int_n2
OpBranch %211
%217 = OpLabel %217 = OpLabel
%227 = OpLoad %int %i_3 %235 = OpLoad %int %i_3
%228 = OpAccessChain %_ptr_Private_int %data %227 %236 = OpAccessChain %_ptr_Private_int %data %235
OpStore %228 %int_n5 OpStore %236 %int_n1
OpBranch %215 OpBranch %211
%218 = OpLabel %218 = OpLabel
%230 = OpLoad %int %i_3 %238 = OpLoad %int %i_3
%231 = OpAccessChain %_ptr_Private_int %data %230 %239 = OpAccessChain %_ptr_Private_int %data %238
OpStore %231 %int_n4 OpStore %239 %int_0
OpBranch %215 OpBranch %211
%219 = OpLabel %219 = OpLabel
%233 = OpLoad %int %i_3 %240 = OpLoad %int %i_3
%234 = OpAccessChain %_ptr_Private_int %data %233 %241 = OpAccessChain %_ptr_Private_int %data %240
OpStore %234 %int_n3 OpStore %241 %int_1
OpBranch %215 OpBranch %211
%220 = OpLabel %220 = OpLabel
%236 = OpLoad %int %i_3
%237 = OpAccessChain %_ptr_Private_int %data %236
OpStore %237 %int_n2
OpBranch %215
%221 = OpLabel
%239 = OpLoad %int %i_3
%240 = OpAccessChain %_ptr_Private_int %data %239
OpStore %240 %int_n1
OpBranch %215
%222 = OpLabel
%242 = OpLoad %int %i_3 %242 = OpLoad %int %i_3
%243 = OpAccessChain %_ptr_Private_int %data %242 %243 = OpAccessChain %_ptr_Private_int %data %242
OpStore %243 %int_0 OpStore %243 %int_2
OpBranch %215 OpBranch %211
%223 = OpLabel %221 = OpLabel
%244 = OpLoad %int %i_3 %244 = OpLoad %int %i_3
%245 = OpAccessChain %_ptr_Private_int %data %244 %245 = OpAccessChain %_ptr_Private_int %data %244
OpStore %245 %int_1 OpStore %245 %int_3
OpBranch %215 OpBranch %211
%224 = OpLabel %222 = OpLabel
%246 = OpLoad %int %i_3 %247 = OpLoad %int %i_3
%247 = OpAccessChain %_ptr_Private_int %data %246 %248 = OpAccessChain %_ptr_Private_int %data %247
OpStore %247 %int_2 OpStore %248 %int_4
OpBranch %215 OpBranch %211
%225 = OpLabel %212 = OpLabel
%248 = OpLoad %int %i_3
%249 = OpAccessChain %_ptr_Private_int %data %248
OpStore %249 %int_3
OpBranch %215
%226 = OpLabel
%251 = OpLoad %int %i_3
%252 = OpAccessChain %_ptr_Private_int %data %251
OpStore %252 %int_4
OpBranch %215
%216 = OpLabel
OpBranch %215
%215 = OpLabel
%254 = OpLoad %int %i_3
%255 = OpIAdd %int %254 %int_1
OpStore %i_3 %255
OpBranch %212
%212 = OpLabel
%256 = OpLoad %int %i_3
%257 = OpSLessThan %bool %256 %int_10
OpSelectionMerge %258 None
OpBranchConditional %257 %259 %260
%259 = OpLabel
OpBranch %258
%260 = OpLabel
OpBranch %211 OpBranch %211
%258 = OpLabel
OpBranch %210
%211 = OpLabel %211 = OpLabel
%250 = OpLoad %int %i_3
%251 = OpIAdd %int %250 %int_1
OpStore %i_3 %251
OpBranch %208
%208 = OpLabel
%252 = OpLoad %int %i_3
%253 = OpSLessThan %bool %252 %int_10
OpBranchConditional %253 %206 %207
%207 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %261 OpBranch %254
%254 = OpLabel
OpLoopMerge %255 %256 None
OpBranch %257
%257 = OpLabel
%258 = OpLoad %int %j_1
%259 = OpSLessThan %bool %258 %int_10
OpSelectionMerge %260 None
OpBranchConditional %259 %261 %262
%261 = OpLabel %261 = OpLabel
OpLoopMerge %262 %263 None OpBranch %260
OpBranch %264
%264 = OpLabel
%265 = OpLoad %int %j_1
%266 = OpSLessThan %bool %265 %int_10
OpSelectionMerge %267 None
OpBranchConditional %266 %268 %269
%268 = OpLabel
OpBranch %267
%269 = OpLabel
OpBranch %262
%267 = OpLabel
%270 = OpLoad %int %j_1
%271 = OpLoad %int %j_1
%272 = OpAccessChain %_ptr_Private_int %data %271
%273 = OpLoad %int %272
%274 = OpAccessChain %_ptr_Private_int %temp %270
OpStore %274 %273
OpBranch %263
%263 = OpLabel
%275 = OpLoad %int %j_1
%276 = OpIAdd %int %275 %int_1
OpStore %j_1 %276
OpBranch %261
%262 = OpLabel %262 = OpLabel
%277 = OpFunctionCall %void %mergeSort_ OpBranch %255
%280 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %260 = OpLabel
%281 = OpLoad %float %280 %263 = OpLoad %int %j_1
%282 = OpConvertFToS %int %281 %264 = OpLoad %int %j_1
%284 = OpSLessThan %bool %282 %int_30 %265 = OpAccessChain %_ptr_Private_int %data %264
OpSelectionMerge %285 None %266 = OpLoad %int %265
OpBranchConditional %284 %286 %287 %267 = OpAccessChain %_ptr_Private_int %temp %263
%286 = OpLabel OpStore %267 %266
%288 = OpAccessChain %_ptr_Private_int %data %int_0 OpBranch %256
%289 = OpLoad %int %288 %256 = OpLabel
%291 = OpConvertSToF %float %289 %268 = OpLoad %int %j_1
%293 = OpFDiv %float %291 %float_10 %269 = OpIAdd %int %268 %int_1
%294 = OpFAdd %float %float_0_5 %293 OpStore %j_1 %269
OpStore %grey %294 OpBranch %254
OpBranch %285 %255 = OpLabel
%287 = OpLabel %270 = OpFunctionCall %void %mergeSort_
%295 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %273 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%296 = OpLoad %float %295 %274 = OpLoad %float %273
%297 = OpConvertFToS %int %296 %275 = OpConvertFToS %int %274
%299 = OpSLessThan %bool %297 %int_60 %277 = OpSLessThan %bool %275 %int_30
OpSelectionMerge %300 None OpSelectionMerge %278 None
OpBranchConditional %299 %301 %302 OpBranchConditional %277 %279 %280
%301 = OpLabel %279 = OpLabel
%303 = OpAccessChain %_ptr_Private_int %data %int_1 %281 = OpAccessChain %_ptr_Private_int %data %int_0
%304 = OpLoad %int %303 %282 = OpLoad %int %281
%305 = OpConvertSToF %float %304 %284 = OpConvertSToF %float %282
%306 = OpFDiv %float %305 %float_10 %286 = OpFDiv %float %284 %float_10
%307 = OpFAdd %float %float_0_5 %306 %287 = OpFAdd %float %float_0_5 %286
OpStore %grey %307 OpStore %grey %287
OpBranch %300 OpBranch %278
%302 = OpLabel %280 = OpLabel
%308 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %288 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%309 = OpLoad %float %308 %289 = OpLoad %float %288
%310 = OpConvertFToS %int %309 %290 = OpConvertFToS %int %289
%312 = OpSLessThan %bool %310 %int_90 %292 = OpSLessThan %bool %290 %int_60
OpSelectionMerge %313 None OpSelectionMerge %293 None
OpBranchConditional %312 %314 %315 OpBranchConditional %292 %294 %295
%314 = OpLabel %294 = OpLabel
%316 = OpAccessChain %_ptr_Private_int %data %int_2 %296 = OpAccessChain %_ptr_Private_int %data %int_1
%317 = OpLoad %int %316 %297 = OpLoad %int %296
%318 = OpConvertSToF %float %317 %298 = OpConvertSToF %float %297
%319 = OpFDiv %float %318 %float_10 %299 = OpFDiv %float %298 %float_10
%320 = OpFAdd %float %float_0_5 %319 %300 = OpFAdd %float %float_0_5 %299
OpStore %grey %320 OpStore %grey %300
OpBranch %313 OpBranch %293
%315 = OpLabel %295 = OpLabel
%321 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %301 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%322 = OpLoad %float %321 %302 = OpLoad %float %301
%323 = OpConvertFToS %int %322 %303 = OpConvertFToS %int %302
%325 = OpSLessThan %bool %323 %int_120 %305 = OpSLessThan %bool %303 %int_90
OpSelectionMerge %326 None OpSelectionMerge %306 None
OpBranchConditional %325 %327 %328 OpBranchConditional %305 %307 %308
%327 = OpLabel %307 = OpLabel
%329 = OpAccessChain %_ptr_Private_int %data %int_3 %309 = OpAccessChain %_ptr_Private_int %data %int_2
%330 = OpLoad %int %329 %310 = OpLoad %int %309
%331 = OpConvertSToF %float %330 %311 = OpConvertSToF %float %310
%332 = OpFDiv %float %331 %float_10 %312 = OpFDiv %float %311 %float_10
%333 = OpFAdd %float %float_0_5 %332 %313 = OpFAdd %float %float_0_5 %312
OpStore %grey %333 OpStore %grey %313
OpBranch %326 OpBranch %306
%328 = OpLabel %308 = OpLabel
%334 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %314 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%335 = OpLoad %float %334 %315 = OpLoad %float %314
%336 = OpConvertFToS %int %335 %316 = OpConvertFToS %int %315
%338 = OpSLessThan %bool %336 %int_150 %318 = OpSLessThan %bool %316 %int_120
OpSelectionMerge %339 None OpSelectionMerge %319 None
OpBranchConditional %338 %340 %341 OpBranchConditional %318 %320 %321
%340 = OpLabel %320 = OpLabel
%322 = OpAccessChain %_ptr_Private_int %data %int_3
%323 = OpLoad %int %322
%324 = OpConvertSToF %float %323
%325 = OpFDiv %float %324 %float_10
%326 = OpFAdd %float %float_0_5 %325
OpStore %grey %326
OpBranch %319
%321 = OpLabel
%327 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%328 = OpLoad %float %327
%329 = OpConvertFToS %int %328
%331 = OpSLessThan %bool %329 %int_150
OpSelectionMerge %332 None
OpBranchConditional %331 %333 %334
%333 = OpLabel
OpKill OpKill
%334 = OpLabel
%335 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%336 = OpLoad %float %335
%337 = OpConvertFToS %int %336
%339 = OpSLessThan %bool %337 %int_180
OpSelectionMerge %340 None
OpBranchConditional %339 %341 %342
%341 = OpLabel %341 = OpLabel
%342 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %344 = OpAccessChain %_ptr_Private_int %data %int_5
%343 = OpLoad %float %342 %345 = OpLoad %int %344
%344 = OpConvertFToS %int %343 %346 = OpConvertSToF %float %345
%346 = OpSLessThan %bool %344 %int_180 %347 = OpFDiv %float %346 %float_10
OpSelectionMerge %347 None %348 = OpFAdd %float %float_0_5 %347
OpBranchConditional %346 %348 %349 OpStore %grey %348
%348 = OpLabel OpBranch %340
%351 = OpAccessChain %_ptr_Private_int %data %int_5 %342 = OpLabel
%352 = OpLoad %int %351 %349 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%353 = OpConvertSToF %float %352 %350 = OpLoad %float %349
%354 = OpFDiv %float %353 %float_10 %351 = OpConvertFToS %int %350
%355 = OpFAdd %float %float_0_5 %354 %353 = OpSLessThan %bool %351 %int_210
OpStore %grey %355 OpSelectionMerge %354 None
OpBranch %347 OpBranchConditional %353 %355 %356
%349 = OpLabel %355 = OpLabel
%356 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %358 = OpAccessChain %_ptr_Private_int %data %int_6
%357 = OpLoad %float %356 %359 = OpLoad %int %358
%358 = OpConvertFToS %int %357 %360 = OpConvertSToF %float %359
%360 = OpSLessThan %bool %358 %int_210 %361 = OpFDiv %float %360 %float_10
OpSelectionMerge %361 None %362 = OpFAdd %float %float_0_5 %361
OpBranchConditional %360 %362 %363 OpStore %grey %362
%362 = OpLabel OpBranch %354
%365 = OpAccessChain %_ptr_Private_int %data %int_6 %356 = OpLabel
%366 = OpLoad %int %365 %363 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%367 = OpConvertSToF %float %366 %364 = OpLoad %float %363
%368 = OpFDiv %float %367 %float_10 %365 = OpConvertFToS %int %364
%369 = OpFAdd %float %float_0_5 %368 %367 = OpSLessThan %bool %365 %int_240
OpStore %grey %369 OpSelectionMerge %368 None
OpBranch %361 OpBranchConditional %367 %369 %370
%363 = OpLabel %369 = OpLabel
%370 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %372 = OpAccessChain %_ptr_Private_int %data %int_7
%371 = OpLoad %float %370 %373 = OpLoad %int %372
%372 = OpConvertFToS %int %371 %374 = OpConvertSToF %float %373
%374 = OpSLessThan %bool %372 %int_240 %375 = OpFDiv %float %374 %float_10
OpSelectionMerge %375 None %376 = OpFAdd %float %float_0_5 %375
OpBranchConditional %374 %376 %377 OpStore %grey %376
%376 = OpLabel OpBranch %368
%379 = OpAccessChain %_ptr_Private_int %data %int_7 %370 = OpLabel
%380 = OpLoad %int %379 %377 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%381 = OpConvertSToF %float %380 %378 = OpLoad %float %377
%382 = OpFDiv %float %381 %float_10 %379 = OpConvertFToS %int %378
%383 = OpFAdd %float %float_0_5 %382 %381 = OpSLessThan %bool %379 %int_270
OpStore %grey %383 OpSelectionMerge %382 None
OpBranch %375 OpBranchConditional %381 %383 %384
%377 = OpLabel %383 = OpLabel
%384 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %386 = OpAccessChain %_ptr_Private_int %data %int_8
%385 = OpLoad %float %384 %387 = OpLoad %int %386
%386 = OpConvertFToS %int %385 %388 = OpConvertSToF %float %387
%388 = OpSLessThan %bool %386 %int_270 %389 = OpFDiv %float %388 %float_10
OpSelectionMerge %389 None %390 = OpFAdd %float %float_0_5 %389
OpBranchConditional %388 %390 %391 OpStore %grey %390
%390 = OpLabel OpBranch %382
%393 = OpAccessChain %_ptr_Private_int %data %int_8 %384 = OpLabel
%394 = OpLoad %int %393
%395 = OpConvertSToF %float %394
%396 = OpFDiv %float %395 %float_10
%397 = OpFAdd %float %float_0_5 %396
OpStore %grey %397
OpBranch %389
%391 = OpLabel
OpKill OpKill
%389 = OpLabel %382 = OpLabel
OpBranch %375 OpBranch %368
%375 = OpLabel %368 = OpLabel
OpBranch %361 OpBranch %354
%361 = OpLabel %354 = OpLabel
OpBranch %347 OpBranch %340
%347 = OpLabel %340 = OpLabel
OpBranch %339 OpBranch %332
%339 = OpLabel %332 = OpLabel
OpBranch %326 OpBranch %319
%326 = OpLabel %319 = OpLabel
OpBranch %313 OpBranch %306
%313 = OpLabel %306 = OpLabel
OpBranch %300 OpBranch %293
%300 = OpLabel %293 = OpLabel
OpBranch %285 OpBranch %278
%285 = OpLabel %278 = OpLabel
%398 = OpLoad %float %grey %391 = OpLoad %float %grey
%400 = OpCompositeConstruct %v3float %398 %398 %398 %393 = OpCompositeConstruct %v3float %391 %391 %391
%401 = OpCompositeExtract %float %400 0 %394 = OpCompositeExtract %float %393 0
%402 = OpCompositeExtract %float %400 1 %395 = OpCompositeExtract %float %393 1
%403 = OpCompositeExtract %float %400 2 %396 = OpCompositeExtract %float %393 2
%405 = OpCompositeConstruct %v4float %401 %402 %403 %float_1 %398 = OpCompositeConstruct %v4float %394 %395 %396 %float_1
OpStore %x_GLF_color %405 OpStore %x_GLF_color %398
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %406 %tint_symbol_3 = OpFunction %void None %399
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%410 = OpLabel %403 = OpLabel
%411 = OpCompositeExtract %v4float %tint_symbol_1 0 %404 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %411 OpStore %tint_symbol_2 %404
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %135 %main = OpFunction %void None %131
%413 = OpLabel %406 = OpLabel
%414 = OpLoad %v4float %tint_symbol %407 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %414 OpStore %gl_FragCoord %407
%415 = OpFunctionCall %void %main_1 %408 = OpFunctionCall %void %main_1
%417 = OpLoad %v4float %x_GLF_color %410 = OpLoad %v4float %x_GLF_color
%418 = OpCompositeConstruct %main_out %417 %411 = OpCompositeConstruct %main_out %410
%416 = OpFunctionCall %void %tint_symbol_3 %418 %409 = OpFunctionCall %void %tint_symbol_3 %411
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 212[%212] is not post dominated by the back-edge block 258[%258]
%258 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 419 ; Bound: 416
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%180 = OpExtInstImport "GLSL.std.450" %180 = OpExtInstImport "GLSL.std.450"
@ -132,7 +130,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%406 = OpTypeFunction %void %main_out %403 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26 %merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -444,217 +442,207 @@ SKIP: FAILED
%212 = OpLabel %212 = OpLabel
%256 = OpLoad %int %i_3 %256 = OpLoad %int %i_3
%257 = OpSLessThan %bool %256 %int_10 %257 = OpSLessThan %bool %256 %int_10
OpSelectionMerge %258 None OpBranchConditional %257 %210 %211
OpBranchConditional %257 %259 %260
%259 = OpLabel
OpBranch %258
%260 = OpLabel
OpBranch %211
%258 = OpLabel
OpBranch %210
%211 = OpLabel %211 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %258
%258 = OpLabel
OpLoopMerge %259 %260 None
OpBranch %261 OpBranch %261
%261 = OpLabel %261 = OpLabel
OpLoopMerge %262 %263 None %262 = OpLoad %int %j_1
%263 = OpSLessThan %bool %262 %int_10
OpSelectionMerge %264 None
OpBranchConditional %263 %265 %266
%265 = OpLabel
OpBranch %264 OpBranch %264
%266 = OpLabel
OpBranch %259
%264 = OpLabel %264 = OpLabel
%265 = OpLoad %int %j_1 %267 = OpLoad %int %j_1
%266 = OpSLessThan %bool %265 %int_10 %268 = OpLoad %int %j_1
OpSelectionMerge %267 None %269 = OpAccessChain %_ptr_Private_int %data %268
OpBranchConditional %266 %268 %269 %270 = OpLoad %int %269
%268 = OpLabel %271 = OpAccessChain %_ptr_Private_int %temp %267
OpBranch %267 OpStore %271 %270
%269 = OpLabel OpBranch %260
OpBranch %262 %260 = OpLabel
%267 = OpLabel %272 = OpLoad %int %j_1
%270 = OpLoad %int %j_1 %273 = OpIAdd %int %272 %int_1
%271 = OpLoad %int %j_1 OpStore %j_1 %273
%272 = OpAccessChain %_ptr_Private_int %data %271 OpBranch %258
%273 = OpLoad %int %272 %259 = OpLabel
%274 = OpAccessChain %_ptr_Private_int %temp %270 %274 = OpFunctionCall %void %mergeSort_
OpStore %274 %273 %277 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %263 %278 = OpLoad %float %277
%263 = OpLabel %279 = OpConvertFToS %int %278
%275 = OpLoad %int %j_1 %281 = OpSLessThan %bool %279 %int_30
%276 = OpIAdd %int %275 %int_1 OpSelectionMerge %282 None
OpStore %j_1 %276 OpBranchConditional %281 %283 %284
OpBranch %261 %283 = OpLabel
%262 = OpLabel %285 = OpAccessChain %_ptr_Private_int %data %int_0
%277 = OpFunctionCall %void %mergeSort_ %286 = OpLoad %int %285
%280 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %288 = OpConvertSToF %float %286
%281 = OpLoad %float %280 %290 = OpFDiv %float %288 %float_10
%282 = OpConvertFToS %int %281 %291 = OpFAdd %float %float_0_5 %290
%284 = OpSLessThan %bool %282 %int_30 OpStore %grey %291
OpSelectionMerge %285 None OpBranch %282
OpBranchConditional %284 %286 %287 %284 = OpLabel
%286 = OpLabel %292 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%288 = OpAccessChain %_ptr_Private_int %data %int_0 %293 = OpLoad %float %292
%289 = OpLoad %int %288 %294 = OpConvertFToS %int %293
%291 = OpConvertSToF %float %289 %296 = OpSLessThan %bool %294 %int_60
%293 = OpFDiv %float %291 %float_10 OpSelectionMerge %297 None
%294 = OpFAdd %float %float_0_5 %293 OpBranchConditional %296 %298 %299
OpStore %grey %294 %298 = OpLabel
OpBranch %285 %300 = OpAccessChain %_ptr_Private_int %data %int_1
%287 = OpLabel %301 = OpLoad %int %300
%295 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %302 = OpConvertSToF %float %301
%296 = OpLoad %float %295 %303 = OpFDiv %float %302 %float_10
%297 = OpConvertFToS %int %296 %304 = OpFAdd %float %float_0_5 %303
%299 = OpSLessThan %bool %297 %int_60 OpStore %grey %304
OpSelectionMerge %300 None OpBranch %297
OpBranchConditional %299 %301 %302 %299 = OpLabel
%301 = OpLabel %305 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%303 = OpAccessChain %_ptr_Private_int %data %int_1 %306 = OpLoad %float %305
%304 = OpLoad %int %303 %307 = OpConvertFToS %int %306
%305 = OpConvertSToF %float %304 %309 = OpSLessThan %bool %307 %int_90
%306 = OpFDiv %float %305 %float_10 OpSelectionMerge %310 None
%307 = OpFAdd %float %float_0_5 %306 OpBranchConditional %309 %311 %312
OpStore %grey %307 %311 = OpLabel
OpBranch %300 %313 = OpAccessChain %_ptr_Private_int %data %int_2
%302 = OpLabel %314 = OpLoad %int %313
%308 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %315 = OpConvertSToF %float %314
%309 = OpLoad %float %308 %316 = OpFDiv %float %315 %float_10
%310 = OpConvertFToS %int %309 %317 = OpFAdd %float %float_0_5 %316
%312 = OpSLessThan %bool %310 %int_90 OpStore %grey %317
OpSelectionMerge %313 None OpBranch %310
OpBranchConditional %312 %314 %315 %312 = OpLabel
%314 = OpLabel %318 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%316 = OpAccessChain %_ptr_Private_int %data %int_2 %319 = OpLoad %float %318
%317 = OpLoad %int %316 %320 = OpConvertFToS %int %319
%318 = OpConvertSToF %float %317 %322 = OpSLessThan %bool %320 %int_120
%319 = OpFDiv %float %318 %float_10 OpSelectionMerge %323 None
%320 = OpFAdd %float %float_0_5 %319 OpBranchConditional %322 %324 %325
OpStore %grey %320 %324 = OpLabel
OpBranch %313 %326 = OpAccessChain %_ptr_Private_int %data %int_3
%315 = OpLabel %327 = OpLoad %int %326
%321 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %328 = OpConvertSToF %float %327
%322 = OpLoad %float %321 %329 = OpFDiv %float %328 %float_10
%323 = OpConvertFToS %int %322 %330 = OpFAdd %float %float_0_5 %329
%325 = OpSLessThan %bool %323 %int_120 OpStore %grey %330
OpSelectionMerge %326 None OpBranch %323
OpBranchConditional %325 %327 %328 %325 = OpLabel
%327 = OpLabel %331 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%329 = OpAccessChain %_ptr_Private_int %data %int_3 %332 = OpLoad %float %331
%330 = OpLoad %int %329 %333 = OpConvertFToS %int %332
%331 = OpConvertSToF %float %330 %335 = OpSLessThan %bool %333 %int_150
%332 = OpFDiv %float %331 %float_10 OpSelectionMerge %336 None
%333 = OpFAdd %float %float_0_5 %332 OpBranchConditional %335 %337 %338
OpStore %grey %333 %337 = OpLabel
OpBranch %326
%328 = OpLabel
%334 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%335 = OpLoad %float %334
%336 = OpConvertFToS %int %335
%338 = OpSLessThan %bool %336 %int_150
OpSelectionMerge %339 None
OpBranchConditional %338 %340 %341
%340 = OpLabel
OpKill OpKill
%341 = OpLabel %338 = OpLabel
%342 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %339 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%343 = OpLoad %float %342 %340 = OpLoad %float %339
%344 = OpConvertFToS %int %343 %341 = OpConvertFToS %int %340
%346 = OpSLessThan %bool %344 %int_180 %343 = OpSLessThan %bool %341 %int_180
OpSelectionMerge %347 None OpSelectionMerge %344 None
OpBranchConditional %346 %348 %349 OpBranchConditional %343 %345 %346
%348 = OpLabel %345 = OpLabel
%351 = OpAccessChain %_ptr_Private_int %data %int_5 %348 = OpAccessChain %_ptr_Private_int %data %int_5
%352 = OpLoad %int %351 %349 = OpLoad %int %348
%353 = OpConvertSToF %float %352 %350 = OpConvertSToF %float %349
%354 = OpFDiv %float %353 %float_10 %351 = OpFDiv %float %350 %float_10
%355 = OpFAdd %float %float_0_5 %354 %352 = OpFAdd %float %float_0_5 %351
OpStore %grey %355 OpStore %grey %352
OpBranch %347 OpBranch %344
%349 = OpLabel %346 = OpLabel
%356 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %353 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%357 = OpLoad %float %356 %354 = OpLoad %float %353
%358 = OpConvertFToS %int %357 %355 = OpConvertFToS %int %354
%360 = OpSLessThan %bool %358 %int_210 %357 = OpSLessThan %bool %355 %int_210
OpSelectionMerge %361 None OpSelectionMerge %358 None
OpBranchConditional %360 %362 %363 OpBranchConditional %357 %359 %360
%362 = OpLabel %359 = OpLabel
%365 = OpAccessChain %_ptr_Private_int %data %int_6 %362 = OpAccessChain %_ptr_Private_int %data %int_6
%366 = OpLoad %int %365 %363 = OpLoad %int %362
%367 = OpConvertSToF %float %366 %364 = OpConvertSToF %float %363
%368 = OpFDiv %float %367 %float_10 %365 = OpFDiv %float %364 %float_10
%369 = OpFAdd %float %float_0_5 %368 %366 = OpFAdd %float %float_0_5 %365
OpStore %grey %369 OpStore %grey %366
OpBranch %361 OpBranch %358
%363 = OpLabel %360 = OpLabel
%370 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %367 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%371 = OpLoad %float %370 %368 = OpLoad %float %367
%372 = OpConvertFToS %int %371 %369 = OpConvertFToS %int %368
%374 = OpSLessThan %bool %372 %int_240 %371 = OpSLessThan %bool %369 %int_240
OpSelectionMerge %375 None OpSelectionMerge %372 None
OpBranchConditional %374 %376 %377 OpBranchConditional %371 %373 %374
%376 = OpLabel %373 = OpLabel
%379 = OpAccessChain %_ptr_Private_int %data %int_7 %376 = OpAccessChain %_ptr_Private_int %data %int_7
%380 = OpLoad %int %379 %377 = OpLoad %int %376
%381 = OpConvertSToF %float %380 %378 = OpConvertSToF %float %377
%382 = OpFDiv %float %381 %float_10 %379 = OpFDiv %float %378 %float_10
%383 = OpFAdd %float %float_0_5 %382 %380 = OpFAdd %float %float_0_5 %379
OpStore %grey %383 OpStore %grey %380
OpBranch %375 OpBranch %372
%377 = OpLabel %374 = OpLabel
%384 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %381 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%385 = OpLoad %float %384 %382 = OpLoad %float %381
%386 = OpConvertFToS %int %385 %383 = OpConvertFToS %int %382
%388 = OpSLessThan %bool %386 %int_270 %385 = OpSLessThan %bool %383 %int_270
OpSelectionMerge %389 None OpSelectionMerge %386 None
OpBranchConditional %388 %390 %391 OpBranchConditional %385 %387 %388
%390 = OpLabel %387 = OpLabel
%393 = OpAccessChain %_ptr_Private_int %data %int_8 %390 = OpAccessChain %_ptr_Private_int %data %int_8
%394 = OpLoad %int %393 %391 = OpLoad %int %390
%395 = OpConvertSToF %float %394 %392 = OpConvertSToF %float %391
%396 = OpFDiv %float %395 %float_10 %393 = OpFDiv %float %392 %float_10
%397 = OpFAdd %float %float_0_5 %396 %394 = OpFAdd %float %float_0_5 %393
OpStore %grey %397 OpStore %grey %394
OpBranch %389 OpBranch %386
%391 = OpLabel %388 = OpLabel
OpKill OpKill
%389 = OpLabel %386 = OpLabel
OpBranch %375 OpBranch %372
%375 = OpLabel %372 = OpLabel
OpBranch %361 OpBranch %358
%361 = OpLabel %358 = OpLabel
OpBranch %347 OpBranch %344
%347 = OpLabel %344 = OpLabel
OpBranch %339 OpBranch %336
%339 = OpLabel %336 = OpLabel
OpBranch %326 OpBranch %323
%326 = OpLabel %323 = OpLabel
OpBranch %313 OpBranch %310
%313 = OpLabel %310 = OpLabel
OpBranch %300 OpBranch %297
%300 = OpLabel %297 = OpLabel
OpBranch %285 OpBranch %282
%285 = OpLabel %282 = OpLabel
%398 = OpLoad %float %grey %395 = OpLoad %float %grey
%400 = OpCompositeConstruct %v3float %398 %398 %398 %397 = OpCompositeConstruct %v3float %395 %395 %395
%401 = OpCompositeExtract %float %400 0 %398 = OpCompositeExtract %float %397 0
%402 = OpCompositeExtract %float %400 1 %399 = OpCompositeExtract %float %397 1
%403 = OpCompositeExtract %float %400 2 %400 = OpCompositeExtract %float %397 2
%405 = OpCompositeConstruct %v4float %401 %402 %403 %float_1 %402 = OpCompositeConstruct %v4float %398 %399 %400 %float_1
OpStore %x_GLF_color %405 OpStore %x_GLF_color %402
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %406 %tint_symbol_3 = OpFunction %void None %403
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%410 = OpLabel %407 = OpLabel
%411 = OpCompositeExtract %v4float %tint_symbol_1 0 %408 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %411 OpStore %tint_symbol_2 %408
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %135 %main = OpFunction %void None %135
%413 = OpLabel %410 = OpLabel
%414 = OpLoad %v4float %tint_symbol %411 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %414 OpStore %gl_FragCoord %411
%415 = OpFunctionCall %void %main_1 %412 = OpFunctionCall %void %main_1
%417 = OpLoad %v4float %x_GLF_color %414 = OpLoad %v4float %x_GLF_color
%418 = OpCompositeConstruct %main_out %417 %415 = OpCompositeConstruct %main_out %414
%416 = OpFunctionCall %void %tint_symbol_3 %418 %413 = OpFunctionCall %void %tint_symbol_3 %415
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 212[%212] is not post dominated by the back-edge block 258[%258]
%258 = OpLabel

View File

@ -1,12 +1,10 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 423 ; Bound: 416
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%180 = OpExtInstImport "GLSL.std.450" %176 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
@ -97,12 +95,12 @@ SKIP: FAILED
%bool = OpTypeBool %bool = OpTypeBool
%_ptr_Private_int = OpTypePointer Private %int %_ptr_Private_int = OpTypePointer Private %int
%int_10 = OpConstant %int 10 %int_10 = OpConstant %int 10
%135 = OpTypeFunction %void %131 = OpTypeFunction %void
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9 %int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2 %int_2 = OpConstant %int 2
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%204 = OpConstantNull %float %200 = OpConstantNull %float
%uint_0 = OpConstant %uint 0 %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%int_n5 = OpConstant %int -5 %int_n5 = OpConstant %int -5
@ -133,7 +131,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%410 = OpTypeFunction %void %main_out %403 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26 %merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -160,129 +158,119 @@ SKIP: FAILED
%54 = OpLoad %int %j %54 = OpLoad %int %j
%56 = OpLoad %int %to %56 = OpLoad %int %to
%57 = OpSLessThanEqual %bool %51 %53 %57 = OpSLessThanEqual %bool %51 %53
OpSelectionMerge %59 None %59 = OpSLessThanEqual %bool %54 %56
OpBranchConditional %57 %60 %59 %60 = OpLogicalAnd %bool %57 %59
%60 = OpLabel OpSelectionMerge %61 None
%61 = OpSLessThanEqual %bool %54 %56 OpBranchConditional %60 %62 %63
OpBranch %59 %62 = OpLabel
%59 = OpLabel OpBranch %61
%62 = OpPhi %bool %57 %50 %61 %60
OpSelectionMerge %63 None
OpBranchConditional %62 %64 %65
%64 = OpLabel
OpBranch %63
%65 = OpLabel
OpBranch %48
%63 = OpLabel %63 = OpLabel
%66 = OpLoad %int %i OpBranch %48
%68 = OpAccessChain %_ptr_Private_int %data %66 %61 = OpLabel
%69 = OpLoad %int %68 %64 = OpLoad %int %i
%70 = OpLoad %int %j %66 = OpAccessChain %_ptr_Private_int %data %64
%71 = OpAccessChain %_ptr_Private_int %data %70 %67 = OpLoad %int %66
%72 = OpLoad %int %71 %68 = OpLoad %int %j
%73 = OpSLessThan %bool %69 %72 %69 = OpAccessChain %_ptr_Private_int %data %68
OpSelectionMerge %74 None %70 = OpLoad %int %69
OpBranchConditional %73 %75 %76 %71 = OpSLessThan %bool %67 %70
%75 = OpLabel OpSelectionMerge %72 None
%77 = OpLoad %int %k OpBranchConditional %71 %73 %74
%73 = OpLabel
%75 = OpLoad %int %k
%76 = OpIAdd %int %75 %int_1
OpStore %k %76
%77 = OpLoad %int %i
%78 = OpIAdd %int %77 %int_1 %78 = OpIAdd %int %77 %int_1
OpStore %k %78 OpStore %i %78
%79 = OpLoad %int %i %79 = OpAccessChain %_ptr_Private_int %data %77
%80 = OpIAdd %int %79 %int_1 %80 = OpLoad %int %79
OpStore %i %80 %81 = OpAccessChain %_ptr_Private_int %temp %75
%81 = OpAccessChain %_ptr_Private_int %data %79 OpStore %81 %80
%82 = OpLoad %int %81 OpBranch %72
%83 = OpAccessChain %_ptr_Private_int %temp %77
OpStore %83 %82
OpBranch %74
%76 = OpLabel
%84 = OpLoad %int %k
%85 = OpIAdd %int %84 %int_1
OpStore %k %85
%86 = OpLoad %int %j
%87 = OpIAdd %int %86 %int_1
OpStore %j %87
%88 = OpAccessChain %_ptr_Private_int %data %86
%89 = OpLoad %int %88
%90 = OpAccessChain %_ptr_Private_int %temp %84
OpStore %90 %89
OpBranch %74
%74 = OpLabel %74 = OpLabel
%82 = OpLoad %int %k
%83 = OpIAdd %int %82 %int_1
OpStore %k %83
%84 = OpLoad %int %j
%85 = OpIAdd %int %84 %int_1
OpStore %j %85
%86 = OpAccessChain %_ptr_Private_int %data %84
%87 = OpLoad %int %86
%88 = OpAccessChain %_ptr_Private_int %temp %82
OpStore %88 %87
OpBranch %72
%72 = OpLabel
OpBranch %49 OpBranch %49
%49 = OpLabel %49 = OpLabel
OpBranch %47 OpBranch %47
%48 = OpLabel %48 = OpLabel
OpBranch %89
%89 = OpLabel
OpLoopMerge %90 %91 None
OpBranch %92
%92 = OpLabel
%93 = OpLoad %int %i
%94 = OpLoad %int %i
%96 = OpLoad %int %mid
%98 = OpSLessThan %bool %93 %int_10
%99 = OpSLessThanEqual %bool %94 %96
%100 = OpLogicalAnd %bool %98 %99
OpSelectionMerge %101 None
OpBranchConditional %100 %102 %103
%102 = OpLabel
OpBranch %101
%103 = OpLabel
OpBranch %90
%101 = OpLabel
%104 = OpLoad %int %k
%105 = OpIAdd %int %104 %int_1
OpStore %k %105
%106 = OpLoad %int %i
%107 = OpIAdd %int %106 %int_1
OpStore %i %107
%108 = OpAccessChain %_ptr_Private_int %data %106
%109 = OpLoad %int %108
%110 = OpAccessChain %_ptr_Private_int %temp %104
OpStore %110 %109
OpBranch %91 OpBranch %91
%91 = OpLabel %91 = OpLabel
OpLoopMerge %92 %93 None OpBranch %89
OpBranch %94 %90 = OpLabel
%94 = OpLabel %112 = OpLoad %int %from
%95 = OpLoad %int %i OpStore %i_1 %112
%96 = OpLoad %int %i OpBranch %113
%98 = OpLoad %int %mid %113 = OpLabel
%100 = OpSLessThan %bool %95 %int_10 OpLoopMerge %114 %115 None
OpSelectionMerge %101 None OpBranch %116
OpBranchConditional %100 %102 %101 %116 = OpLabel
%102 = OpLabel %117 = OpLoad %int %i_1
%103 = OpSLessThanEqual %bool %96 %98 %119 = OpLoad %int %to
OpBranch %101 %120 = OpSLessThanEqual %bool %117 %119
%101 = OpLabel OpSelectionMerge %121 None
%104 = OpPhi %bool %100 %94 %103 %102 OpBranchConditional %120 %122 %123
OpSelectionMerge %105 None %122 = OpLabel
OpBranchConditional %104 %106 %107 OpBranch %121
%106 = OpLabel %123 = OpLabel
OpBranch %105 OpBranch %114
%107 = OpLabel %121 = OpLabel
OpBranch %92 %124 = OpLoad %int %i_1
%105 = OpLabel %125 = OpLoad %int %i_1
%108 = OpLoad %int %k %126 = OpAccessChain %_ptr_Private_int %temp %125
%109 = OpIAdd %int %108 %int_1 %127 = OpLoad %int %126
OpStore %k %109 %128 = OpAccessChain %_ptr_Private_int %data %124
%110 = OpLoad %int %i OpStore %128 %127
%111 = OpIAdd %int %110 %int_1 OpBranch %115
OpStore %i %111 %115 = OpLabel
%112 = OpAccessChain %_ptr_Private_int %data %110
%113 = OpLoad %int %112
%114 = OpAccessChain %_ptr_Private_int %temp %108
OpStore %114 %113
OpBranch %93
%93 = OpLabel
OpBranch %91
%92 = OpLabel
%116 = OpLoad %int %from
OpStore %i_1 %116
OpBranch %117
%117 = OpLabel
OpLoopMerge %118 %119 None
OpBranch %120
%120 = OpLabel
%121 = OpLoad %int %i_1
%123 = OpLoad %int %to
%124 = OpSLessThanEqual %bool %121 %123
OpSelectionMerge %125 None
OpBranchConditional %124 %126 %127
%126 = OpLabel
OpBranch %125
%127 = OpLabel
OpBranch %118
%125 = OpLabel
%128 = OpLoad %int %i_1
%129 = OpLoad %int %i_1 %129 = OpLoad %int %i_1
%130 = OpAccessChain %_ptr_Private_int %temp %129 %130 = OpIAdd %int %129 %int_1
%131 = OpLoad %int %130 OpStore %i_1 %130
%132 = OpAccessChain %_ptr_Private_int %data %128 OpBranch %113
OpStore %132 %131 %114 = OpLabel
OpBranch %119
%119 = OpLabel
%133 = OpLoad %int %i_1
%134 = OpIAdd %int %133 %int_1
OpStore %i_1 %134
OpBranch %117
%118 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%mergeSort_ = OpFunction %void None %135 %mergeSort_ = OpFunction %void None %131
%137 = OpLabel %133 = OpLabel
%low = OpVariable %_ptr_Function_int Function %35 %low = OpVariable %_ptr_Function_int Function %35
%high = OpVariable %_ptr_Function_int Function %35 %high = OpVariable %_ptr_Function_int Function %35
%m = OpVariable %_ptr_Function_int Function %35 %m = OpVariable %_ptr_Function_int Function %35
@ -296,373 +284,363 @@ SKIP: FAILED
OpStore %low %int_0 OpStore %low %int_0
OpStore %high %int_9 OpStore %high %int_9
OpStore %m %int_1 OpStore %m %int_1
OpBranch %150 OpBranch %146
%150 = OpLabel %146 = OpLabel
OpLoopMerge %151 %152 None OpLoopMerge %147 %148 None
OpBranch %149
%149 = OpLabel
%150 = OpLoad %int %m
%151 = OpLoad %int %high
%152 = OpSLessThanEqual %bool %150 %151
OpSelectionMerge %153 None
OpBranchConditional %152 %154 %155
%154 = OpLabel
OpBranch %153 OpBranch %153
%155 = OpLabel
OpBranch %147
%153 = OpLabel %153 = OpLabel
%154 = OpLoad %int %m %156 = OpLoad %int %low
%155 = OpLoad %int %high OpStore %i_2 %156
%156 = OpSLessThanEqual %bool %154 %155
OpSelectionMerge %157 None
OpBranchConditional %156 %158 %159
%158 = OpLabel
OpBranch %157 OpBranch %157
%159 = OpLabel
OpBranch %151
%157 = OpLabel %157 = OpLabel
%160 = OpLoad %int %low OpLoopMerge %158 %159 None
OpStore %i_2 %160 OpBranch %160
OpBranch %161 %160 = OpLabel
%161 = OpLabel %161 = OpLoad %int %i_2
OpLoopMerge %162 %163 None %162 = OpLoad %int %high
%163 = OpSLessThan %bool %161 %162
OpSelectionMerge %164 None
OpBranchConditional %163 %165 %166
%165 = OpLabel
OpBranch %164 OpBranch %164
%166 = OpLabel
OpBranch %158
%164 = OpLabel %164 = OpLabel
%165 = OpLoad %int %i_2 %167 = OpLoad %int %i_2
%166 = OpLoad %int %high OpStore %from_1 %167
%167 = OpSLessThan %bool %165 %166 %168 = OpLoad %int %i_2
OpSelectionMerge %168 None %169 = OpLoad %int %m
OpBranchConditional %167 %169 %170 %170 = OpIAdd %int %168 %169
%169 = OpLabel %171 = OpISub %int %170 %int_1
OpBranch %168 OpStore %mid_1 %171
%170 = OpLabel
OpBranch %162
%168 = OpLabel
%171 = OpLoad %int %i_2
OpStore %from_1 %171
%172 = OpLoad %int %i_2 %172 = OpLoad %int %i_2
%173 = OpLoad %int %m %173 = OpLoad %int %m
%174 = OpIAdd %int %172 %173 %174 = OpLoad %int %high
%175 = OpISub %int %174 %int_1 %178 = OpIMul %int %int_2 %173
OpStore %mid_1 %175 %179 = OpIAdd %int %172 %178
%176 = OpLoad %int %i_2 %180 = OpISub %int %179 %int_1
%177 = OpLoad %int %m %175 = OpExtInst %int %176 SMin %180 %174
%178 = OpLoad %int %high OpStore %to_1 %175
%182 = OpIMul %int %int_2 %177 %181 = OpLoad %int %from_1
%183 = OpIAdd %int %176 %182 OpStore %param %181
%184 = OpISub %int %183 %int_1 %182 = OpLoad %int %mid_1
%179 = OpExtInst %int %180 SMin %184 %178 OpStore %param_1 %182
OpStore %to_1 %179 %183 = OpLoad %int %to_1
%185 = OpLoad %int %from_1 OpStore %param_2 %183
OpStore %param %185 %184 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
%186 = OpLoad %int %mid_1 OpBranch %159
OpStore %param_1 %186 %159 = OpLabel
%187 = OpLoad %int %to_1 %188 = OpLoad %int %m
OpStore %param_2 %187 %189 = OpLoad %int %i_2
%188 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2 %190 = OpIMul %int %int_2 %188
OpBranch %163 %191 = OpIAdd %int %189 %190
%163 = OpLabel OpStore %i_2 %191
OpBranch %157
%158 = OpLabel
OpBranch %148
%148 = OpLabel
%192 = OpLoad %int %m %192 = OpLoad %int %m
%193 = OpLoad %int %i_2 %193 = OpIMul %int %int_2 %192
%194 = OpIMul %int %int_2 %192 OpStore %m %193
%195 = OpIAdd %int %193 %194 OpBranch %146
OpStore %i_2 %195 %147 = OpLabel
OpBranch %161
%162 = OpLabel
OpBranch %152
%152 = OpLabel
%196 = OpLoad %int %m
%197 = OpIMul %int %int_2 %196
OpStore %m %197
OpBranch %150
%151 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %135 %main_1 = OpFunction %void None %131
%199 = OpLabel %195 = OpLabel
%i_3 = OpVariable %_ptr_Function_int Function %35 %i_3 = OpVariable %_ptr_Function_int Function %35
%j_1 = OpVariable %_ptr_Function_int Function %35 %j_1 = OpVariable %_ptr_Function_int Function %35
%grey = OpVariable %_ptr_Function_float Function %204 %grey = OpVariable %_ptr_Function_float Function %200
%207 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %203 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%208 = OpLoad %float %207 %204 = OpLoad %float %203
%209 = OpConvertFToS %int %208 %205 = OpConvertFToS %int %204
OpStore %i_3 %209 OpStore %i_3 %205
OpBranch %210 OpBranch %206
%210 = OpLabel %206 = OpLabel
OpLoopMerge %211 %212 None OpLoopMerge %207 %208 None
OpBranch %213 OpBranch %209
%209 = OpLabel
%210 = OpLoad %int %i_3
OpSelectionMerge %211 None
OpSwitch %210 %212 9 %213 8 %214 7 %215 6 %216 5 %217 4 %218 3 %219 2 %220 1 %221 0 %222
%213 = OpLabel %213 = OpLabel
%214 = OpLoad %int %i_3 %223 = OpLoad %int %i_3
OpSelectionMerge %215 None %224 = OpAccessChain %_ptr_Private_int %data %223
OpSwitch %214 %216 9 %217 8 %218 7 %219 6 %220 5 %221 4 %222 3 %223 2 %224 1 %225 0 %226 OpStore %224 %int_n5
OpSelectionMerge %227 None
OpBranchConditional %true %228 %229
%228 = OpLabel
OpBranch %227
%229 = OpLabel
OpBranch %208
%227 = OpLabel
OpBranch %211
%214 = OpLabel
%230 = OpLoad %int %i_3
%231 = OpAccessChain %_ptr_Private_int %data %230
OpStore %231 %int_n4
OpBranch %211
%215 = OpLabel
%233 = OpLoad %int %i_3
%234 = OpAccessChain %_ptr_Private_int %data %233
OpStore %234 %int_n3
OpBranch %211
%216 = OpLabel
%236 = OpLoad %int %i_3
%237 = OpAccessChain %_ptr_Private_int %data %236
OpStore %237 %int_n2
OpBranch %211
%217 = OpLabel %217 = OpLabel
%227 = OpLoad %int %i_3 %239 = OpLoad %int %i_3
%228 = OpAccessChain %_ptr_Private_int %data %227 %240 = OpAccessChain %_ptr_Private_int %data %239
OpStore %228 %int_n5 OpStore %240 %int_n1
OpSelectionMerge %231 None OpBranch %211
OpBranchConditional %true %232 %233
%232 = OpLabel
OpBranch %231
%233 = OpLabel
OpBranch %212
%231 = OpLabel
OpBranch %215
%218 = OpLabel %218 = OpLabel
%234 = OpLoad %int %i_3 %242 = OpLoad %int %i_3
%235 = OpAccessChain %_ptr_Private_int %data %234 %243 = OpAccessChain %_ptr_Private_int %data %242
OpStore %235 %int_n4 OpStore %243 %int_0
OpBranch %215 OpBranch %211
%219 = OpLabel %219 = OpLabel
%237 = OpLoad %int %i_3 %244 = OpLoad %int %i_3
%238 = OpAccessChain %_ptr_Private_int %data %237 %245 = OpAccessChain %_ptr_Private_int %data %244
OpStore %238 %int_n3 OpStore %245 %int_1
OpBranch %215 OpBranch %211
%220 = OpLabel %220 = OpLabel
%240 = OpLoad %int %i_3
%241 = OpAccessChain %_ptr_Private_int %data %240
OpStore %241 %int_n2
OpBranch %215
%221 = OpLabel
%243 = OpLoad %int %i_3
%244 = OpAccessChain %_ptr_Private_int %data %243
OpStore %244 %int_n1
OpBranch %215
%222 = OpLabel
%246 = OpLoad %int %i_3 %246 = OpLoad %int %i_3
%247 = OpAccessChain %_ptr_Private_int %data %246 %247 = OpAccessChain %_ptr_Private_int %data %246
OpStore %247 %int_0 OpStore %247 %int_2
OpBranch %215 OpBranch %211
%223 = OpLabel %221 = OpLabel
%248 = OpLoad %int %i_3 %248 = OpLoad %int %i_3
%249 = OpAccessChain %_ptr_Private_int %data %248 %249 = OpAccessChain %_ptr_Private_int %data %248
OpStore %249 %int_1 OpStore %249 %int_3
OpBranch %215 OpBranch %211
%224 = OpLabel %222 = OpLabel
%250 = OpLoad %int %i_3 %251 = OpLoad %int %i_3
%251 = OpAccessChain %_ptr_Private_int %data %250 %252 = OpAccessChain %_ptr_Private_int %data %251
OpStore %251 %int_2 OpStore %252 %int_4
OpBranch %215 OpBranch %211
%225 = OpLabel %212 = OpLabel
%252 = OpLoad %int %i_3
%253 = OpAccessChain %_ptr_Private_int %data %252
OpStore %253 %int_3
OpBranch %215
%226 = OpLabel
%255 = OpLoad %int %i_3
%256 = OpAccessChain %_ptr_Private_int %data %255
OpStore %256 %int_4
OpBranch %215
%216 = OpLabel
OpBranch %215
%215 = OpLabel
%258 = OpLoad %int %i_3
%259 = OpIAdd %int %258 %int_1
OpStore %i_3 %259
OpBranch %212
%212 = OpLabel
%260 = OpLoad %int %i_3
%261 = OpSLessThan %bool %260 %int_10
OpSelectionMerge %262 None
OpBranchConditional %261 %263 %264
%263 = OpLabel
OpBranch %262
%264 = OpLabel
OpBranch %211 OpBranch %211
%262 = OpLabel
OpBranch %210
%211 = OpLabel %211 = OpLabel
%254 = OpLoad %int %i_3
%255 = OpIAdd %int %254 %int_1
OpStore %i_3 %255
OpBranch %208
%208 = OpLabel
%256 = OpLoad %int %i_3
%257 = OpSLessThan %bool %256 %int_10
OpBranchConditional %257 %206 %207
%207 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %265 OpBranch %258
%258 = OpLabel
OpLoopMerge %259 %260 None
OpBranch %261
%261 = OpLabel
%262 = OpLoad %int %j_1
%263 = OpSLessThan %bool %262 %int_10
OpSelectionMerge %264 None
OpBranchConditional %263 %265 %266
%265 = OpLabel %265 = OpLabel
OpLoopMerge %266 %267 None OpBranch %264
OpBranch %268
%268 = OpLabel
%269 = OpLoad %int %j_1
%270 = OpSLessThan %bool %269 %int_10
OpSelectionMerge %271 None
OpBranchConditional %270 %272 %273
%272 = OpLabel
OpBranch %271
%273 = OpLabel
OpBranch %266
%271 = OpLabel
%274 = OpLoad %int %j_1
%275 = OpLoad %int %j_1
%276 = OpAccessChain %_ptr_Private_int %data %275
%277 = OpLoad %int %276
%278 = OpAccessChain %_ptr_Private_int %temp %274
OpStore %278 %277
OpBranch %267
%267 = OpLabel
%279 = OpLoad %int %j_1
%280 = OpIAdd %int %279 %int_1
OpStore %j_1 %280
OpBranch %265
%266 = OpLabel %266 = OpLabel
%281 = OpFunctionCall %void %mergeSort_ OpBranch %259
%284 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %264 = OpLabel
%285 = OpLoad %float %284 %267 = OpLoad %int %j_1
%286 = OpConvertFToS %int %285 %268 = OpLoad %int %j_1
%288 = OpSLessThan %bool %286 %int_30 %269 = OpAccessChain %_ptr_Private_int %data %268
OpSelectionMerge %289 None %270 = OpLoad %int %269
OpBranchConditional %288 %290 %291 %271 = OpAccessChain %_ptr_Private_int %temp %267
%290 = OpLabel OpStore %271 %270
%292 = OpAccessChain %_ptr_Private_int %data %int_0 OpBranch %260
%293 = OpLoad %int %292 %260 = OpLabel
%295 = OpConvertSToF %float %293 %272 = OpLoad %int %j_1
%297 = OpFDiv %float %295 %float_10 %273 = OpIAdd %int %272 %int_1
%298 = OpFAdd %float %float_0_5 %297 OpStore %j_1 %273
OpStore %grey %298 OpBranch %258
OpBranch %289 %259 = OpLabel
%291 = OpLabel %274 = OpFunctionCall %void %mergeSort_
%299 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %277 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%300 = OpLoad %float %299 %278 = OpLoad %float %277
%301 = OpConvertFToS %int %300 %279 = OpConvertFToS %int %278
%303 = OpSLessThan %bool %301 %int_60 %281 = OpSLessThan %bool %279 %int_30
OpSelectionMerge %304 None OpSelectionMerge %282 None
OpBranchConditional %303 %305 %306 OpBranchConditional %281 %283 %284
%305 = OpLabel %283 = OpLabel
%307 = OpAccessChain %_ptr_Private_int %data %int_1 %285 = OpAccessChain %_ptr_Private_int %data %int_0
%308 = OpLoad %int %307 %286 = OpLoad %int %285
%309 = OpConvertSToF %float %308 %288 = OpConvertSToF %float %286
%310 = OpFDiv %float %309 %float_10 %290 = OpFDiv %float %288 %float_10
%311 = OpFAdd %float %float_0_5 %310 %291 = OpFAdd %float %float_0_5 %290
OpStore %grey %311 OpStore %grey %291
OpBranch %304 OpBranch %282
%306 = OpLabel %284 = OpLabel
%312 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %292 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%313 = OpLoad %float %312 %293 = OpLoad %float %292
%314 = OpConvertFToS %int %313 %294 = OpConvertFToS %int %293
%316 = OpSLessThan %bool %314 %int_90 %296 = OpSLessThan %bool %294 %int_60
OpSelectionMerge %317 None OpSelectionMerge %297 None
OpBranchConditional %316 %318 %319 OpBranchConditional %296 %298 %299
%318 = OpLabel %298 = OpLabel
%320 = OpAccessChain %_ptr_Private_int %data %int_2 %300 = OpAccessChain %_ptr_Private_int %data %int_1
%321 = OpLoad %int %320 %301 = OpLoad %int %300
%322 = OpConvertSToF %float %321 %302 = OpConvertSToF %float %301
%323 = OpFDiv %float %322 %float_10 %303 = OpFDiv %float %302 %float_10
%324 = OpFAdd %float %float_0_5 %323 %304 = OpFAdd %float %float_0_5 %303
OpStore %grey %324 OpStore %grey %304
OpBranch %317 OpBranch %297
%319 = OpLabel %299 = OpLabel
%325 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %305 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%326 = OpLoad %float %325 %306 = OpLoad %float %305
%327 = OpConvertFToS %int %326 %307 = OpConvertFToS %int %306
%329 = OpSLessThan %bool %327 %int_120 %309 = OpSLessThan %bool %307 %int_90
OpSelectionMerge %330 None OpSelectionMerge %310 None
OpBranchConditional %329 %331 %332 OpBranchConditional %309 %311 %312
%331 = OpLabel %311 = OpLabel
%333 = OpAccessChain %_ptr_Private_int %data %int_3 %313 = OpAccessChain %_ptr_Private_int %data %int_2
%334 = OpLoad %int %333 %314 = OpLoad %int %313
%335 = OpConvertSToF %float %334 %315 = OpConvertSToF %float %314
%336 = OpFDiv %float %335 %float_10 %316 = OpFDiv %float %315 %float_10
%337 = OpFAdd %float %float_0_5 %336 %317 = OpFAdd %float %float_0_5 %316
OpStore %grey %337 OpStore %grey %317
OpBranch %330 OpBranch %310
%332 = OpLabel %312 = OpLabel
%338 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %318 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%339 = OpLoad %float %338 %319 = OpLoad %float %318
%340 = OpConvertFToS %int %339 %320 = OpConvertFToS %int %319
%342 = OpSLessThan %bool %340 %int_150 %322 = OpSLessThan %bool %320 %int_120
OpSelectionMerge %343 None OpSelectionMerge %323 None
OpBranchConditional %342 %344 %345 OpBranchConditional %322 %324 %325
%344 = OpLabel %324 = OpLabel
%326 = OpAccessChain %_ptr_Private_int %data %int_3
%327 = OpLoad %int %326
%328 = OpConvertSToF %float %327
%329 = OpFDiv %float %328 %float_10
%330 = OpFAdd %float %float_0_5 %329
OpStore %grey %330
OpBranch %323
%325 = OpLabel
%331 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%332 = OpLoad %float %331
%333 = OpConvertFToS %int %332
%335 = OpSLessThan %bool %333 %int_150
OpSelectionMerge %336 None
OpBranchConditional %335 %337 %338
%337 = OpLabel
OpKill OpKill
%338 = OpLabel
%339 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%340 = OpLoad %float %339
%341 = OpConvertFToS %int %340
%343 = OpSLessThan %bool %341 %int_180
OpSelectionMerge %344 None
OpBranchConditional %343 %345 %346
%345 = OpLabel %345 = OpLabel
%346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %348 = OpAccessChain %_ptr_Private_int %data %int_5
%347 = OpLoad %float %346 %349 = OpLoad %int %348
%348 = OpConvertFToS %int %347 %350 = OpConvertSToF %float %349
%350 = OpSLessThan %bool %348 %int_180 %351 = OpFDiv %float %350 %float_10
OpSelectionMerge %351 None %352 = OpFAdd %float %float_0_5 %351
OpBranchConditional %350 %352 %353 OpStore %grey %352
%352 = OpLabel OpBranch %344
%355 = OpAccessChain %_ptr_Private_int %data %int_5 %346 = OpLabel
%356 = OpLoad %int %355 %353 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%357 = OpConvertSToF %float %356 %354 = OpLoad %float %353
%358 = OpFDiv %float %357 %float_10 %355 = OpConvertFToS %int %354
%359 = OpFAdd %float %float_0_5 %358 %357 = OpSLessThan %bool %355 %int_210
OpStore %grey %359 OpSelectionMerge %358 None
OpBranch %351 OpBranchConditional %357 %359 %360
%353 = OpLabel %359 = OpLabel
%360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %362 = OpAccessChain %_ptr_Private_int %data %int_6
%361 = OpLoad %float %360 %363 = OpLoad %int %362
%362 = OpConvertFToS %int %361 %364 = OpConvertSToF %float %363
%364 = OpSLessThan %bool %362 %int_210 %365 = OpFDiv %float %364 %float_10
OpSelectionMerge %365 None %366 = OpFAdd %float %float_0_5 %365
OpBranchConditional %364 %366 %367 OpStore %grey %366
%366 = OpLabel OpBranch %358
%369 = OpAccessChain %_ptr_Private_int %data %int_6 %360 = OpLabel
%370 = OpLoad %int %369 %367 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%371 = OpConvertSToF %float %370 %368 = OpLoad %float %367
%372 = OpFDiv %float %371 %float_10 %369 = OpConvertFToS %int %368
%373 = OpFAdd %float %float_0_5 %372 %371 = OpSLessThan %bool %369 %int_240
OpStore %grey %373 OpSelectionMerge %372 None
OpBranch %365 OpBranchConditional %371 %373 %374
%367 = OpLabel %373 = OpLabel
%374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %376 = OpAccessChain %_ptr_Private_int %data %int_7
%375 = OpLoad %float %374 %377 = OpLoad %int %376
%376 = OpConvertFToS %int %375 %378 = OpConvertSToF %float %377
%378 = OpSLessThan %bool %376 %int_240 %379 = OpFDiv %float %378 %float_10
OpSelectionMerge %379 None %380 = OpFAdd %float %float_0_5 %379
OpBranchConditional %378 %380 %381 OpStore %grey %380
%380 = OpLabel OpBranch %372
%383 = OpAccessChain %_ptr_Private_int %data %int_7 %374 = OpLabel
%384 = OpLoad %int %383 %381 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%385 = OpConvertSToF %float %384 %382 = OpLoad %float %381
%386 = OpFDiv %float %385 %float_10 %383 = OpConvertFToS %int %382
%387 = OpFAdd %float %float_0_5 %386 %385 = OpSLessThan %bool %383 %int_270
OpStore %grey %387 OpSelectionMerge %386 None
OpBranch %379 OpBranchConditional %385 %387 %388
%381 = OpLabel %387 = OpLabel
%388 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %390 = OpAccessChain %_ptr_Private_int %data %int_8
%389 = OpLoad %float %388 %391 = OpLoad %int %390
%390 = OpConvertFToS %int %389 %392 = OpConvertSToF %float %391
%392 = OpSLessThan %bool %390 %int_270 %393 = OpFDiv %float %392 %float_10
OpSelectionMerge %393 None %394 = OpFAdd %float %float_0_5 %393
OpBranchConditional %392 %394 %395 OpStore %grey %394
%394 = OpLabel OpBranch %386
%397 = OpAccessChain %_ptr_Private_int %data %int_8 %388 = OpLabel
%398 = OpLoad %int %397
%399 = OpConvertSToF %float %398
%400 = OpFDiv %float %399 %float_10
%401 = OpFAdd %float %float_0_5 %400
OpStore %grey %401
OpBranch %393
%395 = OpLabel
OpKill OpKill
%393 = OpLabel %386 = OpLabel
OpBranch %379 OpBranch %372
%379 = OpLabel %372 = OpLabel
OpBranch %365 OpBranch %358
%365 = OpLabel %358 = OpLabel
OpBranch %351 OpBranch %344
%351 = OpLabel %344 = OpLabel
OpBranch %343 OpBranch %336
%343 = OpLabel %336 = OpLabel
OpBranch %330 OpBranch %323
%330 = OpLabel %323 = OpLabel
OpBranch %317 OpBranch %310
%317 = OpLabel %310 = OpLabel
OpBranch %304 OpBranch %297
%304 = OpLabel %297 = OpLabel
OpBranch %289 OpBranch %282
%289 = OpLabel %282 = OpLabel
%402 = OpLoad %float %grey %395 = OpLoad %float %grey
%404 = OpCompositeConstruct %v3float %402 %402 %402 %397 = OpCompositeConstruct %v3float %395 %395 %395
%405 = OpCompositeExtract %float %404 0 %398 = OpCompositeExtract %float %397 0
%406 = OpCompositeExtract %float %404 1 %399 = OpCompositeExtract %float %397 1
%407 = OpCompositeExtract %float %404 2 %400 = OpCompositeExtract %float %397 2
%409 = OpCompositeConstruct %v4float %405 %406 %407 %float_1 %402 = OpCompositeConstruct %v4float %398 %399 %400 %float_1
OpStore %x_GLF_color %409 OpStore %x_GLF_color %402
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %410 %tint_symbol_3 = OpFunction %void None %403
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%414 = OpLabel %407 = OpLabel
%415 = OpCompositeExtract %v4float %tint_symbol_1 0 %408 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %415 OpStore %tint_symbol_2 %408
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %135 %main = OpFunction %void None %131
%417 = OpLabel %410 = OpLabel
%418 = OpLoad %v4float %tint_symbol %411 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %418 OpStore %gl_FragCoord %411
%419 = OpFunctionCall %void %main_1 %412 = OpFunctionCall %void %main_1
%421 = OpLoad %v4float %x_GLF_color %414 = OpLoad %v4float %x_GLF_color
%422 = OpCompositeConstruct %main_out %421 %415 = OpCompositeConstruct %main_out %414
%420 = OpFunctionCall %void %tint_symbol_3 %422 %413 = OpFunctionCall %void %tint_symbol_3 %415
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 212[%212] is not post dominated by the back-edge block 262[%262]
%262 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 423 ; Bound: 420
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%180 = OpExtInstImport "GLSL.std.450" %180 = OpExtInstImport "GLSL.std.450"
@ -133,7 +131,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%410 = OpTypeFunction %void %main_out %407 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26 %merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -452,217 +450,207 @@ SKIP: FAILED
%212 = OpLabel %212 = OpLabel
%260 = OpLoad %int %i_3 %260 = OpLoad %int %i_3
%261 = OpSLessThan %bool %260 %int_10 %261 = OpSLessThan %bool %260 %int_10
OpSelectionMerge %262 None OpBranchConditional %261 %210 %211
OpBranchConditional %261 %263 %264
%263 = OpLabel
OpBranch %262
%264 = OpLabel
OpBranch %211
%262 = OpLabel
OpBranch %210
%211 = OpLabel %211 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %262
%262 = OpLabel
OpLoopMerge %263 %264 None
OpBranch %265 OpBranch %265
%265 = OpLabel %265 = OpLabel
OpLoopMerge %266 %267 None %266 = OpLoad %int %j_1
%267 = OpSLessThan %bool %266 %int_10
OpSelectionMerge %268 None
OpBranchConditional %267 %269 %270
%269 = OpLabel
OpBranch %268 OpBranch %268
%270 = OpLabel
OpBranch %263
%268 = OpLabel %268 = OpLabel
%269 = OpLoad %int %j_1 %271 = OpLoad %int %j_1
%270 = OpSLessThan %bool %269 %int_10 %272 = OpLoad %int %j_1
OpSelectionMerge %271 None %273 = OpAccessChain %_ptr_Private_int %data %272
OpBranchConditional %270 %272 %273 %274 = OpLoad %int %273
%272 = OpLabel %275 = OpAccessChain %_ptr_Private_int %temp %271
OpBranch %271 OpStore %275 %274
%273 = OpLabel OpBranch %264
OpBranch %266 %264 = OpLabel
%271 = OpLabel %276 = OpLoad %int %j_1
%274 = OpLoad %int %j_1 %277 = OpIAdd %int %276 %int_1
%275 = OpLoad %int %j_1 OpStore %j_1 %277
%276 = OpAccessChain %_ptr_Private_int %data %275 OpBranch %262
%277 = OpLoad %int %276 %263 = OpLabel
%278 = OpAccessChain %_ptr_Private_int %temp %274 %278 = OpFunctionCall %void %mergeSort_
OpStore %278 %277 %281 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %267 %282 = OpLoad %float %281
%267 = OpLabel %283 = OpConvertFToS %int %282
%279 = OpLoad %int %j_1 %285 = OpSLessThan %bool %283 %int_30
%280 = OpIAdd %int %279 %int_1 OpSelectionMerge %286 None
OpStore %j_1 %280 OpBranchConditional %285 %287 %288
OpBranch %265 %287 = OpLabel
%266 = OpLabel %289 = OpAccessChain %_ptr_Private_int %data %int_0
%281 = OpFunctionCall %void %mergeSort_ %290 = OpLoad %int %289
%284 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %292 = OpConvertSToF %float %290
%285 = OpLoad %float %284 %294 = OpFDiv %float %292 %float_10
%286 = OpConvertFToS %int %285 %295 = OpFAdd %float %float_0_5 %294
%288 = OpSLessThan %bool %286 %int_30 OpStore %grey %295
OpSelectionMerge %289 None OpBranch %286
OpBranchConditional %288 %290 %291 %288 = OpLabel
%290 = OpLabel %296 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%292 = OpAccessChain %_ptr_Private_int %data %int_0 %297 = OpLoad %float %296
%293 = OpLoad %int %292 %298 = OpConvertFToS %int %297
%295 = OpConvertSToF %float %293 %300 = OpSLessThan %bool %298 %int_60
%297 = OpFDiv %float %295 %float_10 OpSelectionMerge %301 None
%298 = OpFAdd %float %float_0_5 %297 OpBranchConditional %300 %302 %303
OpStore %grey %298 %302 = OpLabel
OpBranch %289 %304 = OpAccessChain %_ptr_Private_int %data %int_1
%291 = OpLabel %305 = OpLoad %int %304
%299 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %306 = OpConvertSToF %float %305
%300 = OpLoad %float %299 %307 = OpFDiv %float %306 %float_10
%301 = OpConvertFToS %int %300 %308 = OpFAdd %float %float_0_5 %307
%303 = OpSLessThan %bool %301 %int_60 OpStore %grey %308
OpSelectionMerge %304 None OpBranch %301
OpBranchConditional %303 %305 %306 %303 = OpLabel
%305 = OpLabel %309 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%307 = OpAccessChain %_ptr_Private_int %data %int_1 %310 = OpLoad %float %309
%308 = OpLoad %int %307 %311 = OpConvertFToS %int %310
%309 = OpConvertSToF %float %308 %313 = OpSLessThan %bool %311 %int_90
%310 = OpFDiv %float %309 %float_10 OpSelectionMerge %314 None
%311 = OpFAdd %float %float_0_5 %310 OpBranchConditional %313 %315 %316
OpStore %grey %311 %315 = OpLabel
OpBranch %304 %317 = OpAccessChain %_ptr_Private_int %data %int_2
%306 = OpLabel %318 = OpLoad %int %317
%312 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %319 = OpConvertSToF %float %318
%313 = OpLoad %float %312 %320 = OpFDiv %float %319 %float_10
%314 = OpConvertFToS %int %313 %321 = OpFAdd %float %float_0_5 %320
%316 = OpSLessThan %bool %314 %int_90 OpStore %grey %321
OpSelectionMerge %317 None OpBranch %314
OpBranchConditional %316 %318 %319 %316 = OpLabel
%318 = OpLabel %322 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%320 = OpAccessChain %_ptr_Private_int %data %int_2 %323 = OpLoad %float %322
%321 = OpLoad %int %320 %324 = OpConvertFToS %int %323
%322 = OpConvertSToF %float %321 %326 = OpSLessThan %bool %324 %int_120
%323 = OpFDiv %float %322 %float_10 OpSelectionMerge %327 None
%324 = OpFAdd %float %float_0_5 %323 OpBranchConditional %326 %328 %329
OpStore %grey %324 %328 = OpLabel
OpBranch %317 %330 = OpAccessChain %_ptr_Private_int %data %int_3
%319 = OpLabel %331 = OpLoad %int %330
%325 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %332 = OpConvertSToF %float %331
%326 = OpLoad %float %325 %333 = OpFDiv %float %332 %float_10
%327 = OpConvertFToS %int %326 %334 = OpFAdd %float %float_0_5 %333
%329 = OpSLessThan %bool %327 %int_120 OpStore %grey %334
OpSelectionMerge %330 None OpBranch %327
OpBranchConditional %329 %331 %332 %329 = OpLabel
%331 = OpLabel %335 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%333 = OpAccessChain %_ptr_Private_int %data %int_3 %336 = OpLoad %float %335
%334 = OpLoad %int %333 %337 = OpConvertFToS %int %336
%335 = OpConvertSToF %float %334 %339 = OpSLessThan %bool %337 %int_150
%336 = OpFDiv %float %335 %float_10 OpSelectionMerge %340 None
%337 = OpFAdd %float %float_0_5 %336 OpBranchConditional %339 %341 %342
OpStore %grey %337 %341 = OpLabel
OpBranch %330
%332 = OpLabel
%338 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%339 = OpLoad %float %338
%340 = OpConvertFToS %int %339
%342 = OpSLessThan %bool %340 %int_150
OpSelectionMerge %343 None
OpBranchConditional %342 %344 %345
%344 = OpLabel
OpKill OpKill
%345 = OpLabel %342 = OpLabel
%346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %343 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%347 = OpLoad %float %346 %344 = OpLoad %float %343
%348 = OpConvertFToS %int %347 %345 = OpConvertFToS %int %344
%350 = OpSLessThan %bool %348 %int_180 %347 = OpSLessThan %bool %345 %int_180
OpSelectionMerge %351 None OpSelectionMerge %348 None
OpBranchConditional %350 %352 %353 OpBranchConditional %347 %349 %350
%352 = OpLabel %349 = OpLabel
%355 = OpAccessChain %_ptr_Private_int %data %int_5 %352 = OpAccessChain %_ptr_Private_int %data %int_5
%356 = OpLoad %int %355 %353 = OpLoad %int %352
%357 = OpConvertSToF %float %356 %354 = OpConvertSToF %float %353
%358 = OpFDiv %float %357 %float_10 %355 = OpFDiv %float %354 %float_10
%359 = OpFAdd %float %float_0_5 %358 %356 = OpFAdd %float %float_0_5 %355
OpStore %grey %359 OpStore %grey %356
OpBranch %351 OpBranch %348
%353 = OpLabel %350 = OpLabel
%360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %357 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%361 = OpLoad %float %360 %358 = OpLoad %float %357
%362 = OpConvertFToS %int %361 %359 = OpConvertFToS %int %358
%364 = OpSLessThan %bool %362 %int_210 %361 = OpSLessThan %bool %359 %int_210
OpSelectionMerge %365 None OpSelectionMerge %362 None
OpBranchConditional %364 %366 %367 OpBranchConditional %361 %363 %364
%366 = OpLabel %363 = OpLabel
%369 = OpAccessChain %_ptr_Private_int %data %int_6 %366 = OpAccessChain %_ptr_Private_int %data %int_6
%370 = OpLoad %int %369 %367 = OpLoad %int %366
%371 = OpConvertSToF %float %370 %368 = OpConvertSToF %float %367
%372 = OpFDiv %float %371 %float_10 %369 = OpFDiv %float %368 %float_10
%373 = OpFAdd %float %float_0_5 %372 %370 = OpFAdd %float %float_0_5 %369
OpStore %grey %373 OpStore %grey %370
OpBranch %365 OpBranch %362
%367 = OpLabel %364 = OpLabel
%374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %371 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%375 = OpLoad %float %374 %372 = OpLoad %float %371
%376 = OpConvertFToS %int %375 %373 = OpConvertFToS %int %372
%378 = OpSLessThan %bool %376 %int_240 %375 = OpSLessThan %bool %373 %int_240
OpSelectionMerge %379 None OpSelectionMerge %376 None
OpBranchConditional %378 %380 %381 OpBranchConditional %375 %377 %378
%380 = OpLabel %377 = OpLabel
%383 = OpAccessChain %_ptr_Private_int %data %int_7 %380 = OpAccessChain %_ptr_Private_int %data %int_7
%384 = OpLoad %int %383 %381 = OpLoad %int %380
%385 = OpConvertSToF %float %384 %382 = OpConvertSToF %float %381
%386 = OpFDiv %float %385 %float_10 %383 = OpFDiv %float %382 %float_10
%387 = OpFAdd %float %float_0_5 %386 %384 = OpFAdd %float %float_0_5 %383
OpStore %grey %387 OpStore %grey %384
OpBranch %379 OpBranch %376
%381 = OpLabel %378 = OpLabel
%388 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %385 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%389 = OpLoad %float %388 %386 = OpLoad %float %385
%390 = OpConvertFToS %int %389 %387 = OpConvertFToS %int %386
%392 = OpSLessThan %bool %390 %int_270 %389 = OpSLessThan %bool %387 %int_270
OpSelectionMerge %393 None OpSelectionMerge %390 None
OpBranchConditional %392 %394 %395 OpBranchConditional %389 %391 %392
%394 = OpLabel %391 = OpLabel
%397 = OpAccessChain %_ptr_Private_int %data %int_8 %394 = OpAccessChain %_ptr_Private_int %data %int_8
%398 = OpLoad %int %397 %395 = OpLoad %int %394
%399 = OpConvertSToF %float %398 %396 = OpConvertSToF %float %395
%400 = OpFDiv %float %399 %float_10 %397 = OpFDiv %float %396 %float_10
%401 = OpFAdd %float %float_0_5 %400 %398 = OpFAdd %float %float_0_5 %397
OpStore %grey %401 OpStore %grey %398
OpBranch %393 OpBranch %390
%395 = OpLabel %392 = OpLabel
OpKill OpKill
%393 = OpLabel %390 = OpLabel
OpBranch %379 OpBranch %376
%379 = OpLabel %376 = OpLabel
OpBranch %365 OpBranch %362
%365 = OpLabel %362 = OpLabel
OpBranch %351 OpBranch %348
%351 = OpLabel %348 = OpLabel
OpBranch %343 OpBranch %340
%343 = OpLabel %340 = OpLabel
OpBranch %330 OpBranch %327
%330 = OpLabel %327 = OpLabel
OpBranch %317 OpBranch %314
%317 = OpLabel %314 = OpLabel
OpBranch %304 OpBranch %301
%304 = OpLabel %301 = OpLabel
OpBranch %289 OpBranch %286
%289 = OpLabel %286 = OpLabel
%402 = OpLoad %float %grey %399 = OpLoad %float %grey
%404 = OpCompositeConstruct %v3float %402 %402 %402 %401 = OpCompositeConstruct %v3float %399 %399 %399
%405 = OpCompositeExtract %float %404 0 %402 = OpCompositeExtract %float %401 0
%406 = OpCompositeExtract %float %404 1 %403 = OpCompositeExtract %float %401 1
%407 = OpCompositeExtract %float %404 2 %404 = OpCompositeExtract %float %401 2
%409 = OpCompositeConstruct %v4float %405 %406 %407 %float_1 %406 = OpCompositeConstruct %v4float %402 %403 %404 %float_1
OpStore %x_GLF_color %409 OpStore %x_GLF_color %406
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %410 %tint_symbol_3 = OpFunction %void None %407
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%414 = OpLabel %411 = OpLabel
%415 = OpCompositeExtract %v4float %tint_symbol_1 0 %412 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %415 OpStore %tint_symbol_2 %412
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %135 %main = OpFunction %void None %135
%417 = OpLabel %414 = OpLabel
%418 = OpLoad %v4float %tint_symbol %415 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %418 OpStore %gl_FragCoord %415
%419 = OpFunctionCall %void %main_1 %416 = OpFunctionCall %void %main_1
%421 = OpLoad %v4float %x_GLF_color %418 = OpLoad %v4float %x_GLF_color
%422 = OpCompositeConstruct %main_out %421 %419 = OpCompositeConstruct %main_out %418
%420 = OpFunctionCall %void %tint_symbol_3 %422 %417 = OpFunctionCall %void %tint_symbol_3 %419
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 212[%212] is not post dominated by the back-edge block 262[%262]
%262 = OpLabel

View File

@ -1,12 +1,10 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 425 ; Bound: 418
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%187 = OpExtInstImport "GLSL.std.450" %183 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
@ -99,12 +97,12 @@ SKIP: FAILED
%float_256 = OpConstant %float 256 %float_256 = OpConstant %float 256
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%int_10 = OpConstant %int 10 %int_10 = OpConstant %int 10
%142 = OpTypeFunction %void %138 = OpTypeFunction %void
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9 %int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2 %int_2 = OpConstant %int 2
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%211 = OpConstantNull %float %207 = OpConstantNull %float
%uint_0 = OpConstant %uint 0 %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%int_n5 = OpConstant %int -5 %int_n5 = OpConstant %int -5
@ -133,7 +131,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%412 = OpTypeFunction %void %main_out %405 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26 %merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -160,138 +158,128 @@ SKIP: FAILED
%54 = OpLoad %int %j %54 = OpLoad %int %j
%56 = OpLoad %int %to %56 = OpLoad %int %to
%57 = OpSLessThanEqual %bool %51 %53 %57 = OpSLessThanEqual %bool %51 %53
OpSelectionMerge %59 None %59 = OpSLessThanEqual %bool %54 %56
OpBranchConditional %57 %60 %59 %60 = OpLogicalAnd %bool %57 %59
%60 = OpLabel OpSelectionMerge %61 None
%61 = OpSLessThanEqual %bool %54 %56 OpBranchConditional %60 %62 %63
OpBranch %59 %62 = OpLabel
%59 = OpLabel OpBranch %61
%62 = OpPhi %bool %57 %50 %61 %60
OpSelectionMerge %63 None
OpBranchConditional %62 %64 %65
%64 = OpLabel
OpBranch %63
%65 = OpLabel
OpBranch %48
%63 = OpLabel %63 = OpLabel
%66 = OpLoad %int %i OpBranch %48
%68 = OpAccessChain %_ptr_Private_int %data %66 %61 = OpLabel
%69 = OpLoad %int %68 %64 = OpLoad %int %i
%70 = OpLoad %int %j %66 = OpAccessChain %_ptr_Private_int %data %64
%71 = OpAccessChain %_ptr_Private_int %data %70 %67 = OpLoad %int %66
%72 = OpLoad %int %71 %68 = OpLoad %int %j
%73 = OpSLessThan %bool %69 %72 %69 = OpAccessChain %_ptr_Private_int %data %68
OpSelectionMerge %74 None %70 = OpLoad %int %69
OpBranchConditional %73 %75 %76 %71 = OpSLessThan %bool %67 %70
%75 = OpLabel OpSelectionMerge %72 None
%77 = OpLoad %int %k OpBranchConditional %71 %73 %74
%73 = OpLabel
%75 = OpLoad %int %k
%76 = OpIAdd %int %75 %int_1
OpStore %k %76
%77 = OpLoad %int %i
%78 = OpIAdd %int %77 %int_1 %78 = OpIAdd %int %77 %int_1
OpStore %k %78 OpStore %i %78
%79 = OpLoad %int %i %79 = OpAccessChain %_ptr_Private_int %data %77
%80 = OpIAdd %int %79 %int_1 %80 = OpLoad %int %79
OpStore %i %80 %81 = OpAccessChain %_ptr_Private_int %temp %75
%81 = OpAccessChain %_ptr_Private_int %data %79 OpStore %81 %80
%82 = OpLoad %int %81 OpBranch %72
%83 = OpAccessChain %_ptr_Private_int %temp %77
OpStore %83 %82
OpBranch %74
%76 = OpLabel
%84 = OpLoad %int %k
%85 = OpIAdd %int %84 %int_1
OpStore %k %85
%86 = OpLoad %int %j
%87 = OpIAdd %int %86 %int_1
OpStore %j %87
%88 = OpAccessChain %_ptr_Private_int %data %86
%89 = OpLoad %int %88
%90 = OpAccessChain %_ptr_Private_int %temp %84
OpStore %90 %89
OpBranch %74
%74 = OpLabel %74 = OpLabel
%82 = OpLoad %int %k
%83 = OpIAdd %int %82 %int_1
OpStore %k %83
%84 = OpLoad %int %j
%85 = OpIAdd %int %84 %int_1
OpStore %j %85
%86 = OpAccessChain %_ptr_Private_int %data %84
%87 = OpLoad %int %86
%88 = OpAccessChain %_ptr_Private_int %temp %82
OpStore %88 %87
OpBranch %72
%72 = OpLabel
OpBranch %49 OpBranch %49
%49 = OpLabel %49 = OpLabel
OpBranch %47 OpBranch %47
%48 = OpLabel %48 = OpLabel
OpBranch %89
%89 = OpLabel
OpLoopMerge %90 %91 None
OpBranch %92
%92 = OpLabel
%96 = OpFOrdLessThan %bool %float_256 %float_1
%93 = OpLogicalNot %bool %96
OpSelectionMerge %97 None
OpBranchConditional %93 %98 %99
%98 = OpLabel
OpBranch %97
%99 = OpLabel
OpBranch %91
%97 = OpLabel
%100 = OpLoad %int %i
%101 = OpLoad %int %i
%103 = OpLoad %int %mid
%105 = OpSLessThan %bool %100 %int_10
%106 = OpSLessThanEqual %bool %101 %103
%107 = OpLogicalAnd %bool %105 %106
OpSelectionMerge %108 None
OpBranchConditional %107 %109 %110
%109 = OpLabel
OpBranch %108
%110 = OpLabel
OpBranch %90
%108 = OpLabel
%111 = OpLoad %int %k
%112 = OpIAdd %int %111 %int_1
OpStore %k %112
%113 = OpLoad %int %i
%114 = OpIAdd %int %113 %int_1
OpStore %i %114
%115 = OpAccessChain %_ptr_Private_int %data %113
%116 = OpLoad %int %115
%117 = OpAccessChain %_ptr_Private_int %temp %111
OpStore %117 %116
OpBranch %91 OpBranch %91
%91 = OpLabel %91 = OpLabel
OpLoopMerge %92 %93 None OpBranch %89
OpBranch %94 %90 = OpLabel
%94 = OpLabel %119 = OpLoad %int %from
%98 = OpFOrdLessThan %bool %float_256 %float_1 OpStore %i_1 %119
%95 = OpLogicalNot %bool %98 OpBranch %120
OpSelectionMerge %99 None %120 = OpLabel
OpBranchConditional %95 %100 %101 OpLoopMerge %121 %122 None
%100 = OpLabel OpBranch %123
OpBranch %99 %123 = OpLabel
%101 = OpLabel %124 = OpLoad %int %i_1
OpBranch %93 %126 = OpLoad %int %to
%99 = OpLabel %127 = OpSLessThanEqual %bool %124 %126
%102 = OpLoad %int %i OpSelectionMerge %128 None
%103 = OpLoad %int %i OpBranchConditional %127 %129 %130
%105 = OpLoad %int %mid %129 = OpLabel
%107 = OpSLessThan %bool %102 %int_10 OpBranch %128
OpSelectionMerge %108 None %130 = OpLabel
OpBranchConditional %107 %109 %108 OpBranch %121
%109 = OpLabel %128 = OpLabel
%110 = OpSLessThanEqual %bool %103 %105 %131 = OpLoad %int %i_1
OpBranch %108 %132 = OpLoad %int %i_1
%108 = OpLabel %133 = OpAccessChain %_ptr_Private_int %temp %132
%111 = OpPhi %bool %107 %99 %110 %109 %134 = OpLoad %int %133
OpSelectionMerge %112 None %135 = OpAccessChain %_ptr_Private_int %data %131
OpBranchConditional %111 %113 %114 OpStore %135 %134
%113 = OpLabel OpBranch %122
OpBranch %112 %122 = OpLabel
%114 = OpLabel
OpBranch %92
%112 = OpLabel
%115 = OpLoad %int %k
%116 = OpIAdd %int %115 %int_1
OpStore %k %116
%117 = OpLoad %int %i
%118 = OpIAdd %int %117 %int_1
OpStore %i %118
%119 = OpAccessChain %_ptr_Private_int %data %117
%120 = OpLoad %int %119
%121 = OpAccessChain %_ptr_Private_int %temp %115
OpStore %121 %120
OpBranch %93
%93 = OpLabel
OpBranch %91
%92 = OpLabel
%123 = OpLoad %int %from
OpStore %i_1 %123
OpBranch %124
%124 = OpLabel
OpLoopMerge %125 %126 None
OpBranch %127
%127 = OpLabel
%128 = OpLoad %int %i_1
%130 = OpLoad %int %to
%131 = OpSLessThanEqual %bool %128 %130
OpSelectionMerge %132 None
OpBranchConditional %131 %133 %134
%133 = OpLabel
OpBranch %132
%134 = OpLabel
OpBranch %125
%132 = OpLabel
%135 = OpLoad %int %i_1
%136 = OpLoad %int %i_1 %136 = OpLoad %int %i_1
%137 = OpAccessChain %_ptr_Private_int %temp %136 %137 = OpIAdd %int %136 %int_1
%138 = OpLoad %int %137 OpStore %i_1 %137
%139 = OpAccessChain %_ptr_Private_int %data %135 OpBranch %120
OpStore %139 %138 %121 = OpLabel
OpBranch %126
%126 = OpLabel
%140 = OpLoad %int %i_1
%141 = OpIAdd %int %140 %int_1
OpStore %i_1 %141
OpBranch %124
%125 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%mergeSort_ = OpFunction %void None %142 %mergeSort_ = OpFunction %void None %138
%144 = OpLabel %140 = OpLabel
%low = OpVariable %_ptr_Function_int Function %35 %low = OpVariable %_ptr_Function_int Function %35
%high = OpVariable %_ptr_Function_int Function %35 %high = OpVariable %_ptr_Function_int Function %35
%m = OpVariable %_ptr_Function_int Function %35 %m = OpVariable %_ptr_Function_int Function %35
@ -305,366 +293,356 @@ SKIP: FAILED
OpStore %low %int_0 OpStore %low %int_0
OpStore %high %int_9 OpStore %high %int_9
OpStore %m %int_1 OpStore %m %int_1
OpBranch %157 OpBranch %153
%157 = OpLabel %153 = OpLabel
OpLoopMerge %158 %159 None OpLoopMerge %154 %155 None
OpBranch %156
%156 = OpLabel
%157 = OpLoad %int %m
%158 = OpLoad %int %high
%159 = OpSLessThanEqual %bool %157 %158
OpSelectionMerge %160 None
OpBranchConditional %159 %161 %162
%161 = OpLabel
OpBranch %160 OpBranch %160
%162 = OpLabel
OpBranch %154
%160 = OpLabel %160 = OpLabel
%161 = OpLoad %int %m %163 = OpLoad %int %low
%162 = OpLoad %int %high OpStore %i_2 %163
%163 = OpSLessThanEqual %bool %161 %162
OpSelectionMerge %164 None
OpBranchConditional %163 %165 %166
%165 = OpLabel
OpBranch %164 OpBranch %164
%166 = OpLabel
OpBranch %158
%164 = OpLabel %164 = OpLabel
%167 = OpLoad %int %low OpLoopMerge %165 %166 None
OpStore %i_2 %167 OpBranch %167
OpBranch %168 %167 = OpLabel
%168 = OpLabel %168 = OpLoad %int %i_2
OpLoopMerge %169 %170 None %169 = OpLoad %int %high
%170 = OpSLessThan %bool %168 %169
OpSelectionMerge %171 None
OpBranchConditional %170 %172 %173
%172 = OpLabel
OpBranch %171 OpBranch %171
%173 = OpLabel
OpBranch %165
%171 = OpLabel %171 = OpLabel
%172 = OpLoad %int %i_2 %174 = OpLoad %int %i_2
%173 = OpLoad %int %high OpStore %from_1 %174
%174 = OpSLessThan %bool %172 %173 %175 = OpLoad %int %i_2
OpSelectionMerge %175 None %176 = OpLoad %int %m
OpBranchConditional %174 %176 %177 %177 = OpIAdd %int %175 %176
%176 = OpLabel %178 = OpISub %int %177 %int_1
OpBranch %175 OpStore %mid_1 %178
%177 = OpLabel
OpBranch %169
%175 = OpLabel
%178 = OpLoad %int %i_2
OpStore %from_1 %178
%179 = OpLoad %int %i_2 %179 = OpLoad %int %i_2
%180 = OpLoad %int %m %180 = OpLoad %int %m
%181 = OpIAdd %int %179 %180 %181 = OpLoad %int %high
%182 = OpISub %int %181 %int_1 %185 = OpIMul %int %int_2 %180
OpStore %mid_1 %182 %186 = OpIAdd %int %179 %185
%183 = OpLoad %int %i_2 %187 = OpISub %int %186 %int_1
%184 = OpLoad %int %m %182 = OpExtInst %int %183 SMin %187 %181
%185 = OpLoad %int %high OpStore %to_1 %182
%189 = OpIMul %int %int_2 %184 %188 = OpLoad %int %from_1
%190 = OpIAdd %int %183 %189 OpStore %param %188
%191 = OpISub %int %190 %int_1 %189 = OpLoad %int %mid_1
%186 = OpExtInst %int %187 SMin %191 %185 OpStore %param_1 %189
OpStore %to_1 %186 %190 = OpLoad %int %to_1
%192 = OpLoad %int %from_1 OpStore %param_2 %190
OpStore %param %192 %191 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
%193 = OpLoad %int %mid_1 OpBranch %166
OpStore %param_1 %193 %166 = OpLabel
%194 = OpLoad %int %to_1 %195 = OpLoad %int %m
OpStore %param_2 %194 %196 = OpLoad %int %i_2
%195 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2 %197 = OpIMul %int %int_2 %195
OpBranch %170 %198 = OpIAdd %int %196 %197
%170 = OpLabel OpStore %i_2 %198
OpBranch %164
%165 = OpLabel
OpBranch %155
%155 = OpLabel
%199 = OpLoad %int %m %199 = OpLoad %int %m
%200 = OpLoad %int %i_2 %200 = OpIMul %int %int_2 %199
%201 = OpIMul %int %int_2 %199 OpStore %m %200
%202 = OpIAdd %int %200 %201 OpBranch %153
OpStore %i_2 %202 %154 = OpLabel
OpBranch %168
%169 = OpLabel
OpBranch %159
%159 = OpLabel
%203 = OpLoad %int %m
%204 = OpIMul %int %int_2 %203
OpStore %m %204
OpBranch %157
%158 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %142 %main_1 = OpFunction %void None %138
%206 = OpLabel %202 = OpLabel
%i_3 = OpVariable %_ptr_Function_int Function %35 %i_3 = OpVariable %_ptr_Function_int Function %35
%j_1 = OpVariable %_ptr_Function_int Function %35 %j_1 = OpVariable %_ptr_Function_int Function %35
%grey = OpVariable %_ptr_Function_float Function %211 %grey = OpVariable %_ptr_Function_float Function %207
%214 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %210 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%215 = OpLoad %float %214 %211 = OpLoad %float %210
%216 = OpConvertFToS %int %215 %212 = OpConvertFToS %int %211
OpStore %i_3 %216 OpStore %i_3 %212
OpBranch %217 OpBranch %213
%217 = OpLabel %213 = OpLabel
OpLoopMerge %218 %219 None OpLoopMerge %214 %215 None
OpBranch %220 OpBranch %216
%216 = OpLabel
%217 = OpLoad %int %i_3
OpSelectionMerge %218 None
OpSwitch %217 %219 9 %220 8 %221 7 %222 6 %223 5 %224 4 %225 3 %226 2 %227 1 %228 0 %229
%220 = OpLabel %220 = OpLabel
%221 = OpLoad %int %i_3 %230 = OpLoad %int %i_3
OpSelectionMerge %222 None %231 = OpAccessChain %_ptr_Private_int %data %230
OpSwitch %221 %223 9 %224 8 %225 7 %226 6 %227 5 %228 4 %229 3 %230 2 %231 1 %232 0 %233 OpStore %231 %int_n5
OpBranch %218
%221 = OpLabel
%233 = OpLoad %int %i_3
%234 = OpAccessChain %_ptr_Private_int %data %233
OpStore %234 %int_n4
OpBranch %218
%222 = OpLabel
%236 = OpLoad %int %i_3
%237 = OpAccessChain %_ptr_Private_int %data %236
OpStore %237 %int_n3
OpBranch %218
%223 = OpLabel
%239 = OpLoad %int %i_3
%240 = OpAccessChain %_ptr_Private_int %data %239
OpStore %240 %int_n2
OpBranch %218
%224 = OpLabel %224 = OpLabel
%234 = OpLoad %int %i_3 %242 = OpLoad %int %i_3
%235 = OpAccessChain %_ptr_Private_int %data %234 %243 = OpAccessChain %_ptr_Private_int %data %242
OpStore %235 %int_n5 OpStore %243 %int_n1
OpBranch %222 OpBranch %218
%225 = OpLabel %225 = OpLabel
%237 = OpLoad %int %i_3 %245 = OpLoad %int %i_3
%238 = OpAccessChain %_ptr_Private_int %data %237 %246 = OpAccessChain %_ptr_Private_int %data %245
OpStore %238 %int_n4 OpStore %246 %int_0
OpBranch %222 OpBranch %218
%226 = OpLabel %226 = OpLabel
%240 = OpLoad %int %i_3 %247 = OpLoad %int %i_3
%241 = OpAccessChain %_ptr_Private_int %data %240 %248 = OpAccessChain %_ptr_Private_int %data %247
OpStore %241 %int_n3 OpStore %248 %int_1
OpBranch %222 OpBranch %218
%227 = OpLabel %227 = OpLabel
%243 = OpLoad %int %i_3
%244 = OpAccessChain %_ptr_Private_int %data %243
OpStore %244 %int_n2
OpBranch %222
%228 = OpLabel
%246 = OpLoad %int %i_3
%247 = OpAccessChain %_ptr_Private_int %data %246
OpStore %247 %int_n1
OpBranch %222
%229 = OpLabel
%249 = OpLoad %int %i_3 %249 = OpLoad %int %i_3
%250 = OpAccessChain %_ptr_Private_int %data %249 %250 = OpAccessChain %_ptr_Private_int %data %249
OpStore %250 %int_0 OpStore %250 %int_2
OpBranch %222 OpBranch %218
%230 = OpLabel %228 = OpLabel
%251 = OpLoad %int %i_3 %251 = OpLoad %int %i_3
%252 = OpAccessChain %_ptr_Private_int %data %251 %252 = OpAccessChain %_ptr_Private_int %data %251
OpStore %252 %int_1 OpStore %252 %int_3
OpBranch %222 OpBranch %218
%231 = OpLabel %229 = OpLabel
%253 = OpLoad %int %i_3 %254 = OpLoad %int %i_3
%254 = OpAccessChain %_ptr_Private_int %data %253 %255 = OpAccessChain %_ptr_Private_int %data %254
OpStore %254 %int_2 OpStore %255 %int_4
OpBranch %222 OpBranch %218
%232 = OpLabel %219 = OpLabel
%255 = OpLoad %int %i_3
%256 = OpAccessChain %_ptr_Private_int %data %255
OpStore %256 %int_3
OpBranch %222
%233 = OpLabel
%258 = OpLoad %int %i_3
%259 = OpAccessChain %_ptr_Private_int %data %258
OpStore %259 %int_4
OpBranch %222
%223 = OpLabel
OpBranch %222
%222 = OpLabel
%261 = OpLoad %int %i_3
%262 = OpIAdd %int %261 %int_1
OpStore %i_3 %262
OpBranch %219
%219 = OpLabel
%263 = OpLoad %int %i_3
%264 = OpSLessThan %bool %263 %int_10
OpSelectionMerge %265 None
OpBranchConditional %264 %266 %267
%266 = OpLabel
OpBranch %265
%267 = OpLabel
OpBranch %218 OpBranch %218
%265 = OpLabel
OpBranch %217
%218 = OpLabel %218 = OpLabel
%257 = OpLoad %int %i_3
%258 = OpIAdd %int %257 %int_1
OpStore %i_3 %258
OpBranch %215
%215 = OpLabel
%259 = OpLoad %int %i_3
%260 = OpSLessThan %bool %259 %int_10
OpBranchConditional %260 %213 %214
%214 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %268 OpBranch %261
%261 = OpLabel
OpLoopMerge %262 %263 None
OpBranch %264
%264 = OpLabel
%265 = OpLoad %int %j_1
%266 = OpSLessThan %bool %265 %int_10
OpSelectionMerge %267 None
OpBranchConditional %266 %268 %269
%268 = OpLabel %268 = OpLabel
OpLoopMerge %269 %270 None OpBranch %267
OpBranch %271
%271 = OpLabel
%272 = OpLoad %int %j_1
%273 = OpSLessThan %bool %272 %int_10
OpSelectionMerge %274 None
OpBranchConditional %273 %275 %276
%275 = OpLabel
OpBranch %274
%276 = OpLabel
OpBranch %269
%274 = OpLabel
%277 = OpLoad %int %j_1
%278 = OpLoad %int %j_1
%279 = OpAccessChain %_ptr_Private_int %data %278
%280 = OpLoad %int %279
%281 = OpAccessChain %_ptr_Private_int %temp %277
OpStore %281 %280
OpBranch %270
%270 = OpLabel
%282 = OpLoad %int %j_1
%283 = OpIAdd %int %282 %int_1
OpStore %j_1 %283
OpBranch %268
%269 = OpLabel %269 = OpLabel
%284 = OpFunctionCall %void %mergeSort_ OpBranch %262
%287 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %267 = OpLabel
%288 = OpLoad %float %287 %270 = OpLoad %int %j_1
%289 = OpConvertFToS %int %288 %271 = OpLoad %int %j_1
%291 = OpSLessThan %bool %289 %int_30 %272 = OpAccessChain %_ptr_Private_int %data %271
OpSelectionMerge %292 None %273 = OpLoad %int %272
OpBranchConditional %291 %293 %294 %274 = OpAccessChain %_ptr_Private_int %temp %270
%293 = OpLabel OpStore %274 %273
%295 = OpAccessChain %_ptr_Private_int %data %int_0 OpBranch %263
%296 = OpLoad %int %295 %263 = OpLabel
%298 = OpConvertSToF %float %296 %275 = OpLoad %int %j_1
%300 = OpFDiv %float %298 %float_10 %276 = OpIAdd %int %275 %int_1
%301 = OpFAdd %float %float_0_5 %300 OpStore %j_1 %276
OpStore %grey %301 OpBranch %261
OpBranch %292 %262 = OpLabel
%294 = OpLabel %277 = OpFunctionCall %void %mergeSort_
%302 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %280 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%303 = OpLoad %float %302 %281 = OpLoad %float %280
%304 = OpConvertFToS %int %303 %282 = OpConvertFToS %int %281
%306 = OpSLessThan %bool %304 %int_60 %284 = OpSLessThan %bool %282 %int_30
OpSelectionMerge %307 None OpSelectionMerge %285 None
OpBranchConditional %306 %308 %309 OpBranchConditional %284 %286 %287
%308 = OpLabel %286 = OpLabel
%310 = OpAccessChain %_ptr_Private_int %data %int_1 %288 = OpAccessChain %_ptr_Private_int %data %int_0
%311 = OpLoad %int %310 %289 = OpLoad %int %288
%312 = OpConvertSToF %float %311 %291 = OpConvertSToF %float %289
%313 = OpFDiv %float %312 %float_10 %293 = OpFDiv %float %291 %float_10
%314 = OpFAdd %float %float_0_5 %313 %294 = OpFAdd %float %float_0_5 %293
OpStore %grey %314 OpStore %grey %294
OpBranch %307 OpBranch %285
%309 = OpLabel %287 = OpLabel
%315 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %295 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%316 = OpLoad %float %315 %296 = OpLoad %float %295
%317 = OpConvertFToS %int %316 %297 = OpConvertFToS %int %296
%319 = OpSLessThan %bool %317 %int_90 %299 = OpSLessThan %bool %297 %int_60
OpSelectionMerge %320 None OpSelectionMerge %300 None
OpBranchConditional %319 %321 %322 OpBranchConditional %299 %301 %302
%321 = OpLabel %301 = OpLabel
%323 = OpAccessChain %_ptr_Private_int %data %int_2 %303 = OpAccessChain %_ptr_Private_int %data %int_1
%324 = OpLoad %int %323 %304 = OpLoad %int %303
%325 = OpConvertSToF %float %324 %305 = OpConvertSToF %float %304
%326 = OpFDiv %float %325 %float_10 %306 = OpFDiv %float %305 %float_10
%327 = OpFAdd %float %float_0_5 %326 %307 = OpFAdd %float %float_0_5 %306
OpStore %grey %327 OpStore %grey %307
OpBranch %320 OpBranch %300
%322 = OpLabel %302 = OpLabel
%328 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %308 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%329 = OpLoad %float %328 %309 = OpLoad %float %308
%330 = OpConvertFToS %int %329 %310 = OpConvertFToS %int %309
%332 = OpSLessThan %bool %330 %int_120 %312 = OpSLessThan %bool %310 %int_90
OpSelectionMerge %333 None OpSelectionMerge %313 None
OpBranchConditional %332 %334 %335 OpBranchConditional %312 %314 %315
%334 = OpLabel %314 = OpLabel
%336 = OpAccessChain %_ptr_Private_int %data %int_3 %316 = OpAccessChain %_ptr_Private_int %data %int_2
%337 = OpLoad %int %336 %317 = OpLoad %int %316
%338 = OpConvertSToF %float %337 %318 = OpConvertSToF %float %317
%339 = OpFDiv %float %338 %float_10 %319 = OpFDiv %float %318 %float_10
%340 = OpFAdd %float %float_0_5 %339 %320 = OpFAdd %float %float_0_5 %319
OpStore %grey %340 OpStore %grey %320
OpBranch %333 OpBranch %313
%335 = OpLabel %315 = OpLabel
%341 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %321 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%342 = OpLoad %float %341 %322 = OpLoad %float %321
%343 = OpConvertFToS %int %342 %323 = OpConvertFToS %int %322
%345 = OpSLessThan %bool %343 %int_150 %325 = OpSLessThan %bool %323 %int_120
OpSelectionMerge %346 None OpSelectionMerge %326 None
OpBranchConditional %345 %347 %348 OpBranchConditional %325 %327 %328
%347 = OpLabel %327 = OpLabel
%329 = OpAccessChain %_ptr_Private_int %data %int_3
%330 = OpLoad %int %329
%331 = OpConvertSToF %float %330
%332 = OpFDiv %float %331 %float_10
%333 = OpFAdd %float %float_0_5 %332
OpStore %grey %333
OpBranch %326
%328 = OpLabel
%334 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%335 = OpLoad %float %334
%336 = OpConvertFToS %int %335
%338 = OpSLessThan %bool %336 %int_150
OpSelectionMerge %339 None
OpBranchConditional %338 %340 %341
%340 = OpLabel
OpKill OpKill
%341 = OpLabel
%342 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%343 = OpLoad %float %342
%344 = OpConvertFToS %int %343
%346 = OpSLessThan %bool %344 %int_180
OpSelectionMerge %347 None
OpBranchConditional %346 %348 %349
%348 = OpLabel %348 = OpLabel
%349 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %351 = OpAccessChain %_ptr_Private_int %data %int_5
%350 = OpLoad %float %349 %352 = OpLoad %int %351
%351 = OpConvertFToS %int %350 %353 = OpConvertSToF %float %352
%353 = OpSLessThan %bool %351 %int_180 %354 = OpFDiv %float %353 %float_10
OpSelectionMerge %354 None %355 = OpFAdd %float %float_0_5 %354
OpBranchConditional %353 %355 %356 OpStore %grey %355
%355 = OpLabel OpBranch %347
%358 = OpAccessChain %_ptr_Private_int %data %int_5 %349 = OpLabel
%359 = OpLoad %int %358 %356 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%360 = OpConvertSToF %float %359 %357 = OpLoad %float %356
%361 = OpFDiv %float %360 %float_10 %358 = OpConvertFToS %int %357
%362 = OpFAdd %float %float_0_5 %361 %360 = OpSLessThan %bool %358 %int_210
OpStore %grey %362 OpSelectionMerge %361 None
OpBranch %354 OpBranchConditional %360 %362 %363
%356 = OpLabel %362 = OpLabel
%363 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %365 = OpAccessChain %_ptr_Private_int %data %int_6
%364 = OpLoad %float %363 %366 = OpLoad %int %365
%365 = OpConvertFToS %int %364 %367 = OpConvertSToF %float %366
%367 = OpSLessThan %bool %365 %int_210 %368 = OpFDiv %float %367 %float_10
OpSelectionMerge %368 None %369 = OpFAdd %float %float_0_5 %368
OpBranchConditional %367 %369 %370 OpStore %grey %369
%369 = OpLabel OpBranch %361
%372 = OpAccessChain %_ptr_Private_int %data %int_6 %363 = OpLabel
%373 = OpLoad %int %372 %370 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%374 = OpConvertSToF %float %373 %371 = OpLoad %float %370
%375 = OpFDiv %float %374 %float_10 %372 = OpConvertFToS %int %371
%376 = OpFAdd %float %float_0_5 %375 %374 = OpSLessThan %bool %372 %int_240
OpStore %grey %376 OpSelectionMerge %375 None
OpBranch %368 OpBranchConditional %374 %376 %377
%370 = OpLabel %376 = OpLabel
%377 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %379 = OpAccessChain %_ptr_Private_int %data %int_7
%378 = OpLoad %float %377 %380 = OpLoad %int %379
%379 = OpConvertFToS %int %378 %381 = OpConvertSToF %float %380
%381 = OpSLessThan %bool %379 %int_240 %382 = OpFDiv %float %381 %float_10
OpSelectionMerge %382 None %383 = OpFAdd %float %float_0_5 %382
OpBranchConditional %381 %383 %384 OpStore %grey %383
%383 = OpLabel OpBranch %375
%386 = OpAccessChain %_ptr_Private_int %data %int_7 %377 = OpLabel
%387 = OpLoad %int %386 %384 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%388 = OpConvertSToF %float %387 %385 = OpLoad %float %384
%389 = OpFDiv %float %388 %float_10 %386 = OpConvertFToS %int %385
%390 = OpFAdd %float %float_0_5 %389 %388 = OpSLessThan %bool %386 %int_270
OpStore %grey %390 OpSelectionMerge %389 None
OpBranch %382 OpBranchConditional %388 %390 %391
%384 = OpLabel %390 = OpLabel
%391 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %393 = OpAccessChain %_ptr_Private_int %data %int_8
%392 = OpLoad %float %391 %394 = OpLoad %int %393
%393 = OpConvertFToS %int %392 %395 = OpConvertSToF %float %394
%395 = OpSLessThan %bool %393 %int_270 %396 = OpFDiv %float %395 %float_10
OpSelectionMerge %396 None %397 = OpFAdd %float %float_0_5 %396
OpBranchConditional %395 %397 %398 OpStore %grey %397
%397 = OpLabel OpBranch %389
%400 = OpAccessChain %_ptr_Private_int %data %int_8 %391 = OpLabel
%401 = OpLoad %int %400
%402 = OpConvertSToF %float %401
%403 = OpFDiv %float %402 %float_10
%404 = OpFAdd %float %float_0_5 %403
OpStore %grey %404
OpBranch %396
%398 = OpLabel
OpKill OpKill
%396 = OpLabel %389 = OpLabel
OpBranch %382 OpBranch %375
%382 = OpLabel %375 = OpLabel
OpBranch %368 OpBranch %361
%368 = OpLabel %361 = OpLabel
OpBranch %354 OpBranch %347
%354 = OpLabel %347 = OpLabel
OpBranch %346 OpBranch %339
%346 = OpLabel %339 = OpLabel
OpBranch %333 OpBranch %326
%333 = OpLabel %326 = OpLabel
OpBranch %320 OpBranch %313
%320 = OpLabel %313 = OpLabel
OpBranch %307 OpBranch %300
%307 = OpLabel %300 = OpLabel
OpBranch %292 OpBranch %285
%292 = OpLabel %285 = OpLabel
%405 = OpLoad %float %grey %398 = OpLoad %float %grey
%407 = OpCompositeConstruct %v3float %405 %405 %405 %400 = OpCompositeConstruct %v3float %398 %398 %398
%408 = OpCompositeExtract %float %407 0 %401 = OpCompositeExtract %float %400 0
%409 = OpCompositeExtract %float %407 1 %402 = OpCompositeExtract %float %400 1
%410 = OpCompositeExtract %float %407 2 %403 = OpCompositeExtract %float %400 2
%411 = OpCompositeConstruct %v4float %408 %409 %410 %float_1 %404 = OpCompositeConstruct %v4float %401 %402 %403 %float_1
OpStore %x_GLF_color %411 OpStore %x_GLF_color %404
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %412 %tint_symbol_3 = OpFunction %void None %405
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%416 = OpLabel %409 = OpLabel
%417 = OpCompositeExtract %v4float %tint_symbol_1 0 %410 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %417 OpStore %tint_symbol_2 %410
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %142 %main = OpFunction %void None %138
%419 = OpLabel %412 = OpLabel
%420 = OpLoad %v4float %tint_symbol %413 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %420 OpStore %gl_FragCoord %413
%421 = OpFunctionCall %void %main_1 %414 = OpFunctionCall %void %main_1
%423 = OpLoad %v4float %x_GLF_color %416 = OpLoad %v4float %x_GLF_color
%424 = OpCompositeConstruct %main_out %423 %417 = OpCompositeConstruct %main_out %416
%422 = OpFunctionCall %void %tint_symbol_3 %424 %415 = OpFunctionCall %void %tint_symbol_3 %417
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 219[%219] is not post dominated by the back-edge block 265[%265]
%265 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 425 ; Bound: 422
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%187 = OpExtInstImport "GLSL.std.450" %187 = OpExtInstImport "GLSL.std.450"
@ -133,7 +131,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%412 = OpTypeFunction %void %main_out %409 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26 %merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -454,217 +452,207 @@ SKIP: FAILED
%219 = OpLabel %219 = OpLabel
%263 = OpLoad %int %i_3 %263 = OpLoad %int %i_3
%264 = OpSLessThan %bool %263 %int_10 %264 = OpSLessThan %bool %263 %int_10
OpSelectionMerge %265 None OpBranchConditional %264 %217 %218
OpBranchConditional %264 %266 %267
%266 = OpLabel
OpBranch %265
%267 = OpLabel
OpBranch %218
%265 = OpLabel
OpBranch %217
%218 = OpLabel %218 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %265
%265 = OpLabel
OpLoopMerge %266 %267 None
OpBranch %268 OpBranch %268
%268 = OpLabel %268 = OpLabel
OpLoopMerge %269 %270 None %269 = OpLoad %int %j_1
%270 = OpSLessThan %bool %269 %int_10
OpSelectionMerge %271 None
OpBranchConditional %270 %272 %273
%272 = OpLabel
OpBranch %271 OpBranch %271
%273 = OpLabel
OpBranch %266
%271 = OpLabel %271 = OpLabel
%272 = OpLoad %int %j_1 %274 = OpLoad %int %j_1
%273 = OpSLessThan %bool %272 %int_10 %275 = OpLoad %int %j_1
OpSelectionMerge %274 None %276 = OpAccessChain %_ptr_Private_int %data %275
OpBranchConditional %273 %275 %276 %277 = OpLoad %int %276
%275 = OpLabel %278 = OpAccessChain %_ptr_Private_int %temp %274
OpBranch %274 OpStore %278 %277
%276 = OpLabel OpBranch %267
OpBranch %269 %267 = OpLabel
%274 = OpLabel %279 = OpLoad %int %j_1
%277 = OpLoad %int %j_1 %280 = OpIAdd %int %279 %int_1
%278 = OpLoad %int %j_1 OpStore %j_1 %280
%279 = OpAccessChain %_ptr_Private_int %data %278 OpBranch %265
%280 = OpLoad %int %279 %266 = OpLabel
%281 = OpAccessChain %_ptr_Private_int %temp %277 %281 = OpFunctionCall %void %mergeSort_
OpStore %281 %280 %284 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %270 %285 = OpLoad %float %284
%270 = OpLabel %286 = OpConvertFToS %int %285
%282 = OpLoad %int %j_1 %288 = OpSLessThan %bool %286 %int_30
%283 = OpIAdd %int %282 %int_1 OpSelectionMerge %289 None
OpStore %j_1 %283 OpBranchConditional %288 %290 %291
OpBranch %268 %290 = OpLabel
%269 = OpLabel %292 = OpAccessChain %_ptr_Private_int %data %int_0
%284 = OpFunctionCall %void %mergeSort_ %293 = OpLoad %int %292
%287 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %295 = OpConvertSToF %float %293
%288 = OpLoad %float %287 %297 = OpFDiv %float %295 %float_10
%289 = OpConvertFToS %int %288 %298 = OpFAdd %float %float_0_5 %297
%291 = OpSLessThan %bool %289 %int_30 OpStore %grey %298
OpSelectionMerge %292 None OpBranch %289
OpBranchConditional %291 %293 %294 %291 = OpLabel
%293 = OpLabel %299 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%295 = OpAccessChain %_ptr_Private_int %data %int_0 %300 = OpLoad %float %299
%296 = OpLoad %int %295 %301 = OpConvertFToS %int %300
%298 = OpConvertSToF %float %296 %303 = OpSLessThan %bool %301 %int_60
%300 = OpFDiv %float %298 %float_10 OpSelectionMerge %304 None
%301 = OpFAdd %float %float_0_5 %300 OpBranchConditional %303 %305 %306
OpStore %grey %301 %305 = OpLabel
OpBranch %292 %307 = OpAccessChain %_ptr_Private_int %data %int_1
%294 = OpLabel %308 = OpLoad %int %307
%302 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %309 = OpConvertSToF %float %308
%303 = OpLoad %float %302 %310 = OpFDiv %float %309 %float_10
%304 = OpConvertFToS %int %303 %311 = OpFAdd %float %float_0_5 %310
%306 = OpSLessThan %bool %304 %int_60 OpStore %grey %311
OpSelectionMerge %307 None OpBranch %304
OpBranchConditional %306 %308 %309 %306 = OpLabel
%308 = OpLabel %312 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%310 = OpAccessChain %_ptr_Private_int %data %int_1 %313 = OpLoad %float %312
%311 = OpLoad %int %310 %314 = OpConvertFToS %int %313
%312 = OpConvertSToF %float %311 %316 = OpSLessThan %bool %314 %int_90
%313 = OpFDiv %float %312 %float_10 OpSelectionMerge %317 None
%314 = OpFAdd %float %float_0_5 %313 OpBranchConditional %316 %318 %319
OpStore %grey %314 %318 = OpLabel
OpBranch %307 %320 = OpAccessChain %_ptr_Private_int %data %int_2
%309 = OpLabel %321 = OpLoad %int %320
%315 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %322 = OpConvertSToF %float %321
%316 = OpLoad %float %315 %323 = OpFDiv %float %322 %float_10
%317 = OpConvertFToS %int %316 %324 = OpFAdd %float %float_0_5 %323
%319 = OpSLessThan %bool %317 %int_90 OpStore %grey %324
OpSelectionMerge %320 None OpBranch %317
OpBranchConditional %319 %321 %322 %319 = OpLabel
%321 = OpLabel %325 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%323 = OpAccessChain %_ptr_Private_int %data %int_2 %326 = OpLoad %float %325
%324 = OpLoad %int %323 %327 = OpConvertFToS %int %326
%325 = OpConvertSToF %float %324 %329 = OpSLessThan %bool %327 %int_120
%326 = OpFDiv %float %325 %float_10 OpSelectionMerge %330 None
%327 = OpFAdd %float %float_0_5 %326 OpBranchConditional %329 %331 %332
OpStore %grey %327 %331 = OpLabel
OpBranch %320 %333 = OpAccessChain %_ptr_Private_int %data %int_3
%322 = OpLabel %334 = OpLoad %int %333
%328 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %335 = OpConvertSToF %float %334
%329 = OpLoad %float %328 %336 = OpFDiv %float %335 %float_10
%330 = OpConvertFToS %int %329 %337 = OpFAdd %float %float_0_5 %336
%332 = OpSLessThan %bool %330 %int_120 OpStore %grey %337
OpSelectionMerge %333 None OpBranch %330
OpBranchConditional %332 %334 %335 %332 = OpLabel
%334 = OpLabel %338 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%336 = OpAccessChain %_ptr_Private_int %data %int_3 %339 = OpLoad %float %338
%337 = OpLoad %int %336 %340 = OpConvertFToS %int %339
%338 = OpConvertSToF %float %337 %342 = OpSLessThan %bool %340 %int_150
%339 = OpFDiv %float %338 %float_10 OpSelectionMerge %343 None
%340 = OpFAdd %float %float_0_5 %339 OpBranchConditional %342 %344 %345
OpStore %grey %340 %344 = OpLabel
OpBranch %333
%335 = OpLabel
%341 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%342 = OpLoad %float %341
%343 = OpConvertFToS %int %342
%345 = OpSLessThan %bool %343 %int_150
OpSelectionMerge %346 None
OpBranchConditional %345 %347 %348
%347 = OpLabel
OpKill OpKill
%348 = OpLabel %345 = OpLabel
%349 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%350 = OpLoad %float %349 %347 = OpLoad %float %346
%351 = OpConvertFToS %int %350 %348 = OpConvertFToS %int %347
%353 = OpSLessThan %bool %351 %int_180 %350 = OpSLessThan %bool %348 %int_180
OpSelectionMerge %354 None OpSelectionMerge %351 None
OpBranchConditional %353 %355 %356 OpBranchConditional %350 %352 %353
%355 = OpLabel %352 = OpLabel
%358 = OpAccessChain %_ptr_Private_int %data %int_5 %355 = OpAccessChain %_ptr_Private_int %data %int_5
%359 = OpLoad %int %358 %356 = OpLoad %int %355
%360 = OpConvertSToF %float %359 %357 = OpConvertSToF %float %356
%361 = OpFDiv %float %360 %float_10 %358 = OpFDiv %float %357 %float_10
%362 = OpFAdd %float %float_0_5 %361 %359 = OpFAdd %float %float_0_5 %358
OpStore %grey %362 OpStore %grey %359
OpBranch %354 OpBranch %351
%356 = OpLabel %353 = OpLabel
%363 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%364 = OpLoad %float %363 %361 = OpLoad %float %360
%365 = OpConvertFToS %int %364 %362 = OpConvertFToS %int %361
%367 = OpSLessThan %bool %365 %int_210 %364 = OpSLessThan %bool %362 %int_210
OpSelectionMerge %368 None OpSelectionMerge %365 None
OpBranchConditional %367 %369 %370 OpBranchConditional %364 %366 %367
%369 = OpLabel %366 = OpLabel
%372 = OpAccessChain %_ptr_Private_int %data %int_6 %369 = OpAccessChain %_ptr_Private_int %data %int_6
%373 = OpLoad %int %372 %370 = OpLoad %int %369
%374 = OpConvertSToF %float %373 %371 = OpConvertSToF %float %370
%375 = OpFDiv %float %374 %float_10 %372 = OpFDiv %float %371 %float_10
%376 = OpFAdd %float %float_0_5 %375 %373 = OpFAdd %float %float_0_5 %372
OpStore %grey %376 OpStore %grey %373
OpBranch %368 OpBranch %365
%370 = OpLabel %367 = OpLabel
%377 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%378 = OpLoad %float %377 %375 = OpLoad %float %374
%379 = OpConvertFToS %int %378 %376 = OpConvertFToS %int %375
%381 = OpSLessThan %bool %379 %int_240 %378 = OpSLessThan %bool %376 %int_240
OpSelectionMerge %382 None OpSelectionMerge %379 None
OpBranchConditional %381 %383 %384 OpBranchConditional %378 %380 %381
%383 = OpLabel %380 = OpLabel
%386 = OpAccessChain %_ptr_Private_int %data %int_7 %383 = OpAccessChain %_ptr_Private_int %data %int_7
%387 = OpLoad %int %386 %384 = OpLoad %int %383
%388 = OpConvertSToF %float %387 %385 = OpConvertSToF %float %384
%389 = OpFDiv %float %388 %float_10 %386 = OpFDiv %float %385 %float_10
%390 = OpFAdd %float %float_0_5 %389 %387 = OpFAdd %float %float_0_5 %386
OpStore %grey %390 OpStore %grey %387
OpBranch %382 OpBranch %379
%384 = OpLabel %381 = OpLabel
%391 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %388 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%392 = OpLoad %float %391 %389 = OpLoad %float %388
%393 = OpConvertFToS %int %392 %390 = OpConvertFToS %int %389
%395 = OpSLessThan %bool %393 %int_270 %392 = OpSLessThan %bool %390 %int_270
OpSelectionMerge %396 None OpSelectionMerge %393 None
OpBranchConditional %395 %397 %398 OpBranchConditional %392 %394 %395
%397 = OpLabel %394 = OpLabel
%400 = OpAccessChain %_ptr_Private_int %data %int_8 %397 = OpAccessChain %_ptr_Private_int %data %int_8
%401 = OpLoad %int %400 %398 = OpLoad %int %397
%402 = OpConvertSToF %float %401 %399 = OpConvertSToF %float %398
%403 = OpFDiv %float %402 %float_10 %400 = OpFDiv %float %399 %float_10
%404 = OpFAdd %float %float_0_5 %403 %401 = OpFAdd %float %float_0_5 %400
OpStore %grey %404 OpStore %grey %401
OpBranch %396 OpBranch %393
%398 = OpLabel %395 = OpLabel
OpKill OpKill
%396 = OpLabel %393 = OpLabel
OpBranch %382 OpBranch %379
%382 = OpLabel %379 = OpLabel
OpBranch %368 OpBranch %365
%368 = OpLabel %365 = OpLabel
OpBranch %354 OpBranch %351
%354 = OpLabel %351 = OpLabel
OpBranch %346 OpBranch %343
%346 = OpLabel %343 = OpLabel
OpBranch %333 OpBranch %330
%333 = OpLabel %330 = OpLabel
OpBranch %320 OpBranch %317
%320 = OpLabel %317 = OpLabel
OpBranch %307 OpBranch %304
%307 = OpLabel %304 = OpLabel
OpBranch %292 OpBranch %289
%292 = OpLabel %289 = OpLabel
%405 = OpLoad %float %grey %402 = OpLoad %float %grey
%407 = OpCompositeConstruct %v3float %405 %405 %405 %404 = OpCompositeConstruct %v3float %402 %402 %402
%408 = OpCompositeExtract %float %407 0 %405 = OpCompositeExtract %float %404 0
%409 = OpCompositeExtract %float %407 1 %406 = OpCompositeExtract %float %404 1
%410 = OpCompositeExtract %float %407 2 %407 = OpCompositeExtract %float %404 2
%411 = OpCompositeConstruct %v4float %408 %409 %410 %float_1 %408 = OpCompositeConstruct %v4float %405 %406 %407 %float_1
OpStore %x_GLF_color %411 OpStore %x_GLF_color %408
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %412 %tint_symbol_3 = OpFunction %void None %409
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%416 = OpLabel %413 = OpLabel
%417 = OpCompositeExtract %v4float %tint_symbol_1 0 %414 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %417 OpStore %tint_symbol_2 %414
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %142 %main = OpFunction %void None %142
%419 = OpLabel %416 = OpLabel
%420 = OpLoad %v4float %tint_symbol %417 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %420 OpStore %gl_FragCoord %417
%421 = OpFunctionCall %void %main_1 %418 = OpFunctionCall %void %main_1
%423 = OpLoad %v4float %x_GLF_color %420 = OpLoad %v4float %x_GLF_color
%424 = OpCompositeConstruct %main_out %423 %421 = OpCompositeConstruct %main_out %420
%422 = OpFunctionCall %void %tint_symbol_3 %424 %419 = OpFunctionCall %void %tint_symbol_3 %421
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 219[%219] is not post dominated by the back-edge block 265[%265]
%265 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 548 ; Bound: 545
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -129,9 +127,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%528 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %528 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%534 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %531 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%535 = OpTypeFunction %void %main_out %532 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22 %main_1 = OpFunction %void None %22
%25 = OpLabel %25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28 %pos = OpVariable %_ptr_Function_v2float Function %28
@ -826,35 +824,25 @@ SKIP: FAILED
OpBranch %87 OpBranch %87
%87 = OpLabel %87 = OpLabel
%529 = OpLoad %bool %canwalk %529 = OpLoad %bool %canwalk
OpSelectionMerge %530 None OpBranchConditional %529 %85 %86
OpBranchConditional %529 %531 %532
%531 = OpLabel
OpBranch %530
%532 = OpLabel
OpBranch %86
%530 = OpLabel
OpBranch %85
%86 = OpLabel %86 = OpLabel
OpStore %x_GLF_color %534 OpStore %x_GLF_color %531
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %535 %tint_symbol_3 = OpFunction %void None %532
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%539 = OpLabel %536 = OpLabel
%540 = OpCompositeExtract %v4float %tint_symbol_1 0 %537 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %540 OpStore %tint_symbol_2 %537
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %22 %main = OpFunction %void None %22
%542 = OpLabel %539 = OpLabel
%543 = OpLoad %v4float %tint_symbol %540 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %543 OpStore %gl_FragCoord %540
%544 = OpFunctionCall %void %main_1 %541 = OpFunctionCall %void %main_1
%546 = OpLoad %v4float %x_GLF_color %543 = OpLoad %v4float %x_GLF_color
%547 = OpCompositeConstruct %main_out %546 %544 = OpCompositeConstruct %main_out %543
%545 = OpFunctionCall %void %tint_symbol_3 %547 %542 = OpFunctionCall %void %tint_symbol_3 %544
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 87[%87] is not post dominated by the back-edge block 530[%530]
%530 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 548 ; Bound: 545
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -129,9 +127,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%528 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %528 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%534 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %531 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%535 = OpTypeFunction %void %main_out %532 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22 %main_1 = OpFunction %void None %22
%25 = OpLabel %25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28 %pos = OpVariable %_ptr_Function_v2float Function %28
@ -826,35 +824,25 @@ SKIP: FAILED
OpBranch %87 OpBranch %87
%87 = OpLabel %87 = OpLabel
%529 = OpLoad %bool %canwalk %529 = OpLoad %bool %canwalk
OpSelectionMerge %530 None OpBranchConditional %529 %85 %86
OpBranchConditional %529 %531 %532
%531 = OpLabel
OpBranch %530
%532 = OpLabel
OpBranch %86
%530 = OpLabel
OpBranch %85
%86 = OpLabel %86 = OpLabel
OpStore %x_GLF_color %534 OpStore %x_GLF_color %531
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %535 %tint_symbol_3 = OpFunction %void None %532
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%539 = OpLabel %536 = OpLabel
%540 = OpCompositeExtract %v4float %tint_symbol_1 0 %537 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %540 OpStore %tint_symbol_2 %537
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %22 %main = OpFunction %void None %22
%542 = OpLabel %539 = OpLabel
%543 = OpLoad %v4float %tint_symbol %540 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %543 OpStore %gl_FragCoord %540
%544 = OpFunctionCall %void %main_1 %541 = OpFunctionCall %void %main_1
%546 = OpLoad %v4float %x_GLF_color %543 = OpLoad %v4float %x_GLF_color
%547 = OpCompositeConstruct %main_out %546 %544 = OpCompositeConstruct %main_out %543
%545 = OpFunctionCall %void %tint_symbol_3 %547 %542 = OpFunctionCall %void %tint_symbol_3 %544
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 87[%87] is not post dominated by the back-edge block 530[%530]
%530 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 512 ; Bound: 509
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -118,9 +116,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%492 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %492 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%498 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %495 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%499 = OpTypeFunction %void %main_out %496 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22 %main_1 = OpFunction %void None %22
%25 = OpLabel %25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28 %pos = OpVariable %_ptr_Function_v2float Function %28
@ -748,35 +746,25 @@ SKIP: FAILED
OpBranch %87 OpBranch %87
%87 = OpLabel %87 = OpLabel
%493 = OpLoad %bool %canwalk %493 = OpLoad %bool %canwalk
OpSelectionMerge %494 None OpBranchConditional %493 %85 %86
OpBranchConditional %493 %495 %496
%495 = OpLabel
OpBranch %494
%496 = OpLabel
OpBranch %86
%494 = OpLabel
OpBranch %85
%86 = OpLabel %86 = OpLabel
OpStore %x_GLF_color %498 OpStore %x_GLF_color %495
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %499 %tint_symbol_3 = OpFunction %void None %496
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%503 = OpLabel %500 = OpLabel
%504 = OpCompositeExtract %v4float %tint_symbol_1 0 %501 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %504 OpStore %tint_symbol_2 %501
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %22 %main = OpFunction %void None %22
%506 = OpLabel %503 = OpLabel
%507 = OpLoad %v4float %tint_symbol %504 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %507 OpStore %gl_FragCoord %504
%508 = OpFunctionCall %void %main_1 %505 = OpFunctionCall %void %main_1
%510 = OpLoad %v4float %x_GLF_color %507 = OpLoad %v4float %x_GLF_color
%511 = OpCompositeConstruct %main_out %510 %508 = OpCompositeConstruct %main_out %507
%509 = OpFunctionCall %void %tint_symbol_3 %511 %506 = OpFunctionCall %void %tint_symbol_3 %508
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 87[%87] is not post dominated by the back-edge block 494[%494]
%494 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 512 ; Bound: 509
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
@ -118,9 +116,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%492 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %492 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%498 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %495 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%499 = OpTypeFunction %void %main_out %496 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22 %main_1 = OpFunction %void None %22
%25 = OpLabel %25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28 %pos = OpVariable %_ptr_Function_v2float Function %28
@ -748,35 +746,25 @@ SKIP: FAILED
OpBranch %87 OpBranch %87
%87 = OpLabel %87 = OpLabel
%493 = OpLoad %bool %canwalk %493 = OpLoad %bool %canwalk
OpSelectionMerge %494 None OpBranchConditional %493 %85 %86
OpBranchConditional %493 %495 %496
%495 = OpLabel
OpBranch %494
%496 = OpLabel
OpBranch %86
%494 = OpLabel
OpBranch %85
%86 = OpLabel %86 = OpLabel
OpStore %x_GLF_color %498 OpStore %x_GLF_color %495
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %499 %tint_symbol_3 = OpFunction %void None %496
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%503 = OpLabel %500 = OpLabel
%504 = OpCompositeExtract %v4float %tint_symbol_1 0 %501 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %504 OpStore %tint_symbol_2 %501
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %22 %main = OpFunction %void None %22
%506 = OpLabel %503 = OpLabel
%507 = OpLoad %v4float %tint_symbol %504 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %507 OpStore %gl_FragCoord %504
%508 = OpFunctionCall %void %main_1 %505 = OpFunctionCall %void %main_1
%510 = OpLoad %v4float %x_GLF_color %507 = OpLoad %v4float %x_GLF_color
%511 = OpCompositeConstruct %main_out %510 %508 = OpCompositeConstruct %main_out %507
%509 = OpFunctionCall %void %tint_symbol_3 %511 %506 = OpFunctionCall %void %tint_symbol_3 %508
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 87[%87] is not post dominated by the back-edge block 494[%494]
%494 = OpLabel

View File

@ -1,12 +1,10 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 424 ; Bound: 417
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%169 = OpExtInstImport "GLSL.std.450" %166 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
@ -149,7 +147,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%411 = OpTypeFunction %void %main_out %404 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25 %temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25
@ -313,434 +311,414 @@ SKIP: FAILED
%44 = OpLabel %44 = OpLabel
OpStore %x_63_phi %113 OpStore %x_63_phi %113
%115 = OpSLessThan %bool %113 %int_10 %115 = OpSLessThan %bool %113 %int_10
OpSelectionMerge %117 None OpBranchConditional %115 %42 %43
OpBranchConditional %115 %118 %119
%118 = OpLabel
OpBranch %117
%119 = OpLabel
OpBranch %43
%117 = OpLabel
OpBranch %42
%43 = OpLabel %43 = OpLabel
OpStore %x_103_phi %int_0 OpStore %x_103_phi %int_0
OpBranch %117
%117 = OpLabel
OpLoopMerge %118 %119 None
OpBranch %120 OpBranch %120
%120 = OpLabel %120 = OpLabel
OpLoopMerge %121 %122 None %122 = OpLoad %int %x_103_phi
OpBranch %123 %123 = OpSLessThan %bool %122 %int_10
%123 = OpLabel OpSelectionMerge %124 None
%125 = OpLoad %int %x_103_phi OpBranchConditional %123 %125 %126
%126 = OpSLessThan %bool %125 %int_10 %125 = OpLabel
OpSelectionMerge %127 None OpBranch %124
OpBranchConditional %126 %128 %129 %126 = OpLabel
%128 = OpLabel OpBranch %118
OpBranch %127 %124 = OpLabel
%129 = OpLabel OpBranch %119
OpBranch %121 %119 = OpLabel
%127 = OpLabel %127 = OpAccessChain %_ptr_Function_int %data %122
OpBranch %122 %128 = OpLoad %int %127
%122 = OpLabel %129 = OpAccessChain %_ptr_Function_int %temp %122
%130 = OpAccessChain %_ptr_Function_int %data %125 OpStore %129 %128
%131 = OpLoad %int %130 %130 = OpIAdd %int %122 %int_1
%132 = OpAccessChain %_ptr_Function_int %temp %125 OpStore %x_104 %130
OpStore %132 %131 %131 = OpLoad %int %x_104
%133 = OpIAdd %int %125 %int_1 OpStore %x_103_phi %131
OpStore %x_104 %133 OpBranch %117
%134 = OpLoad %int %x_104 %118 = OpLabel
OpStore %x_103_phi %134
OpBranch %120
%121 = OpLabel
OpStore %x_112_phi %int_1 OpStore %x_112_phi %int_1
OpBranch %132
%132 = OpLabel
OpLoopMerge %133 %134 None
OpBranch %135 OpBranch %135
%135 = OpLabel %135 = OpLabel
OpLoopMerge %136 %137 None %138 = OpLoad %int %x_112_phi
OpBranch %138 %140 = OpSLessThanEqual %bool %138 %int_9
%138 = OpLabel OpSelectionMerge %141 None
%141 = OpLoad %int %x_112_phi OpBranchConditional %140 %142 %143
%143 = OpSLessThanEqual %bool %141 %int_9 %142 = OpLabel
OpSelectionMerge %144 None OpBranch %141
OpBranchConditional %143 %145 %146 %143 = OpLabel
%145 = OpLabel OpBranch %133
OpBranch %144 %141 = OpLabel
%146 = OpLabel
OpBranch %136
%144 = OpLabel
OpStore %x_119_phi %int_0 OpStore %x_119_phi %int_0
OpBranch %144
%144 = OpLabel
OpLoopMerge %145 %146 None
OpBranch %147 OpBranch %147
%147 = OpLabel %147 = OpLabel
OpLoopMerge %148 %149 None %156 = OpLoad %int %x_119_phi
OpBranch %150 %157 = OpSLessThan %bool %156 %int_9
%150 = OpLabel OpSelectionMerge %158 None
%159 = OpLoad %int %x_119_phi OpBranchConditional %157 %159 %160
%160 = OpSLessThan %bool %159 %int_9 %159 = OpLabel
OpSelectionMerge %161 None OpBranch %158
OpBranchConditional %160 %162 %163 %160 = OpLabel
%162 = OpLabel OpBranch %145
OpBranch %161 %158 = OpLabel
%163 = OpLabel %161 = OpIAdd %int %156 %138
OpBranch %148 %162 = OpISub %int %161 %int_1
%161 = OpLabel %163 = OpIMul %int %int_2 %138
%164 = OpIAdd %int %159 %141 %164 = OpIAdd %int %156 %163
%165 = OpISub %int %164 %int_1 %167 = OpISub %int %164 %int_1
%166 = OpIMul %int %int_2 %141 %165 = OpExtInst %int %166 SMin %167 %int_9
%167 = OpIAdd %int %159 %166 OpStore %x_131_phi %156
%170 = OpISub %int %167 %int_1 OpStore %x_134_phi %161
%168 = OpExtInst %int %169 SMin %170 %int_9 OpStore %x_136_phi %156
OpStore %x_131_phi %159 OpBranch %168
OpStore %x_134_phi %164 %168 = OpLabel
OpStore %x_136_phi %159 OpLoopMerge %169 %170 None
OpBranch %171 OpBranch %171
%171 = OpLabel %171 = OpLabel
OpLoopMerge %172 %173 None %176 = OpLoad %int %x_131_phi
OpBranch %174 OpStore %x_131 %176
%174 = OpLabel %177 = OpLoad %int %x_134_phi
%179 = OpLoad %int %x_131_phi %178 = OpLoad %int %x_136_phi
OpStore %x_131 %179 OpStore %x_136 %178
%180 = OpLoad %int %x_134_phi %179 = OpLoad %int %x_136
%181 = OpLoad %int %x_136_phi %180 = OpSLessThanEqual %bool %179 %162
OpStore %x_136 %181 %181 = OpSLessThanEqual %bool %177 %165
%182 = OpLoad %int %x_136 %182 = OpLogicalAnd %bool %180 %181
%183 = OpSLessThanEqual %bool %182 %165 OpSelectionMerge %183 None
OpSelectionMerge %184 None OpBranchConditional %182 %184 %185
OpBranchConditional %183 %185 %184
%185 = OpLabel
%186 = OpSLessThanEqual %bool %180 %168
OpBranch %184
%184 = OpLabel %184 = OpLabel
%187 = OpPhi %bool %183 %174 %186 %185 OpBranch %183
OpSelectionMerge %188 None %185 = OpLabel
OpBranchConditional %187 %189 %190 OpBranch %169
%189 = OpLabel %183 = OpLabel
OpBranch %188 %186 = OpLoad %int %x_136
%190 = OpLabel %187 = OpAccessChain %_ptr_Function_int %data %186
OpBranch %172 %188 = OpLoad %int %187
%188 = OpLabel %189 = OpAccessChain %_ptr_Function_int %data %177
%191 = OpLoad %int %x_136 %190 = OpLoad %int %189
%192 = OpAccessChain %_ptr_Function_int %data %191 %192 = OpLoad %int %x_131
%193 = OpLoad %int %192 %193 = OpCopyObject %int %int_1
%194 = OpAccessChain %_ptr_Function_int %data %180 %194 = OpIAdd %int %192 %193
%195 = OpLoad %int %194 %191 = OpCopyObject %int %194
%197 = OpLoad %int %x_131 %195 = OpSLessThan %bool %188 %190
%198 = OpCopyObject %int %int_1 OpSelectionMerge %196 None
%199 = OpIAdd %int %197 %198 OpBranchConditional %195 %197 %198
%196 = OpCopyObject %int %199 %197 = OpLabel
%200 = OpSLessThan %bool %193 %195 %200 = OpLoad %int %x_136
OpSelectionMerge %201 None %201 = OpCopyObject %int %int_1
OpBranchConditional %200 %202 %203 %202 = OpIAdd %int %200 %201
%202 = OpLabel %199 = OpCopyObject %int %202
%205 = OpLoad %int %x_136 OpStore %x_151 %199
%206 = OpCopyObject %int %int_1 %203 = OpAccessChain %_ptr_Function_int %data %186
%207 = OpIAdd %int %205 %206 %204 = OpLoad %int %203
%204 = OpCopyObject %int %207 %205 = OpLoad %int %x_131
OpStore %x_151 %204 %206 = OpAccessChain %_ptr_Function_int %temp %205
%208 = OpAccessChain %_ptr_Function_int %data %191 OpStore %206 %204
%209 = OpLoad %int %208 OpStore %x_135_phi %177
%210 = OpLoad %int %x_131 %207 = OpLoad %int %x_151
%211 = OpAccessChain %_ptr_Function_int %temp %210 OpStore %x_137_phi %207
OpStore %211 %209 OpBranch %196
OpStore %x_135_phi %180 %198 = OpLabel
%212 = OpLoad %int %x_151 %208 = OpIAdd %int %177 %int_1
OpStore %x_137_phi %212 OpStore %x_154 %208
OpBranch %201 %209 = OpAccessChain %_ptr_Function_int %data %177
%203 = OpLabel %210 = OpLoad %int %209
%213 = OpIAdd %int %180 %int_1 %211 = OpLoad %int %x_131
OpStore %x_154 %213 %212 = OpAccessChain %_ptr_Function_int %temp %211
%214 = OpAccessChain %_ptr_Function_int %data %180 OpStore %212 %210
%215 = OpLoad %int %214 %213 = OpLoad %int %x_154
%216 = OpLoad %int %x_131 OpStore %x_135_phi %213
%217 = OpAccessChain %_ptr_Function_int %temp %216 %214 = OpLoad %int %x_136
OpStore %217 %215 OpStore %x_137_phi %214
%218 = OpLoad %int %x_154 OpBranch %196
OpStore %x_135_phi %218 %196 = OpLabel
%219 = OpLoad %int %x_136 %215 = OpLoad %int %x_135_phi
OpStore %x_137_phi %219 %216 = OpLoad %int %x_137_phi
OpBranch %201 OpBranch %170
%201 = OpLabel %170 = OpLabel
%220 = OpLoad %int %x_135_phi OpStore %x_131_phi %191
%221 = OpLoad %int %x_137_phi OpStore %x_134_phi %215
OpBranch %173 OpStore %x_136_phi %216
%173 = OpLabel OpBranch %168
OpStore %x_131_phi %196 %169 = OpLabel
OpStore %x_134_phi %220 %217 = OpLoad %int %x_131
OpStore %x_136_phi %221 OpStore %x_158_phi %217
OpBranch %171 %218 = OpLoad %int %x_136
%172 = OpLabel OpStore %x_161_phi %218
%222 = OpLoad %int %x_131 OpBranch %219
OpStore %x_158_phi %222 %219 = OpLabel
%223 = OpLoad %int %x_136 OpLoopMerge %220 %221 None
OpStore %x_161_phi %223 OpBranch %222
OpBranch %224 %222 = OpLabel
%224 = OpLabel %225 = OpLoad %int %x_158_phi
OpLoopMerge %225 %226 None %226 = OpLoad %int %x_161_phi
OpBranch %227 %227 = OpSLessThan %bool %226 %int_10
%227 = OpLabel %228 = OpSLessThanEqual %bool %226 %162
%230 = OpLoad %int %x_158_phi %229 = OpLogicalAnd %bool %227 %228
%231 = OpLoad %int %x_161_phi OpSelectionMerge %230 None
%232 = OpSLessThan %bool %231 %int_10 OpBranchConditional %229 %231 %232
OpSelectionMerge %233 None %231 = OpLabel
OpBranchConditional %232 %234 %233 OpBranch %230
%234 = OpLabel %232 = OpLabel
%235 = OpSLessThanEqual %bool %231 %165 OpBranch %220
OpBranch %233 %230 = OpLabel
%233 = OpLabel OpBranch %221
%236 = OpPhi %bool %232 %227 %235 %234 %221 = OpLabel
OpSelectionMerge %237 None %233 = OpIAdd %int %225 %int_1
OpBranchConditional %236 %238 %239 OpStore %x_159 %233
%238 = OpLabel %234 = OpIAdd %int %226 %int_1
OpBranch %237 OpStore %x_162 %234
%239 = OpLabel %235 = OpAccessChain %_ptr_Function_int %data %226
OpBranch %225 %236 = OpLoad %int %235
%237 = OpLabel %237 = OpAccessChain %_ptr_Function_int %temp %225
OpBranch %226 OpStore %237 %236
%226 = OpLabel %238 = OpLoad %int %x_159
%240 = OpIAdd %int %230 %int_1 OpStore %x_158_phi %238
OpStore %x_159 %240 %239 = OpLoad %int %x_162
%241 = OpIAdd %int %231 %int_1 OpStore %x_161_phi %239
OpStore %x_162 %241 OpBranch %219
%242 = OpAccessChain %_ptr_Function_int %data %231 %220 = OpLabel
%243 = OpLoad %int %242 OpStore %x_171_phi %156
%244 = OpAccessChain %_ptr_Function_int %temp %230 OpBranch %240
OpStore %244 %243 %240 = OpLabel
%245 = OpLoad %int %x_159 OpLoopMerge %241 %242 None
OpStore %x_158_phi %245 OpBranch %243
%246 = OpLoad %int %x_162 %243 = OpLabel
OpStore %x_161_phi %246 %245 = OpLoad %int %x_171_phi
OpBranch %224 %246 = OpSLessThanEqual %bool %245 %165
%225 = OpLabel OpSelectionMerge %247 None
OpStore %x_171_phi %159 OpBranchConditional %246 %248 %249
OpBranch %247
%247 = OpLabel
OpLoopMerge %248 %249 None
OpBranch %250
%250 = OpLabel
%252 = OpLoad %int %x_171_phi
%253 = OpSLessThanEqual %bool %252 %168
OpSelectionMerge %254 None
OpBranchConditional %253 %255 %256
%255 = OpLabel
OpBranch %254
%256 = OpLabel
OpBranch %248
%254 = OpLabel
OpBranch %249
%249 = OpLabel
%257 = OpAccessChain %_ptr_Function_int %temp %252
%258 = OpLoad %int %257
%259 = OpAccessChain %_ptr_Function_int %data %252
OpStore %259 %258
%260 = OpIAdd %int %252 %int_1
OpStore %x_172 %260
%261 = OpLoad %int %x_172
OpStore %x_171_phi %261
OpBranch %247
%248 = OpLabel %248 = OpLabel
OpBranch %149 OpBranch %247
%149 = OpLabel %249 = OpLabel
OpStore %x_119_phi %167 OpBranch %241
OpBranch %147 %247 = OpLabel
%148 = OpLabel OpBranch %242
OpBranch %137 %242 = OpLabel
%137 = OpLabel %250 = OpAccessChain %_ptr_Function_int %temp %245
%262 = OpIMul %int %int_2 %141 %251 = OpLoad %int %250
OpStore %x_113 %262 %252 = OpAccessChain %_ptr_Function_int %data %245
%263 = OpLoad %int %x_113 OpStore %252 %251
OpStore %x_112_phi %263 %253 = OpIAdd %int %245 %int_1
OpBranch %135 OpStore %x_172 %253
%136 = OpLabel %254 = OpLoad %int %x_172
%270 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 OpStore %x_171_phi %254
%271 = OpLoad %float %270 OpBranch %240
%272 = OpConvertFToS %int %271 %241 = OpLabel
OpStore %x_181 %272 OpBranch %146
%273 = OpLoad %int %x_181 %146 = OpLabel
%275 = OpSLessThan %bool %273 %int_30 OpStore %x_119_phi %164
OpSelectionMerge %276 None OpBranch %144
OpBranchConditional %275 %277 %278 %145 = OpLabel
%277 = OpLabel OpBranch %134
%279 = OpAccessChain %_ptr_Function_int %data %int_0 %134 = OpLabel
%280 = OpLoad %int %279 %255 = OpIMul %int %int_2 %138
%282 = OpConvertSToF %float %280 OpStore %x_113 %255
%284 = OpFMul %float %282 %float_0_100000001 %256 = OpLoad %int %x_113
%285 = OpFAdd %float %float_0_5 %284 OpStore %x_112_phi %256
OpStore %x_190 %285 OpBranch %132
%286 = OpLoad %float %x_190 %133 = OpLabel
OpStore %x_263_phi %286 %263 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %276 %264 = OpLoad %float %263
%278 = OpLabel %265 = OpConvertFToS %int %264
%290 = OpLoad %int %x_181 OpStore %x_181 %265
%292 = OpSLessThan %bool %290 %int_60 %266 = OpLoad %int %x_181
OpSelectionMerge %293 None %268 = OpSLessThan %bool %266 %int_30
OpBranchConditional %292 %294 %295 OpSelectionMerge %269 None
%294 = OpLabel OpBranchConditional %268 %270 %271
%296 = OpAccessChain %_ptr_Function_int %data %int_1 %270 = OpLabel
%297 = OpLoad %int %296 %272 = OpAccessChain %_ptr_Function_int %data %int_0
%298 = OpConvertSToF %float %297 %273 = OpLoad %int %272
%299 = OpFMul %float %298 %float_0_100000001 %275 = OpConvertSToF %float %273
%300 = OpFAdd %float %float_0_5 %299 %277 = OpFMul %float %275 %float_0_100000001
OpStore %x_199 %300 %278 = OpFAdd %float %float_0_5 %277
%301 = OpLoad %float %x_199 OpStore %x_190 %278
OpStore %x_262_phi %301 %279 = OpLoad %float %x_190
OpBranch %293 OpStore %x_263_phi %279
%295 = OpLabel OpBranch %269
%305 = OpLoad %int %x_181 %271 = OpLabel
%307 = OpSLessThan %bool %305 %int_90 %283 = OpLoad %int %x_181
OpSelectionMerge %308 None %285 = OpSLessThan %bool %283 %int_60
OpBranchConditional %307 %309 %310 OpSelectionMerge %286 None
%309 = OpLabel OpBranchConditional %285 %287 %288
%311 = OpAccessChain %_ptr_Function_int %data %int_2 %287 = OpLabel
%312 = OpLoad %int %311 %289 = OpAccessChain %_ptr_Function_int %data %int_1
%313 = OpConvertSToF %float %312 %290 = OpLoad %int %289
%314 = OpFMul %float %313 %float_0_100000001 %291 = OpConvertSToF %float %290
%315 = OpFAdd %float %float_0_5 %314 %292 = OpFMul %float %291 %float_0_100000001
OpStore %x_208 %315 %293 = OpFAdd %float %float_0_5 %292
%316 = OpLoad %float %x_208 OpStore %x_199 %293
OpStore %x_261_phi %316 %294 = OpLoad %float %x_199
OpBranch %308 OpStore %x_262_phi %294
%310 = OpLabel OpBranch %286
%317 = OpLoad %int %x_181 %288 = OpLabel
%319 = OpSLessThan %bool %317 %int_120 %298 = OpLoad %int %x_181
OpSelectionMerge %320 None %300 = OpSLessThan %bool %298 %int_90
OpBranchConditional %319 %321 %322 OpSelectionMerge %301 None
%321 = OpLabel OpBranchConditional %300 %302 %303
%323 = OpAccessChain %_ptr_Function_int %data %int_3 %302 = OpLabel
%324 = OpLoad %int %323 %304 = OpAccessChain %_ptr_Function_int %data %int_2
%325 = OpConvertSToF %float %324 %305 = OpLoad %int %304
%326 = OpFMul %float %325 %float_0_100000001 %306 = OpConvertSToF %float %305
%327 = OpFAdd %float %float_0_5 %326 %307 = OpFMul %float %306 %float_0_100000001
OpStore %x_217 %327 %308 = OpFAdd %float %float_0_5 %307
%328 = OpLoad %float %x_217 OpStore %x_208 %308
OpStore %x_260_phi %328 %309 = OpLoad %float %x_208
OpBranch %320 OpStore %x_261_phi %309
%322 = OpLabel OpBranch %301
%332 = OpLoad %int %x_181 %303 = OpLabel
%334 = OpSLessThan %bool %332 %int_150 %310 = OpLoad %int %x_181
OpSelectionMerge %335 None %312 = OpSLessThan %bool %310 %int_120
OpBranchConditional %334 %336 %337 OpSelectionMerge %313 None
%336 = OpLabel OpBranchConditional %312 %314 %315
%314 = OpLabel
%316 = OpAccessChain %_ptr_Function_int %data %int_3
%317 = OpLoad %int %316
%318 = OpConvertSToF %float %317
%319 = OpFMul %float %318 %float_0_100000001
%320 = OpFAdd %float %float_0_5 %319
OpStore %x_217 %320
%321 = OpLoad %float %x_217
OpStore %x_260_phi %321
OpBranch %313
%315 = OpLabel
%325 = OpLoad %int %x_181
%327 = OpSLessThan %bool %325 %int_150
OpSelectionMerge %328 None
OpBranchConditional %327 %329 %330
%329 = OpLabel
OpKill OpKill
%330 = OpLabel
%334 = OpLoad %int %x_181
%336 = OpSLessThan %bool %334 %int_180
OpSelectionMerge %337 None
OpBranchConditional %336 %338 %339
%338 = OpLabel
%341 = OpAccessChain %_ptr_Function_int %data %int_5
%342 = OpLoad %int %341
%343 = OpConvertSToF %float %342
%344 = OpFMul %float %343 %float_0_100000001
%345 = OpFAdd %float %float_0_5 %344
OpStore %x_230 %345
%346 = OpLoad %float %x_230
OpStore %x_259_phi %346
OpBranch %337
%339 = OpLabel
%350 = OpLoad %int %x_181
%352 = OpSLessThan %bool %350 %int_210
OpSelectionMerge %353 None
OpBranchConditional %352 %354 %355
%354 = OpLabel
%357 = OpAccessChain %_ptr_Function_int %data %int_6
%358 = OpLoad %int %357
%359 = OpConvertSToF %float %358
%360 = OpFMul %float %359 %float_0_100000001
%361 = OpFAdd %float %float_0_5 %360
OpStore %x_239 %361
%362 = OpLoad %float %x_239
OpStore %x_258_phi %362
OpBranch %353
%355 = OpLabel
%363 = OpLoad %int %x_181
%365 = OpSLessThan %bool %363 %int_240
OpSelectionMerge %366 None
OpBranchConditional %365 %367 %368
%367 = OpLabel
%370 = OpAccessChain %_ptr_Function_int %data %int_7
%371 = OpLoad %int %370
%372 = OpConvertSToF %float %371
%373 = OpFMul %float %372 %float_0_100000001
%374 = OpFAdd %float %float_0_5 %373
OpStore %x_248 %374
%375 = OpLoad %float %x_248
OpStore %x_257_phi %375
OpBranch %366
%368 = OpLabel
%376 = OpLoad %int %x_181
%378 = OpSLessThan %bool %376 %int_270
OpSelectionMerge %379 None
OpBranchConditional %378 %380 %381
%380 = OpLabel
OpBranch %379
%381 = OpLabel
OpKill
%379 = OpLabel
%383 = OpAccessChain %_ptr_Function_int %data %int_8
%384 = OpLoad %int %383
%385 = OpConvertSToF %float %384
%386 = OpFMul %float %385 %float_0_100000001
%387 = OpFAdd %float %float_0_5 %386
OpStore %x_256 %387
%388 = OpLoad %float %x_256
OpStore %x_257_phi %388
OpBranch %366
%366 = OpLabel
%389 = OpLoad %float %x_257_phi
OpStore %x_257 %389
%390 = OpLoad %float %x_257
OpStore %x_258_phi %390
OpBranch %353
%353 = OpLabel
%391 = OpLoad %float %x_258_phi
OpStore %x_258 %391
%392 = OpLoad %float %x_258
OpStore %x_259_phi %392
OpBranch %337
%337 = OpLabel %337 = OpLabel
%341 = OpLoad %int %x_181 %393 = OpLoad %float %x_259_phi
%343 = OpSLessThan %bool %341 %int_180 OpStore %x_259 %393
OpSelectionMerge %344 None OpBranch %328
OpBranchConditional %343 %345 %346 %328 = OpLabel
%345 = OpLabel %394 = OpLoad %float %x_259
%348 = OpAccessChain %_ptr_Function_int %data %int_5 OpStore %x_260_phi %394
%349 = OpLoad %int %348 OpBranch %313
%350 = OpConvertSToF %float %349 %313 = OpLabel
%351 = OpFMul %float %350 %float_0_100000001 %395 = OpLoad %float %x_260_phi
%352 = OpFAdd %float %float_0_5 %351 OpStore %x_260 %395
OpStore %x_230 %352 %396 = OpLoad %float %x_260
%353 = OpLoad %float %x_230 OpStore %x_261_phi %396
OpStore %x_259_phi %353 OpBranch %301
OpBranch %344 %301 = OpLabel
%346 = OpLabel %397 = OpLoad %float %x_261_phi
%357 = OpLoad %int %x_181 OpStore %x_261 %397
%359 = OpSLessThan %bool %357 %int_210 %398 = OpLoad %float %x_261
OpSelectionMerge %360 None OpStore %x_262_phi %398
OpBranchConditional %359 %361 %362 OpBranch %286
%361 = OpLabel %286 = OpLabel
%364 = OpAccessChain %_ptr_Function_int %data %int_6 %399 = OpLoad %float %x_262_phi
%365 = OpLoad %int %364 OpStore %x_262 %399
%366 = OpConvertSToF %float %365 %400 = OpLoad %float %x_262
%367 = OpFMul %float %366 %float_0_100000001 OpStore %x_263_phi %400
%368 = OpFAdd %float %float_0_5 %367 OpBranch %269
OpStore %x_239 %368 %269 = OpLabel
%369 = OpLoad %float %x_239 %401 = OpLoad %float %x_263_phi
OpStore %x_258_phi %369 %403 = OpCompositeConstruct %v4float %401 %401 %401 %float_1
OpBranch %360 OpStore %x_GLF_color %403
%362 = OpLabel
%370 = OpLoad %int %x_181
%372 = OpSLessThan %bool %370 %int_240
OpSelectionMerge %373 None
OpBranchConditional %372 %374 %375
%374 = OpLabel
%377 = OpAccessChain %_ptr_Function_int %data %int_7
%378 = OpLoad %int %377
%379 = OpConvertSToF %float %378
%380 = OpFMul %float %379 %float_0_100000001
%381 = OpFAdd %float %float_0_5 %380
OpStore %x_248 %381
%382 = OpLoad %float %x_248
OpStore %x_257_phi %382
OpBranch %373
%375 = OpLabel
%383 = OpLoad %int %x_181
%385 = OpSLessThan %bool %383 %int_270
OpSelectionMerge %386 None
OpBranchConditional %385 %387 %388
%387 = OpLabel
OpBranch %386
%388 = OpLabel
OpKill
%386 = OpLabel
%390 = OpAccessChain %_ptr_Function_int %data %int_8
%391 = OpLoad %int %390
%392 = OpConvertSToF %float %391
%393 = OpFMul %float %392 %float_0_100000001
%394 = OpFAdd %float %float_0_5 %393
OpStore %x_256 %394
%395 = OpLoad %float %x_256
OpStore %x_257_phi %395
OpBranch %373
%373 = OpLabel
%396 = OpLoad %float %x_257_phi
OpStore %x_257 %396
%397 = OpLoad %float %x_257
OpStore %x_258_phi %397
OpBranch %360
%360 = OpLabel
%398 = OpLoad %float %x_258_phi
OpStore %x_258 %398
%399 = OpLoad %float %x_258
OpStore %x_259_phi %399
OpBranch %344
%344 = OpLabel
%400 = OpLoad %float %x_259_phi
OpStore %x_259 %400
OpBranch %335
%335 = OpLabel
%401 = OpLoad %float %x_259
OpStore %x_260_phi %401
OpBranch %320
%320 = OpLabel
%402 = OpLoad %float %x_260_phi
OpStore %x_260 %402
%403 = OpLoad %float %x_260
OpStore %x_261_phi %403
OpBranch %308
%308 = OpLabel
%404 = OpLoad %float %x_261_phi
OpStore %x_261 %404
%405 = OpLoad %float %x_261
OpStore %x_262_phi %405
OpBranch %293
%293 = OpLabel
%406 = OpLoad %float %x_262_phi
OpStore %x_262 %406
%407 = OpLoad %float %x_262
OpStore %x_263_phi %407
OpBranch %276
%276 = OpLabel
%408 = OpLoad %float %x_263_phi
%410 = OpCompositeConstruct %v4float %408 %408 %408 %float_1
OpStore %x_GLF_color %410
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %411 %tint_symbol_3 = OpFunction %void None %404
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%415 = OpLabel %408 = OpLabel
%416 = OpCompositeExtract %v4float %tint_symbol_1 0 %409 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %416 OpStore %tint_symbol_2 %409
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%418 = OpLabel %411 = OpLabel
%419 = OpLoad %v4float %tint_symbol %412 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %419 OpStore %gl_FragCoord %412
%420 = OpFunctionCall %void %main_1 %413 = OpFunctionCall %void %main_1
%422 = OpLoad %v4float %x_GLF_color %415 = OpLoad %v4float %x_GLF_color
%423 = OpCompositeConstruct %main_out %422 %416 = OpCompositeConstruct %main_out %415
%421 = OpFunctionCall %void %tint_symbol_3 %423 %414 = OpFunctionCall %void %tint_symbol_3 %416
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 44[%44] is not post dominated by the back-edge block 117[%117]
%117 = OpLabel

View File

@ -1,12 +1,10 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 424 ; Bound: 421
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%169 = OpExtInstImport "GLSL.std.450" %166 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
@ -149,7 +147,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%411 = OpTypeFunction %void %main_out %408 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25 %temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25
@ -313,434 +311,424 @@ SKIP: FAILED
%44 = OpLabel %44 = OpLabel
OpStore %x_63_phi %113 OpStore %x_63_phi %113
%115 = OpSLessThan %bool %113 %int_10 %115 = OpSLessThan %bool %113 %int_10
OpSelectionMerge %117 None OpBranchConditional %115 %42 %43
OpBranchConditional %115 %118 %119
%118 = OpLabel
OpBranch %117
%119 = OpLabel
OpBranch %43
%117 = OpLabel
OpBranch %42
%43 = OpLabel %43 = OpLabel
OpStore %x_103_phi %int_0 OpStore %x_103_phi %int_0
OpBranch %117
%117 = OpLabel
OpLoopMerge %118 %119 None
OpBranch %120 OpBranch %120
%120 = OpLabel %120 = OpLabel
OpLoopMerge %121 %122 None %122 = OpLoad %int %x_103_phi
OpBranch %123 %123 = OpSLessThan %bool %122 %int_10
%123 = OpLabel OpSelectionMerge %124 None
%125 = OpLoad %int %x_103_phi OpBranchConditional %123 %125 %126
%126 = OpSLessThan %bool %125 %int_10 %125 = OpLabel
OpSelectionMerge %127 None OpBranch %124
OpBranchConditional %126 %128 %129 %126 = OpLabel
%128 = OpLabel OpBranch %118
OpBranch %127 %124 = OpLabel
%129 = OpLabel OpBranch %119
OpBranch %121 %119 = OpLabel
%127 = OpLabel %127 = OpAccessChain %_ptr_Function_int %data %122
OpBranch %122 %128 = OpLoad %int %127
%122 = OpLabel %129 = OpAccessChain %_ptr_Function_int %temp %122
%130 = OpAccessChain %_ptr_Function_int %data %125 OpStore %129 %128
%131 = OpLoad %int %130 %130 = OpIAdd %int %122 %int_1
%132 = OpAccessChain %_ptr_Function_int %temp %125 OpStore %x_104 %130
OpStore %132 %131 %131 = OpLoad %int %x_104
%133 = OpIAdd %int %125 %int_1 OpStore %x_103_phi %131
OpStore %x_104 %133 OpBranch %117
%134 = OpLoad %int %x_104 %118 = OpLabel
OpStore %x_103_phi %134
OpBranch %120
%121 = OpLabel
OpStore %x_112_phi %int_1 OpStore %x_112_phi %int_1
OpBranch %132
%132 = OpLabel
OpLoopMerge %133 %134 None
OpBranch %135 OpBranch %135
%135 = OpLabel %135 = OpLabel
OpLoopMerge %136 %137 None %138 = OpLoad %int %x_112_phi
OpBranch %138 %140 = OpSLessThanEqual %bool %138 %int_9
%138 = OpLabel OpSelectionMerge %141 None
%141 = OpLoad %int %x_112_phi OpBranchConditional %140 %142 %143
%143 = OpSLessThanEqual %bool %141 %int_9 %142 = OpLabel
OpSelectionMerge %144 None OpBranch %141
OpBranchConditional %143 %145 %146 %143 = OpLabel
%145 = OpLabel OpBranch %133
OpBranch %144 %141 = OpLabel
%146 = OpLabel
OpBranch %136
%144 = OpLabel
OpStore %x_119_phi %int_0 OpStore %x_119_phi %int_0
OpBranch %144
%144 = OpLabel
OpLoopMerge %145 %146 None
OpBranch %147 OpBranch %147
%147 = OpLabel %147 = OpLabel
OpLoopMerge %148 %149 None %156 = OpLoad %int %x_119_phi
OpBranch %150 %157 = OpSLessThan %bool %156 %int_9
%150 = OpLabel OpSelectionMerge %158 None
%159 = OpLoad %int %x_119_phi OpBranchConditional %157 %159 %160
%160 = OpSLessThan %bool %159 %int_9 %159 = OpLabel
OpSelectionMerge %161 None OpBranch %158
OpBranchConditional %160 %162 %163 %160 = OpLabel
%162 = OpLabel OpBranch %145
OpBranch %161 %158 = OpLabel
%163 = OpLabel %161 = OpIAdd %int %156 %138
OpBranch %148 %162 = OpISub %int %161 %int_1
%161 = OpLabel %163 = OpIMul %int %int_2 %138
%164 = OpIAdd %int %159 %141 %164 = OpIAdd %int %156 %163
%165 = OpISub %int %164 %int_1 %167 = OpISub %int %164 %int_1
%166 = OpIMul %int %int_2 %141 %165 = OpExtInst %int %166 SMin %167 %int_9
%167 = OpIAdd %int %159 %166 OpStore %x_131_phi %156
%170 = OpISub %int %167 %int_1 OpStore %x_134_phi %161
%168 = OpExtInst %int %169 SMin %170 %int_9 OpStore %x_136_phi %156
OpStore %x_131_phi %159 OpBranch %168
OpStore %x_134_phi %164 %168 = OpLabel
OpStore %x_136_phi %159 OpLoopMerge %169 %170 None
OpBranch %171 OpBranch %171
%171 = OpLabel %171 = OpLabel
OpLoopMerge %172 %173 None %176 = OpLoad %int %x_131_phi
OpBranch %174 OpStore %x_131 %176
%174 = OpLabel %177 = OpLoad %int %x_134_phi
%179 = OpLoad %int %x_131_phi %178 = OpLoad %int %x_136_phi
OpStore %x_131 %179 OpStore %x_136 %178
%180 = OpLoad %int %x_134_phi %179 = OpLoad %int %x_136
%181 = OpLoad %int %x_136_phi %180 = OpSLessThanEqual %bool %179 %162
OpStore %x_136 %181 OpSelectionMerge %181 None
%182 = OpLoad %int %x_136 OpBranchConditional %180 %182 %181
%183 = OpSLessThanEqual %bool %182 %165 %182 = OpLabel
OpSelectionMerge %184 None %183 = OpSLessThanEqual %bool %177 %165
OpBranchConditional %183 %185 %184 OpBranch %181
%181 = OpLabel
%184 = OpPhi %bool %180 %171 %183 %182
OpSelectionMerge %185 None
OpBranchConditional %184 %186 %187
%186 = OpLabel
OpBranch %185
%187 = OpLabel
OpBranch %169
%185 = OpLabel %185 = OpLabel
%186 = OpSLessThanEqual %bool %180 %168 %188 = OpLoad %int %x_136
OpBranch %184 %189 = OpAccessChain %_ptr_Function_int %data %188
%184 = OpLabel %190 = OpLoad %int %189
%187 = OpPhi %bool %183 %174 %186 %185 %191 = OpAccessChain %_ptr_Function_int %data %177
OpSelectionMerge %188 None %192 = OpLoad %int %191
OpBranchConditional %187 %189 %190 %194 = OpLoad %int %x_131
%189 = OpLabel %195 = OpCopyObject %int %int_1
OpBranch %188 %196 = OpIAdd %int %194 %195
%190 = OpLabel %193 = OpCopyObject %int %196
OpBranch %172 %197 = OpSLessThan %bool %190 %192
%188 = OpLabel OpSelectionMerge %198 None
%191 = OpLoad %int %x_136 OpBranchConditional %197 %199 %200
%192 = OpAccessChain %_ptr_Function_int %data %191 %199 = OpLabel
%193 = OpLoad %int %192 %202 = OpLoad %int %x_136
%194 = OpAccessChain %_ptr_Function_int %data %180 %203 = OpCopyObject %int %int_1
%195 = OpLoad %int %194 %204 = OpIAdd %int %202 %203
%197 = OpLoad %int %x_131 %201 = OpCopyObject %int %204
%198 = OpCopyObject %int %int_1 OpStore %x_151 %201
%199 = OpIAdd %int %197 %198 %205 = OpAccessChain %_ptr_Function_int %data %188
%196 = OpCopyObject %int %199 %206 = OpLoad %int %205
%200 = OpSLessThan %bool %193 %195 %207 = OpLoad %int %x_131
OpSelectionMerge %201 None %208 = OpAccessChain %_ptr_Function_int %temp %207
OpBranchConditional %200 %202 %203 OpStore %208 %206
%202 = OpLabel OpStore %x_135_phi %177
%205 = OpLoad %int %x_136 %209 = OpLoad %int %x_151
%206 = OpCopyObject %int %int_1 OpStore %x_137_phi %209
%207 = OpIAdd %int %205 %206 OpBranch %198
%204 = OpCopyObject %int %207 %200 = OpLabel
OpStore %x_151 %204 %210 = OpIAdd %int %177 %int_1
%208 = OpAccessChain %_ptr_Function_int %data %191 OpStore %x_154 %210
%209 = OpLoad %int %208 %211 = OpAccessChain %_ptr_Function_int %data %177
%210 = OpLoad %int %x_131 %212 = OpLoad %int %211
%211 = OpAccessChain %_ptr_Function_int %temp %210 %213 = OpLoad %int %x_131
OpStore %211 %209 %214 = OpAccessChain %_ptr_Function_int %temp %213
OpStore %x_135_phi %180 OpStore %214 %212
%212 = OpLoad %int %x_151 %215 = OpLoad %int %x_154
OpStore %x_137_phi %212 OpStore %x_135_phi %215
OpBranch %201 %216 = OpLoad %int %x_136
%203 = OpLabel OpStore %x_137_phi %216
%213 = OpIAdd %int %180 %int_1 OpBranch %198
OpStore %x_154 %213 %198 = OpLabel
%214 = OpAccessChain %_ptr_Function_int %data %180 %217 = OpLoad %int %x_135_phi
%215 = OpLoad %int %214 %218 = OpLoad %int %x_137_phi
%216 = OpLoad %int %x_131 OpBranch %170
%217 = OpAccessChain %_ptr_Function_int %temp %216 %170 = OpLabel
OpStore %217 %215 OpStore %x_131_phi %193
%218 = OpLoad %int %x_154 OpStore %x_134_phi %217
OpStore %x_135_phi %218 OpStore %x_136_phi %218
%219 = OpLoad %int %x_136 OpBranch %168
OpStore %x_137_phi %219 %169 = OpLabel
OpBranch %201 %219 = OpLoad %int %x_131
%201 = OpLabel OpStore %x_158_phi %219
%220 = OpLoad %int %x_135_phi %220 = OpLoad %int %x_136
%221 = OpLoad %int %x_137_phi OpStore %x_161_phi %220
OpBranch %173 OpBranch %221
%173 = OpLabel %221 = OpLabel
OpStore %x_131_phi %196 OpLoopMerge %222 %223 None
OpStore %x_134_phi %220
OpStore %x_136_phi %221
OpBranch %171
%172 = OpLabel
%222 = OpLoad %int %x_131
OpStore %x_158_phi %222
%223 = OpLoad %int %x_136
OpStore %x_161_phi %223
OpBranch %224 OpBranch %224
%224 = OpLabel %224 = OpLabel
OpLoopMerge %225 %226 None %227 = OpLoad %int %x_158_phi
OpBranch %227 %228 = OpLoad %int %x_161_phi
%227 = OpLabel %229 = OpSLessThan %bool %228 %int_10
%230 = OpLoad %int %x_158_phi OpSelectionMerge %230 None
%231 = OpLoad %int %x_161_phi OpBranchConditional %229 %231 %230
%232 = OpSLessThan %bool %231 %int_10 %231 = OpLabel
OpSelectionMerge %233 None %232 = OpSLessThanEqual %bool %228 %162
OpBranchConditional %232 %234 %233 OpBranch %230
%230 = OpLabel
%233 = OpPhi %bool %229 %224 %232 %231
OpSelectionMerge %234 None
OpBranchConditional %233 %235 %236
%235 = OpLabel
OpBranch %234
%236 = OpLabel
OpBranch %222
%234 = OpLabel %234 = OpLabel
%235 = OpSLessThanEqual %bool %231 %165 OpBranch %223
OpBranch %233 %223 = OpLabel
%233 = OpLabel %237 = OpIAdd %int %227 %int_1
%236 = OpPhi %bool %232 %227 %235 %234 OpStore %x_159 %237
OpSelectionMerge %237 None %238 = OpIAdd %int %228 %int_1
OpBranchConditional %236 %238 %239 OpStore %x_162 %238
%238 = OpLabel %239 = OpAccessChain %_ptr_Function_int %data %228
OpBranch %237 %240 = OpLoad %int %239
%239 = OpLabel %241 = OpAccessChain %_ptr_Function_int %temp %227
OpBranch %225 OpStore %241 %240
%237 = OpLabel %242 = OpLoad %int %x_159
OpBranch %226 OpStore %x_158_phi %242
%226 = OpLabel %243 = OpLoad %int %x_162
%240 = OpIAdd %int %230 %int_1 OpStore %x_161_phi %243
OpStore %x_159 %240 OpBranch %221
%241 = OpIAdd %int %231 %int_1 %222 = OpLabel
OpStore %x_162 %241 OpStore %x_171_phi %156
%242 = OpAccessChain %_ptr_Function_int %data %231 OpBranch %244
%243 = OpLoad %int %242 %244 = OpLabel
%244 = OpAccessChain %_ptr_Function_int %temp %230 OpLoopMerge %245 %246 None
OpStore %244 %243
%245 = OpLoad %int %x_159
OpStore %x_158_phi %245
%246 = OpLoad %int %x_162
OpStore %x_161_phi %246
OpBranch %224
%225 = OpLabel
OpStore %x_171_phi %159
OpBranch %247 OpBranch %247
%247 = OpLabel %247 = OpLabel
OpLoopMerge %248 %249 None %249 = OpLoad %int %x_171_phi
OpBranch %250 %250 = OpSLessThanEqual %bool %249 %165
%250 = OpLabel OpSelectionMerge %251 None
%252 = OpLoad %int %x_171_phi OpBranchConditional %250 %252 %253
%253 = OpSLessThanEqual %bool %252 %168 %252 = OpLabel
OpSelectionMerge %254 None OpBranch %251
OpBranchConditional %253 %255 %256 %253 = OpLabel
%255 = OpLabel OpBranch %245
OpBranch %254 %251 = OpLabel
%256 = OpLabel OpBranch %246
OpBranch %248 %246 = OpLabel
%254 = OpLabel %254 = OpAccessChain %_ptr_Function_int %temp %249
OpBranch %249 %255 = OpLoad %int %254
%249 = OpLabel %256 = OpAccessChain %_ptr_Function_int %data %249
%257 = OpAccessChain %_ptr_Function_int %temp %252 OpStore %256 %255
%258 = OpLoad %int %257 %257 = OpIAdd %int %249 %int_1
%259 = OpAccessChain %_ptr_Function_int %data %252 OpStore %x_172 %257
OpStore %259 %258 %258 = OpLoad %int %x_172
%260 = OpIAdd %int %252 %int_1 OpStore %x_171_phi %258
OpStore %x_172 %260 OpBranch %244
%261 = OpLoad %int %x_172 %245 = OpLabel
OpStore %x_171_phi %261 OpBranch %146
OpBranch %247 %146 = OpLabel
%248 = OpLabel OpStore %x_119_phi %164
OpBranch %149 OpBranch %144
%149 = OpLabel %145 = OpLabel
OpStore %x_119_phi %167 OpBranch %134
OpBranch %147 %134 = OpLabel
%148 = OpLabel %259 = OpIMul %int %int_2 %138
OpBranch %137 OpStore %x_113 %259
%137 = OpLabel %260 = OpLoad %int %x_113
%262 = OpIMul %int %int_2 %141 OpStore %x_112_phi %260
OpStore %x_113 %262 OpBranch %132
%263 = OpLoad %int %x_113 %133 = OpLabel
OpStore %x_112_phi %263 %267 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %135 %268 = OpLoad %float %267
%136 = OpLabel %269 = OpConvertFToS %int %268
%270 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 OpStore %x_181 %269
%271 = OpLoad %float %270 %270 = OpLoad %int %x_181
%272 = OpConvertFToS %int %271 %272 = OpSLessThan %bool %270 %int_30
OpStore %x_181 %272 OpSelectionMerge %273 None
%273 = OpLoad %int %x_181 OpBranchConditional %272 %274 %275
%275 = OpSLessThan %bool %273 %int_30 %274 = OpLabel
OpSelectionMerge %276 None %276 = OpAccessChain %_ptr_Function_int %data %int_0
OpBranchConditional %275 %277 %278 %277 = OpLoad %int %276
%277 = OpLabel %279 = OpConvertSToF %float %277
%279 = OpAccessChain %_ptr_Function_int %data %int_0 %281 = OpFMul %float %279 %float_0_100000001
%280 = OpLoad %int %279 %282 = OpFAdd %float %float_0_5 %281
%282 = OpConvertSToF %float %280 OpStore %x_190 %282
%284 = OpFMul %float %282 %float_0_100000001 %283 = OpLoad %float %x_190
%285 = OpFAdd %float %float_0_5 %284 OpStore %x_263_phi %283
OpStore %x_190 %285 OpBranch %273
%286 = OpLoad %float %x_190 %275 = OpLabel
OpStore %x_263_phi %286 %287 = OpLoad %int %x_181
OpBranch %276 %289 = OpSLessThan %bool %287 %int_60
%278 = OpLabel OpSelectionMerge %290 None
%290 = OpLoad %int %x_181 OpBranchConditional %289 %291 %292
%292 = OpSLessThan %bool %290 %int_60 %291 = OpLabel
OpSelectionMerge %293 None %293 = OpAccessChain %_ptr_Function_int %data %int_1
OpBranchConditional %292 %294 %295 %294 = OpLoad %int %293
%294 = OpLabel %295 = OpConvertSToF %float %294
%296 = OpAccessChain %_ptr_Function_int %data %int_1 %296 = OpFMul %float %295 %float_0_100000001
%297 = OpLoad %int %296 %297 = OpFAdd %float %float_0_5 %296
%298 = OpConvertSToF %float %297 OpStore %x_199 %297
%299 = OpFMul %float %298 %float_0_100000001 %298 = OpLoad %float %x_199
%300 = OpFAdd %float %float_0_5 %299 OpStore %x_262_phi %298
OpStore %x_199 %300 OpBranch %290
%301 = OpLoad %float %x_199 %292 = OpLabel
OpStore %x_262_phi %301 %302 = OpLoad %int %x_181
OpBranch %293 %304 = OpSLessThan %bool %302 %int_90
%295 = OpLabel OpSelectionMerge %305 None
%305 = OpLoad %int %x_181 OpBranchConditional %304 %306 %307
%307 = OpSLessThan %bool %305 %int_90 %306 = OpLabel
OpSelectionMerge %308 None %308 = OpAccessChain %_ptr_Function_int %data %int_2
OpBranchConditional %307 %309 %310 %309 = OpLoad %int %308
%309 = OpLabel %310 = OpConvertSToF %float %309
%311 = OpAccessChain %_ptr_Function_int %data %int_2 %311 = OpFMul %float %310 %float_0_100000001
%312 = OpLoad %int %311 %312 = OpFAdd %float %float_0_5 %311
%313 = OpConvertSToF %float %312 OpStore %x_208 %312
%314 = OpFMul %float %313 %float_0_100000001 %313 = OpLoad %float %x_208
%315 = OpFAdd %float %float_0_5 %314 OpStore %x_261_phi %313
OpStore %x_208 %315 OpBranch %305
%316 = OpLoad %float %x_208 %307 = OpLabel
OpStore %x_261_phi %316 %314 = OpLoad %int %x_181
OpBranch %308 %316 = OpSLessThan %bool %314 %int_120
%310 = OpLabel OpSelectionMerge %317 None
%317 = OpLoad %int %x_181 OpBranchConditional %316 %318 %319
%319 = OpSLessThan %bool %317 %int_120 %318 = OpLabel
OpSelectionMerge %320 None %320 = OpAccessChain %_ptr_Function_int %data %int_3
OpBranchConditional %319 %321 %322 %321 = OpLoad %int %320
%321 = OpLabel %322 = OpConvertSToF %float %321
%323 = OpAccessChain %_ptr_Function_int %data %int_3 %323 = OpFMul %float %322 %float_0_100000001
%324 = OpLoad %int %323 %324 = OpFAdd %float %float_0_5 %323
%325 = OpConvertSToF %float %324 OpStore %x_217 %324
%326 = OpFMul %float %325 %float_0_100000001 %325 = OpLoad %float %x_217
%327 = OpFAdd %float %float_0_5 %326 OpStore %x_260_phi %325
OpStore %x_217 %327 OpBranch %317
%328 = OpLoad %float %x_217 %319 = OpLabel
OpStore %x_260_phi %328 %329 = OpLoad %int %x_181
OpBranch %320 %331 = OpSLessThan %bool %329 %int_150
%322 = OpLabel OpSelectionMerge %332 None
%332 = OpLoad %int %x_181 OpBranchConditional %331 %333 %334
%334 = OpSLessThan %bool %332 %int_150 %333 = OpLabel
OpSelectionMerge %335 None
OpBranchConditional %334 %336 %337
%336 = OpLabel
OpKill OpKill
%337 = OpLabel %334 = OpLabel
%341 = OpLoad %int %x_181 %338 = OpLoad %int %x_181
%343 = OpSLessThan %bool %341 %int_180 %340 = OpSLessThan %bool %338 %int_180
OpSelectionMerge %344 None OpSelectionMerge %341 None
OpBranchConditional %343 %345 %346 OpBranchConditional %340 %342 %343
%345 = OpLabel %342 = OpLabel
%348 = OpAccessChain %_ptr_Function_int %data %int_5 %345 = OpAccessChain %_ptr_Function_int %data %int_5
%349 = OpLoad %int %348 %346 = OpLoad %int %345
%350 = OpConvertSToF %float %349 %347 = OpConvertSToF %float %346
%351 = OpFMul %float %350 %float_0_100000001 %348 = OpFMul %float %347 %float_0_100000001
%352 = OpFAdd %float %float_0_5 %351 %349 = OpFAdd %float %float_0_5 %348
OpStore %x_230 %352 OpStore %x_230 %349
%353 = OpLoad %float %x_230 %350 = OpLoad %float %x_230
OpStore %x_259_phi %353 OpStore %x_259_phi %350
OpBranch %344 OpBranch %341
%346 = OpLabel %343 = OpLabel
%357 = OpLoad %int %x_181 %354 = OpLoad %int %x_181
%359 = OpSLessThan %bool %357 %int_210 %356 = OpSLessThan %bool %354 %int_210
OpSelectionMerge %360 None OpSelectionMerge %357 None
OpBranchConditional %359 %361 %362 OpBranchConditional %356 %358 %359
%361 = OpLabel %358 = OpLabel
%364 = OpAccessChain %_ptr_Function_int %data %int_6 %361 = OpAccessChain %_ptr_Function_int %data %int_6
%365 = OpLoad %int %364 %362 = OpLoad %int %361
%366 = OpConvertSToF %float %365 %363 = OpConvertSToF %float %362
%367 = OpFMul %float %366 %float_0_100000001 %364 = OpFMul %float %363 %float_0_100000001
%368 = OpFAdd %float %float_0_5 %367 %365 = OpFAdd %float %float_0_5 %364
OpStore %x_239 %368 OpStore %x_239 %365
%369 = OpLoad %float %x_239 %366 = OpLoad %float %x_239
OpStore %x_258_phi %369 OpStore %x_258_phi %366
OpBranch %360 OpBranch %357
%362 = OpLabel %359 = OpLabel
%370 = OpLoad %int %x_181 %367 = OpLoad %int %x_181
%372 = OpSLessThan %bool %370 %int_240 %369 = OpSLessThan %bool %367 %int_240
OpSelectionMerge %373 None OpSelectionMerge %370 None
OpBranchConditional %372 %374 %375 OpBranchConditional %369 %371 %372
%374 = OpLabel %371 = OpLabel
%377 = OpAccessChain %_ptr_Function_int %data %int_7 %374 = OpAccessChain %_ptr_Function_int %data %int_7
%378 = OpLoad %int %377 %375 = OpLoad %int %374
%379 = OpConvertSToF %float %378 %376 = OpConvertSToF %float %375
%380 = OpFMul %float %379 %float_0_100000001 %377 = OpFMul %float %376 %float_0_100000001
%381 = OpFAdd %float %float_0_5 %380 %378 = OpFAdd %float %float_0_5 %377
OpStore %x_248 %381 OpStore %x_248 %378
%382 = OpLoad %float %x_248 %379 = OpLoad %float %x_248
OpStore %x_257_phi %382 OpStore %x_257_phi %379
OpBranch %373 OpBranch %370
%375 = OpLabel %372 = OpLabel
%383 = OpLoad %int %x_181 %380 = OpLoad %int %x_181
%385 = OpSLessThan %bool %383 %int_270 %382 = OpSLessThan %bool %380 %int_270
OpSelectionMerge %386 None OpSelectionMerge %383 None
OpBranchConditional %385 %387 %388 OpBranchConditional %382 %384 %385
%387 = OpLabel %384 = OpLabel
OpBranch %386 OpBranch %383
%388 = OpLabel %385 = OpLabel
OpKill OpKill
%386 = OpLabel %383 = OpLabel
%390 = OpAccessChain %_ptr_Function_int %data %int_8 %387 = OpAccessChain %_ptr_Function_int %data %int_8
%391 = OpLoad %int %390 %388 = OpLoad %int %387
%392 = OpConvertSToF %float %391 %389 = OpConvertSToF %float %388
%393 = OpFMul %float %392 %float_0_100000001 %390 = OpFMul %float %389 %float_0_100000001
%394 = OpFAdd %float %float_0_5 %393 %391 = OpFAdd %float %float_0_5 %390
OpStore %x_256 %394 OpStore %x_256 %391
%395 = OpLoad %float %x_256 %392 = OpLoad %float %x_256
OpStore %x_257_phi %395 OpStore %x_257_phi %392
OpBranch %373 OpBranch %370
%373 = OpLabel %370 = OpLabel
%396 = OpLoad %float %x_257_phi %393 = OpLoad %float %x_257_phi
OpStore %x_257 %396 OpStore %x_257 %393
%397 = OpLoad %float %x_257 %394 = OpLoad %float %x_257
OpStore %x_258_phi %397 OpStore %x_258_phi %394
OpBranch %360 OpBranch %357
%360 = OpLabel %357 = OpLabel
%398 = OpLoad %float %x_258_phi %395 = OpLoad %float %x_258_phi
OpStore %x_258 %398 OpStore %x_258 %395
%399 = OpLoad %float %x_258 %396 = OpLoad %float %x_258
OpStore %x_259_phi %399 OpStore %x_259_phi %396
OpBranch %344 OpBranch %341
%344 = OpLabel %341 = OpLabel
%400 = OpLoad %float %x_259_phi %397 = OpLoad %float %x_259_phi
OpStore %x_259 %400 OpStore %x_259 %397
OpBranch %335 OpBranch %332
%335 = OpLabel %332 = OpLabel
%401 = OpLoad %float %x_259 %398 = OpLoad %float %x_259
OpStore %x_260_phi %401 OpStore %x_260_phi %398
OpBranch %320 OpBranch %317
%320 = OpLabel %317 = OpLabel
%402 = OpLoad %float %x_260_phi %399 = OpLoad %float %x_260_phi
OpStore %x_260 %402 OpStore %x_260 %399
%403 = OpLoad %float %x_260 %400 = OpLoad %float %x_260
OpStore %x_261_phi %403 OpStore %x_261_phi %400
OpBranch %308 OpBranch %305
%308 = OpLabel %305 = OpLabel
%404 = OpLoad %float %x_261_phi %401 = OpLoad %float %x_261_phi
OpStore %x_261 %404 OpStore %x_261 %401
%405 = OpLoad %float %x_261 %402 = OpLoad %float %x_261
OpStore %x_262_phi %405 OpStore %x_262_phi %402
OpBranch %293 OpBranch %290
%293 = OpLabel %290 = OpLabel
%406 = OpLoad %float %x_262_phi %403 = OpLoad %float %x_262_phi
OpStore %x_262 %406 OpStore %x_262 %403
%407 = OpLoad %float %x_262 %404 = OpLoad %float %x_262
OpStore %x_263_phi %407 OpStore %x_263_phi %404
OpBranch %276 OpBranch %273
%276 = OpLabel %273 = OpLabel
%408 = OpLoad %float %x_263_phi %405 = OpLoad %float %x_263_phi
%410 = OpCompositeConstruct %v4float %408 %408 %408 %float_1 %407 = OpCompositeConstruct %v4float %405 %405 %405 %float_1
OpStore %x_GLF_color %410 OpStore %x_GLF_color %407
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %411 %tint_symbol_3 = OpFunction %void None %408
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%415 = OpLabel %412 = OpLabel
%416 = OpCompositeExtract %v4float %tint_symbol_1 0 %413 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %416 OpStore %tint_symbol_2 %413
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%418 = OpLabel %415 = OpLabel
%419 = OpLoad %v4float %tint_symbol %416 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %419 OpStore %gl_FragCoord %416
%420 = OpFunctionCall %void %main_1 %417 = OpFunctionCall %void %main_1
%422 = OpLoad %v4float %x_GLF_color %419 = OpLoad %v4float %x_GLF_color
%423 = OpCompositeConstruct %main_out %422 %420 = OpCompositeConstruct %main_out %419
%421 = OpFunctionCall %void %tint_symbol_3 %423 %418 = OpFunctionCall %void %tint_symbol_3 %420
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 44[%44] is not post dominated by the back-edge block 117[%117]
%117 = OpLabel

View File

@ -1,12 +1,10 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 422 ; Bound: 415
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%167 = OpExtInstImport "GLSL.std.450" %164 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
@ -148,7 +146,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%409 = OpTypeFunction %void %main_out %402 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25 %temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25
@ -309,434 +307,414 @@ SKIP: FAILED
%44 = OpLabel %44 = OpLabel
OpStore %x_63_phi %111 OpStore %x_63_phi %111
%113 = OpSLessThan %bool %111 %int_10 %113 = OpSLessThan %bool %111 %int_10
OpSelectionMerge %115 None OpBranchConditional %113 %42 %43
OpBranchConditional %113 %116 %117
%116 = OpLabel
OpBranch %115
%117 = OpLabel
OpBranch %43
%115 = OpLabel
OpBranch %42
%43 = OpLabel %43 = OpLabel
OpStore %x_102_phi %int_0 OpStore %x_102_phi %int_0
OpBranch %115
%115 = OpLabel
OpLoopMerge %116 %117 None
OpBranch %118 OpBranch %118
%118 = OpLabel %118 = OpLabel
OpLoopMerge %119 %120 None %120 = OpLoad %int %x_102_phi
OpBranch %121 %121 = OpSLessThan %bool %120 %int_10
%121 = OpLabel OpSelectionMerge %122 None
%123 = OpLoad %int %x_102_phi OpBranchConditional %121 %123 %124
%124 = OpSLessThan %bool %123 %int_10 %123 = OpLabel
OpSelectionMerge %125 None OpBranch %122
OpBranchConditional %124 %126 %127 %124 = OpLabel
%126 = OpLabel OpBranch %116
OpBranch %125 %122 = OpLabel
%127 = OpLabel OpBranch %117
OpBranch %119 %117 = OpLabel
%125 = OpLabel %125 = OpAccessChain %_ptr_Function_int %data %120
OpBranch %120 %126 = OpLoad %int %125
%120 = OpLabel %127 = OpAccessChain %_ptr_Function_int %temp %120
%128 = OpAccessChain %_ptr_Function_int %data %123 OpStore %127 %126
%129 = OpLoad %int %128 %128 = OpIAdd %int %120 %int_1
%130 = OpAccessChain %_ptr_Function_int %temp %123 OpStore %x_103 %128
OpStore %130 %129 %129 = OpLoad %int %x_103
%131 = OpIAdd %int %123 %int_1 OpStore %x_102_phi %129
OpStore %x_103 %131 OpBranch %115
%132 = OpLoad %int %x_103 %116 = OpLabel
OpStore %x_102_phi %132
OpBranch %118
%119 = OpLabel
OpStore %x_111_phi %int_1 OpStore %x_111_phi %int_1
OpBranch %130
%130 = OpLabel
OpLoopMerge %131 %132 None
OpBranch %133 OpBranch %133
%133 = OpLabel %133 = OpLabel
OpLoopMerge %134 %135 None %136 = OpLoad %int %x_111_phi
OpBranch %136 %138 = OpSLessThanEqual %bool %136 %int_9
%136 = OpLabel OpSelectionMerge %139 None
%139 = OpLoad %int %x_111_phi OpBranchConditional %138 %140 %141
%141 = OpSLessThanEqual %bool %139 %int_9 %140 = OpLabel
OpSelectionMerge %142 None OpBranch %139
OpBranchConditional %141 %143 %144 %141 = OpLabel
%143 = OpLabel OpBranch %131
OpBranch %142 %139 = OpLabel
%144 = OpLabel
OpBranch %134
%142 = OpLabel
OpStore %x_118_phi %int_0 OpStore %x_118_phi %int_0
OpBranch %142
%142 = OpLabel
OpLoopMerge %143 %144 None
OpBranch %145 OpBranch %145
%145 = OpLabel %145 = OpLabel
OpLoopMerge %146 %147 None %154 = OpLoad %int %x_118_phi
OpBranch %148 %155 = OpSLessThan %bool %154 %int_9
%148 = OpLabel OpSelectionMerge %156 None
%157 = OpLoad %int %x_118_phi OpBranchConditional %155 %157 %158
%158 = OpSLessThan %bool %157 %int_9 %157 = OpLabel
OpSelectionMerge %159 None OpBranch %156
OpBranchConditional %158 %160 %161 %158 = OpLabel
%160 = OpLabel OpBranch %143
OpBranch %159 %156 = OpLabel
%161 = OpLabel %159 = OpIAdd %int %154 %136
OpBranch %146 %160 = OpISub %int %159 %int_1
%159 = OpLabel %161 = OpIMul %int %int_2 %136
%162 = OpIAdd %int %157 %139 %162 = OpIAdd %int %154 %161
%163 = OpISub %int %162 %int_1 %165 = OpISub %int %162 %int_1
%164 = OpIMul %int %int_2 %139 %163 = OpExtInst %int %164 SMin %165 %int_9
%165 = OpIAdd %int %157 %164 OpStore %x_130_phi %154
%168 = OpISub %int %165 %int_1 OpStore %x_133_phi %159
%166 = OpExtInst %int %167 SMin %168 %int_9 OpStore %x_135_phi %154
OpStore %x_130_phi %157 OpBranch %166
OpStore %x_133_phi %162 %166 = OpLabel
OpStore %x_135_phi %157 OpLoopMerge %167 %168 None
OpBranch %169 OpBranch %169
%169 = OpLabel %169 = OpLabel
OpLoopMerge %170 %171 None %174 = OpLoad %int %x_130_phi
OpBranch %172 OpStore %x_130 %174
%172 = OpLabel %175 = OpLoad %int %x_133_phi
%177 = OpLoad %int %x_130_phi %176 = OpLoad %int %x_135_phi
OpStore %x_130 %177 OpStore %x_135 %176
%178 = OpLoad %int %x_133_phi %177 = OpLoad %int %x_135
%179 = OpLoad %int %x_135_phi %178 = OpSLessThanEqual %bool %177 %160
OpStore %x_135 %179 %179 = OpSLessThanEqual %bool %175 %163
%180 = OpLoad %int %x_135 %180 = OpLogicalAnd %bool %178 %179
%181 = OpSLessThanEqual %bool %180 %163 OpSelectionMerge %181 None
OpSelectionMerge %182 None OpBranchConditional %180 %182 %183
OpBranchConditional %181 %183 %182
%183 = OpLabel
%184 = OpSLessThanEqual %bool %178 %166
OpBranch %182
%182 = OpLabel %182 = OpLabel
%185 = OpPhi %bool %181 %172 %184 %183 OpBranch %181
OpSelectionMerge %186 None %183 = OpLabel
OpBranchConditional %185 %187 %188 OpBranch %167
%187 = OpLabel %181 = OpLabel
OpBranch %186 %184 = OpLoad %int %x_135
%188 = OpLabel %185 = OpAccessChain %_ptr_Function_int %data %184
OpBranch %170 %186 = OpLoad %int %185
%186 = OpLabel %187 = OpAccessChain %_ptr_Function_int %data %175
%189 = OpLoad %int %x_135 %188 = OpLoad %int %187
%190 = OpAccessChain %_ptr_Function_int %data %189 %190 = OpLoad %int %x_130
%191 = OpLoad %int %190 %191 = OpCopyObject %int %int_1
%192 = OpAccessChain %_ptr_Function_int %data %178 %192 = OpIAdd %int %190 %191
%193 = OpLoad %int %192 %189 = OpCopyObject %int %192
%195 = OpLoad %int %x_130 %193 = OpSLessThan %bool %186 %188
%196 = OpCopyObject %int %int_1 OpSelectionMerge %194 None
%197 = OpIAdd %int %195 %196 OpBranchConditional %193 %195 %196
%194 = OpCopyObject %int %197 %195 = OpLabel
%198 = OpSLessThan %bool %191 %193 %198 = OpLoad %int %x_135
OpSelectionMerge %199 None %199 = OpCopyObject %int %int_1
OpBranchConditional %198 %200 %201 %200 = OpIAdd %int %198 %199
%200 = OpLabel %197 = OpCopyObject %int %200
%203 = OpLoad %int %x_135 OpStore %x_150 %197
%204 = OpCopyObject %int %int_1 %201 = OpAccessChain %_ptr_Function_int %data %184
%205 = OpIAdd %int %203 %204 %202 = OpLoad %int %201
%202 = OpCopyObject %int %205 %203 = OpLoad %int %x_130
OpStore %x_150 %202 %204 = OpAccessChain %_ptr_Function_int %temp %203
%206 = OpAccessChain %_ptr_Function_int %data %189 OpStore %204 %202
%207 = OpLoad %int %206 OpStore %x_134_phi %175
%208 = OpLoad %int %x_130 %205 = OpLoad %int %x_150
%209 = OpAccessChain %_ptr_Function_int %temp %208 OpStore %x_136_phi %205
OpStore %209 %207 OpBranch %194
OpStore %x_134_phi %178 %196 = OpLabel
%210 = OpLoad %int %x_150 %206 = OpIAdd %int %175 %int_1
OpStore %x_136_phi %210 OpStore %x_153 %206
OpBranch %199 %207 = OpAccessChain %_ptr_Function_int %data %175
%201 = OpLabel %208 = OpLoad %int %207
%211 = OpIAdd %int %178 %int_1 %209 = OpLoad %int %x_130
OpStore %x_153 %211 %210 = OpAccessChain %_ptr_Function_int %temp %209
%212 = OpAccessChain %_ptr_Function_int %data %178 OpStore %210 %208
%213 = OpLoad %int %212 %211 = OpLoad %int %x_153
%214 = OpLoad %int %x_130 OpStore %x_134_phi %211
%215 = OpAccessChain %_ptr_Function_int %temp %214 %212 = OpLoad %int %x_135
OpStore %215 %213 OpStore %x_136_phi %212
%216 = OpLoad %int %x_153 OpBranch %194
OpStore %x_134_phi %216 %194 = OpLabel
%217 = OpLoad %int %x_135 %213 = OpLoad %int %x_134_phi
OpStore %x_136_phi %217 %214 = OpLoad %int %x_136_phi
OpBranch %199 OpBranch %168
%199 = OpLabel %168 = OpLabel
%218 = OpLoad %int %x_134_phi OpStore %x_130_phi %189
%219 = OpLoad %int %x_136_phi OpStore %x_133_phi %213
OpBranch %171 OpStore %x_135_phi %214
%171 = OpLabel OpBranch %166
OpStore %x_130_phi %194 %167 = OpLabel
OpStore %x_133_phi %218 %215 = OpLoad %int %x_130
OpStore %x_135_phi %219 OpStore %x_157_phi %215
OpBranch %169 %216 = OpLoad %int %x_135
%170 = OpLabel OpStore %x_160_phi %216
%220 = OpLoad %int %x_130 OpBranch %217
OpStore %x_157_phi %220 %217 = OpLabel
%221 = OpLoad %int %x_135 OpLoopMerge %218 %219 None
OpStore %x_160_phi %221 OpBranch %220
OpBranch %222 %220 = OpLabel
%222 = OpLabel %223 = OpLoad %int %x_157_phi
OpLoopMerge %223 %224 None %224 = OpLoad %int %x_160_phi
OpBranch %225 %225 = OpSLessThan %bool %224 %int_10
%225 = OpLabel %226 = OpSLessThanEqual %bool %224 %160
%228 = OpLoad %int %x_157_phi %227 = OpLogicalAnd %bool %225 %226
%229 = OpLoad %int %x_160_phi OpSelectionMerge %228 None
%230 = OpSLessThan %bool %229 %int_10 OpBranchConditional %227 %229 %230
OpSelectionMerge %231 None %229 = OpLabel
OpBranchConditional %230 %232 %231 OpBranch %228
%232 = OpLabel %230 = OpLabel
%233 = OpSLessThanEqual %bool %229 %163 OpBranch %218
OpBranch %231 %228 = OpLabel
%231 = OpLabel OpBranch %219
%234 = OpPhi %bool %230 %225 %233 %232 %219 = OpLabel
OpSelectionMerge %235 None %231 = OpIAdd %int %223 %int_1
OpBranchConditional %234 %236 %237 OpStore %x_158 %231
%236 = OpLabel %232 = OpIAdd %int %224 %int_1
OpBranch %235 OpStore %x_161 %232
%237 = OpLabel %233 = OpAccessChain %_ptr_Function_int %data %224
OpBranch %223 %234 = OpLoad %int %233
%235 = OpLabel %235 = OpAccessChain %_ptr_Function_int %temp %223
OpBranch %224 OpStore %235 %234
%224 = OpLabel %236 = OpLoad %int %x_158
%238 = OpIAdd %int %228 %int_1 OpStore %x_157_phi %236
OpStore %x_158 %238 %237 = OpLoad %int %x_161
%239 = OpIAdd %int %229 %int_1 OpStore %x_160_phi %237
OpStore %x_161 %239 OpBranch %217
%240 = OpAccessChain %_ptr_Function_int %data %229 %218 = OpLabel
%241 = OpLoad %int %240 OpStore %x_170_phi %154
%242 = OpAccessChain %_ptr_Function_int %temp %228 OpBranch %238
OpStore %242 %241 %238 = OpLabel
%243 = OpLoad %int %x_158 OpLoopMerge %239 %240 None
OpStore %x_157_phi %243 OpBranch %241
%244 = OpLoad %int %x_161 %241 = OpLabel
OpStore %x_160_phi %244 %243 = OpLoad %int %x_170_phi
OpBranch %222 %244 = OpSLessThanEqual %bool %243 %163
%223 = OpLabel OpSelectionMerge %245 None
OpStore %x_170_phi %157 OpBranchConditional %244 %246 %247
OpBranch %245
%245 = OpLabel
OpLoopMerge %246 %247 None
OpBranch %248
%248 = OpLabel
%250 = OpLoad %int %x_170_phi
%251 = OpSLessThanEqual %bool %250 %166
OpSelectionMerge %252 None
OpBranchConditional %251 %253 %254
%253 = OpLabel
OpBranch %252
%254 = OpLabel
OpBranch %246
%252 = OpLabel
OpBranch %247
%247 = OpLabel
%255 = OpAccessChain %_ptr_Function_int %temp %250
%256 = OpLoad %int %255
%257 = OpAccessChain %_ptr_Function_int %data %250
OpStore %257 %256
%258 = OpIAdd %int %250 %int_1
OpStore %x_171 %258
%259 = OpLoad %int %x_171
OpStore %x_170_phi %259
OpBranch %245
%246 = OpLabel %246 = OpLabel
OpBranch %147 OpBranch %245
%147 = OpLabel %247 = OpLabel
OpStore %x_118_phi %165 OpBranch %239
OpBranch %145 %245 = OpLabel
%146 = OpLabel OpBranch %240
OpBranch %135 %240 = OpLabel
%135 = OpLabel %248 = OpAccessChain %_ptr_Function_int %temp %243
%260 = OpIMul %int %int_2 %139 %249 = OpLoad %int %248
OpStore %x_112 %260 %250 = OpAccessChain %_ptr_Function_int %data %243
%261 = OpLoad %int %x_112 OpStore %250 %249
OpStore %x_111_phi %261 %251 = OpIAdd %int %243 %int_1
OpBranch %133 OpStore %x_171 %251
%134 = OpLabel %252 = OpLoad %int %x_171
%268 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 OpStore %x_170_phi %252
%269 = OpLoad %float %268 OpBranch %238
%270 = OpConvertFToS %int %269 %239 = OpLabel
OpStore %x_180 %270 OpBranch %144
%271 = OpLoad %int %x_180 %144 = OpLabel
%273 = OpSLessThan %bool %271 %int_30 OpStore %x_118_phi %162
OpSelectionMerge %274 None OpBranch %142
OpBranchConditional %273 %275 %276 %143 = OpLabel
%275 = OpLabel OpBranch %132
%277 = OpAccessChain %_ptr_Function_int %data %int_0 %132 = OpLabel
%278 = OpLoad %int %277 %253 = OpIMul %int %int_2 %136
%280 = OpConvertSToF %float %278 OpStore %x_112 %253
%282 = OpFMul %float %280 %float_0_100000001 %254 = OpLoad %int %x_112
%283 = OpFAdd %float %float_0_5 %282 OpStore %x_111_phi %254
OpStore %x_189 %283 OpBranch %130
%284 = OpLoad %float %x_189 %131 = OpLabel
OpStore %x_262_phi %284 %261 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %274 %262 = OpLoad %float %261
%276 = OpLabel %263 = OpConvertFToS %int %262
%288 = OpLoad %int %x_180 OpStore %x_180 %263
%290 = OpSLessThan %bool %288 %int_60 %264 = OpLoad %int %x_180
OpSelectionMerge %291 None %266 = OpSLessThan %bool %264 %int_30
OpBranchConditional %290 %292 %293 OpSelectionMerge %267 None
%292 = OpLabel OpBranchConditional %266 %268 %269
%294 = OpAccessChain %_ptr_Function_int %data %int_1 %268 = OpLabel
%295 = OpLoad %int %294 %270 = OpAccessChain %_ptr_Function_int %data %int_0
%296 = OpConvertSToF %float %295 %271 = OpLoad %int %270
%297 = OpFMul %float %296 %float_0_100000001 %273 = OpConvertSToF %float %271
%298 = OpFAdd %float %float_0_5 %297 %275 = OpFMul %float %273 %float_0_100000001
OpStore %x_198 %298 %276 = OpFAdd %float %float_0_5 %275
%299 = OpLoad %float %x_198 OpStore %x_189 %276
OpStore %x_261_phi %299 %277 = OpLoad %float %x_189
OpBranch %291 OpStore %x_262_phi %277
%293 = OpLabel OpBranch %267
%303 = OpLoad %int %x_180 %269 = OpLabel
%305 = OpSLessThan %bool %303 %int_90 %281 = OpLoad %int %x_180
OpSelectionMerge %306 None %283 = OpSLessThan %bool %281 %int_60
OpBranchConditional %305 %307 %308 OpSelectionMerge %284 None
%307 = OpLabel OpBranchConditional %283 %285 %286
%309 = OpAccessChain %_ptr_Function_int %data %int_2 %285 = OpLabel
%310 = OpLoad %int %309 %287 = OpAccessChain %_ptr_Function_int %data %int_1
%311 = OpConvertSToF %float %310 %288 = OpLoad %int %287
%312 = OpFMul %float %311 %float_0_100000001 %289 = OpConvertSToF %float %288
%313 = OpFAdd %float %float_0_5 %312 %290 = OpFMul %float %289 %float_0_100000001
OpStore %x_207 %313 %291 = OpFAdd %float %float_0_5 %290
%314 = OpLoad %float %x_207 OpStore %x_198 %291
OpStore %x_260_phi %314 %292 = OpLoad %float %x_198
OpBranch %306 OpStore %x_261_phi %292
%308 = OpLabel OpBranch %284
%315 = OpLoad %int %x_180 %286 = OpLabel
%317 = OpSLessThan %bool %315 %int_120 %296 = OpLoad %int %x_180
OpSelectionMerge %318 None %298 = OpSLessThan %bool %296 %int_90
OpBranchConditional %317 %319 %320 OpSelectionMerge %299 None
%319 = OpLabel OpBranchConditional %298 %300 %301
%321 = OpAccessChain %_ptr_Function_int %data %int_3 %300 = OpLabel
%322 = OpLoad %int %321 %302 = OpAccessChain %_ptr_Function_int %data %int_2
%323 = OpConvertSToF %float %322 %303 = OpLoad %int %302
%324 = OpFMul %float %323 %float_0_100000001 %304 = OpConvertSToF %float %303
%325 = OpFAdd %float %float_0_5 %324 %305 = OpFMul %float %304 %float_0_100000001
OpStore %x_216 %325 %306 = OpFAdd %float %float_0_5 %305
%326 = OpLoad %float %x_216 OpStore %x_207 %306
OpStore %x_259_phi %326 %307 = OpLoad %float %x_207
OpBranch %318 OpStore %x_260_phi %307
%320 = OpLabel OpBranch %299
%330 = OpLoad %int %x_180 %301 = OpLabel
%332 = OpSLessThan %bool %330 %int_150 %308 = OpLoad %int %x_180
OpSelectionMerge %333 None %310 = OpSLessThan %bool %308 %int_120
OpBranchConditional %332 %334 %335 OpSelectionMerge %311 None
%334 = OpLabel OpBranchConditional %310 %312 %313
%312 = OpLabel
%314 = OpAccessChain %_ptr_Function_int %data %int_3
%315 = OpLoad %int %314
%316 = OpConvertSToF %float %315
%317 = OpFMul %float %316 %float_0_100000001
%318 = OpFAdd %float %float_0_5 %317
OpStore %x_216 %318
%319 = OpLoad %float %x_216
OpStore %x_259_phi %319
OpBranch %311
%313 = OpLabel
%323 = OpLoad %int %x_180
%325 = OpSLessThan %bool %323 %int_150
OpSelectionMerge %326 None
OpBranchConditional %325 %327 %328
%327 = OpLabel
OpKill OpKill
%328 = OpLabel
%332 = OpLoad %int %x_180
%334 = OpSLessThan %bool %332 %int_180
OpSelectionMerge %335 None
OpBranchConditional %334 %336 %337
%336 = OpLabel
%339 = OpAccessChain %_ptr_Function_int %data %int_5
%340 = OpLoad %int %339
%341 = OpConvertSToF %float %340
%342 = OpFMul %float %341 %float_0_100000001
%343 = OpFAdd %float %float_0_5 %342
OpStore %x_229 %343
%344 = OpLoad %float %x_229
OpStore %x_258_phi %344
OpBranch %335
%337 = OpLabel
%348 = OpLoad %int %x_180
%350 = OpSLessThan %bool %348 %int_210
OpSelectionMerge %351 None
OpBranchConditional %350 %352 %353
%352 = OpLabel
%355 = OpAccessChain %_ptr_Function_int %data %int_6
%356 = OpLoad %int %355
%357 = OpConvertSToF %float %356
%358 = OpFMul %float %357 %float_0_100000001
%359 = OpFAdd %float %float_0_5 %358
OpStore %x_238 %359
%360 = OpLoad %float %x_238
OpStore %x_257_phi %360
OpBranch %351
%353 = OpLabel
%361 = OpLoad %int %x_180
%363 = OpSLessThan %bool %361 %int_240
OpSelectionMerge %364 None
OpBranchConditional %363 %365 %366
%365 = OpLabel
%368 = OpAccessChain %_ptr_Function_int %data %int_7
%369 = OpLoad %int %368
%370 = OpConvertSToF %float %369
%371 = OpFMul %float %370 %float_0_100000001
%372 = OpFAdd %float %float_0_5 %371
OpStore %x_247 %372
%373 = OpLoad %float %x_247
OpStore %x_256_phi %373
OpBranch %364
%366 = OpLabel
%374 = OpLoad %int %x_180
%376 = OpSLessThan %bool %374 %int_270
OpSelectionMerge %377 None
OpBranchConditional %376 %378 %379
%378 = OpLabel
OpBranch %377
%379 = OpLabel
OpKill
%377 = OpLabel
%381 = OpAccessChain %_ptr_Function_int %data %int_8
%382 = OpLoad %int %381
%383 = OpConvertSToF %float %382
%384 = OpFMul %float %383 %float_0_100000001
%385 = OpFAdd %float %float_0_5 %384
OpStore %x_255 %385
%386 = OpLoad %float %x_255
OpStore %x_256_phi %386
OpBranch %364
%364 = OpLabel
%387 = OpLoad %float %x_256_phi
OpStore %x_256 %387
%388 = OpLoad %float %x_256
OpStore %x_257_phi %388
OpBranch %351
%351 = OpLabel
%389 = OpLoad %float %x_257_phi
OpStore %x_257 %389
%390 = OpLoad %float %x_257
OpStore %x_258_phi %390
OpBranch %335
%335 = OpLabel %335 = OpLabel
%339 = OpLoad %int %x_180 %391 = OpLoad %float %x_258_phi
%341 = OpSLessThan %bool %339 %int_180 OpStore %x_258 %391
OpSelectionMerge %342 None OpBranch %326
OpBranchConditional %341 %343 %344 %326 = OpLabel
%343 = OpLabel %392 = OpLoad %float %x_258
%346 = OpAccessChain %_ptr_Function_int %data %int_5 OpStore %x_259_phi %392
%347 = OpLoad %int %346 OpBranch %311
%348 = OpConvertSToF %float %347 %311 = OpLabel
%349 = OpFMul %float %348 %float_0_100000001 %393 = OpLoad %float %x_259_phi
%350 = OpFAdd %float %float_0_5 %349 OpStore %x_259 %393
OpStore %x_229 %350 %394 = OpLoad %float %x_259
%351 = OpLoad %float %x_229 OpStore %x_260_phi %394
OpStore %x_258_phi %351 OpBranch %299
OpBranch %342 %299 = OpLabel
%344 = OpLabel %395 = OpLoad %float %x_260_phi
%355 = OpLoad %int %x_180 OpStore %x_260 %395
%357 = OpSLessThan %bool %355 %int_210 %396 = OpLoad %float %x_260
OpSelectionMerge %358 None OpStore %x_261_phi %396
OpBranchConditional %357 %359 %360 OpBranch %284
%359 = OpLabel %284 = OpLabel
%362 = OpAccessChain %_ptr_Function_int %data %int_6 %397 = OpLoad %float %x_261_phi
%363 = OpLoad %int %362 OpStore %x_261 %397
%364 = OpConvertSToF %float %363 %398 = OpLoad %float %x_261
%365 = OpFMul %float %364 %float_0_100000001 OpStore %x_262_phi %398
%366 = OpFAdd %float %float_0_5 %365 OpBranch %267
OpStore %x_238 %366 %267 = OpLabel
%367 = OpLoad %float %x_238 %399 = OpLoad %float %x_262_phi
OpStore %x_257_phi %367 %401 = OpCompositeConstruct %v4float %399 %399 %399 %float_1
OpBranch %358 OpStore %x_GLF_color %401
%360 = OpLabel
%368 = OpLoad %int %x_180
%370 = OpSLessThan %bool %368 %int_240
OpSelectionMerge %371 None
OpBranchConditional %370 %372 %373
%372 = OpLabel
%375 = OpAccessChain %_ptr_Function_int %data %int_7
%376 = OpLoad %int %375
%377 = OpConvertSToF %float %376
%378 = OpFMul %float %377 %float_0_100000001
%379 = OpFAdd %float %float_0_5 %378
OpStore %x_247 %379
%380 = OpLoad %float %x_247
OpStore %x_256_phi %380
OpBranch %371
%373 = OpLabel
%381 = OpLoad %int %x_180
%383 = OpSLessThan %bool %381 %int_270
OpSelectionMerge %384 None
OpBranchConditional %383 %385 %386
%385 = OpLabel
OpBranch %384
%386 = OpLabel
OpKill
%384 = OpLabel
%388 = OpAccessChain %_ptr_Function_int %data %int_8
%389 = OpLoad %int %388
%390 = OpConvertSToF %float %389
%391 = OpFMul %float %390 %float_0_100000001
%392 = OpFAdd %float %float_0_5 %391
OpStore %x_255 %392
%393 = OpLoad %float %x_255
OpStore %x_256_phi %393
OpBranch %371
%371 = OpLabel
%394 = OpLoad %float %x_256_phi
OpStore %x_256 %394
%395 = OpLoad %float %x_256
OpStore %x_257_phi %395
OpBranch %358
%358 = OpLabel
%396 = OpLoad %float %x_257_phi
OpStore %x_257 %396
%397 = OpLoad %float %x_257
OpStore %x_258_phi %397
OpBranch %342
%342 = OpLabel
%398 = OpLoad %float %x_258_phi
OpStore %x_258 %398
OpBranch %333
%333 = OpLabel
%399 = OpLoad %float %x_258
OpStore %x_259_phi %399
OpBranch %318
%318 = OpLabel
%400 = OpLoad %float %x_259_phi
OpStore %x_259 %400
%401 = OpLoad %float %x_259
OpStore %x_260_phi %401
OpBranch %306
%306 = OpLabel
%402 = OpLoad %float %x_260_phi
OpStore %x_260 %402
%403 = OpLoad %float %x_260
OpStore %x_261_phi %403
OpBranch %291
%291 = OpLabel
%404 = OpLoad %float %x_261_phi
OpStore %x_261 %404
%405 = OpLoad %float %x_261
OpStore %x_262_phi %405
OpBranch %274
%274 = OpLabel
%406 = OpLoad %float %x_262_phi
%408 = OpCompositeConstruct %v4float %406 %406 %406 %float_1
OpStore %x_GLF_color %408
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %409 %tint_symbol_3 = OpFunction %void None %402
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%413 = OpLabel %406 = OpLabel
%414 = OpCompositeExtract %v4float %tint_symbol_1 0 %407 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %414 OpStore %tint_symbol_2 %407
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%416 = OpLabel %409 = OpLabel
%417 = OpLoad %v4float %tint_symbol %410 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %417 OpStore %gl_FragCoord %410
%418 = OpFunctionCall %void %main_1 %411 = OpFunctionCall %void %main_1
%420 = OpLoad %v4float %x_GLF_color %413 = OpLoad %v4float %x_GLF_color
%421 = OpCompositeConstruct %main_out %420 %414 = OpCompositeConstruct %main_out %413
%419 = OpFunctionCall %void %tint_symbol_3 %421 %412 = OpFunctionCall %void %tint_symbol_3 %414
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 44[%44] is not post dominated by the back-edge block 115[%115]
%115 = OpLabel

View File

@ -1,12 +1,10 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 422 ; Bound: 419
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%167 = OpExtInstImport "GLSL.std.450" %164 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
@ -148,7 +146,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%409 = OpTypeFunction %void %main_out %406 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15 %main_1 = OpFunction %void None %15
%18 = OpLabel %18 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25 %temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25
@ -309,434 +307,424 @@ SKIP: FAILED
%44 = OpLabel %44 = OpLabel
OpStore %x_63_phi %111 OpStore %x_63_phi %111
%113 = OpSLessThan %bool %111 %int_10 %113 = OpSLessThan %bool %111 %int_10
OpSelectionMerge %115 None OpBranchConditional %113 %42 %43
OpBranchConditional %113 %116 %117
%116 = OpLabel
OpBranch %115
%117 = OpLabel
OpBranch %43
%115 = OpLabel
OpBranch %42
%43 = OpLabel %43 = OpLabel
OpStore %x_102_phi %int_0 OpStore %x_102_phi %int_0
OpBranch %115
%115 = OpLabel
OpLoopMerge %116 %117 None
OpBranch %118 OpBranch %118
%118 = OpLabel %118 = OpLabel
OpLoopMerge %119 %120 None %120 = OpLoad %int %x_102_phi
OpBranch %121 %121 = OpSLessThan %bool %120 %int_10
%121 = OpLabel OpSelectionMerge %122 None
%123 = OpLoad %int %x_102_phi OpBranchConditional %121 %123 %124
%124 = OpSLessThan %bool %123 %int_10 %123 = OpLabel
OpSelectionMerge %125 None OpBranch %122
OpBranchConditional %124 %126 %127 %124 = OpLabel
%126 = OpLabel OpBranch %116
OpBranch %125 %122 = OpLabel
%127 = OpLabel OpBranch %117
OpBranch %119 %117 = OpLabel
%125 = OpLabel %125 = OpAccessChain %_ptr_Function_int %data %120
OpBranch %120 %126 = OpLoad %int %125
%120 = OpLabel %127 = OpAccessChain %_ptr_Function_int %temp %120
%128 = OpAccessChain %_ptr_Function_int %data %123 OpStore %127 %126
%129 = OpLoad %int %128 %128 = OpIAdd %int %120 %int_1
%130 = OpAccessChain %_ptr_Function_int %temp %123 OpStore %x_103 %128
OpStore %130 %129 %129 = OpLoad %int %x_103
%131 = OpIAdd %int %123 %int_1 OpStore %x_102_phi %129
OpStore %x_103 %131 OpBranch %115
%132 = OpLoad %int %x_103 %116 = OpLabel
OpStore %x_102_phi %132
OpBranch %118
%119 = OpLabel
OpStore %x_111_phi %int_1 OpStore %x_111_phi %int_1
OpBranch %130
%130 = OpLabel
OpLoopMerge %131 %132 None
OpBranch %133 OpBranch %133
%133 = OpLabel %133 = OpLabel
OpLoopMerge %134 %135 None %136 = OpLoad %int %x_111_phi
OpBranch %136 %138 = OpSLessThanEqual %bool %136 %int_9
%136 = OpLabel OpSelectionMerge %139 None
%139 = OpLoad %int %x_111_phi OpBranchConditional %138 %140 %141
%141 = OpSLessThanEqual %bool %139 %int_9 %140 = OpLabel
OpSelectionMerge %142 None OpBranch %139
OpBranchConditional %141 %143 %144 %141 = OpLabel
%143 = OpLabel OpBranch %131
OpBranch %142 %139 = OpLabel
%144 = OpLabel
OpBranch %134
%142 = OpLabel
OpStore %x_118_phi %int_0 OpStore %x_118_phi %int_0
OpBranch %142
%142 = OpLabel
OpLoopMerge %143 %144 None
OpBranch %145 OpBranch %145
%145 = OpLabel %145 = OpLabel
OpLoopMerge %146 %147 None %154 = OpLoad %int %x_118_phi
OpBranch %148 %155 = OpSLessThan %bool %154 %int_9
%148 = OpLabel OpSelectionMerge %156 None
%157 = OpLoad %int %x_118_phi OpBranchConditional %155 %157 %158
%158 = OpSLessThan %bool %157 %int_9 %157 = OpLabel
OpSelectionMerge %159 None OpBranch %156
OpBranchConditional %158 %160 %161 %158 = OpLabel
%160 = OpLabel OpBranch %143
OpBranch %159 %156 = OpLabel
%161 = OpLabel %159 = OpIAdd %int %154 %136
OpBranch %146 %160 = OpISub %int %159 %int_1
%159 = OpLabel %161 = OpIMul %int %int_2 %136
%162 = OpIAdd %int %157 %139 %162 = OpIAdd %int %154 %161
%163 = OpISub %int %162 %int_1 %165 = OpISub %int %162 %int_1
%164 = OpIMul %int %int_2 %139 %163 = OpExtInst %int %164 SMin %165 %int_9
%165 = OpIAdd %int %157 %164 OpStore %x_130_phi %154
%168 = OpISub %int %165 %int_1 OpStore %x_133_phi %159
%166 = OpExtInst %int %167 SMin %168 %int_9 OpStore %x_135_phi %154
OpStore %x_130_phi %157 OpBranch %166
OpStore %x_133_phi %162 %166 = OpLabel
OpStore %x_135_phi %157 OpLoopMerge %167 %168 None
OpBranch %169 OpBranch %169
%169 = OpLabel %169 = OpLabel
OpLoopMerge %170 %171 None %174 = OpLoad %int %x_130_phi
OpBranch %172 OpStore %x_130 %174
%172 = OpLabel %175 = OpLoad %int %x_133_phi
%177 = OpLoad %int %x_130_phi %176 = OpLoad %int %x_135_phi
OpStore %x_130 %177 OpStore %x_135 %176
%178 = OpLoad %int %x_133_phi %177 = OpLoad %int %x_135
%179 = OpLoad %int %x_135_phi %178 = OpSLessThanEqual %bool %177 %160
OpStore %x_135 %179 OpSelectionMerge %179 None
%180 = OpLoad %int %x_135 OpBranchConditional %178 %180 %179
%181 = OpSLessThanEqual %bool %180 %163 %180 = OpLabel
OpSelectionMerge %182 None %181 = OpSLessThanEqual %bool %175 %163
OpBranchConditional %181 %183 %182 OpBranch %179
%179 = OpLabel
%182 = OpPhi %bool %178 %169 %181 %180
OpSelectionMerge %183 None
OpBranchConditional %182 %184 %185
%184 = OpLabel
OpBranch %183
%185 = OpLabel
OpBranch %167
%183 = OpLabel %183 = OpLabel
%184 = OpSLessThanEqual %bool %178 %166 %186 = OpLoad %int %x_135
OpBranch %182 %187 = OpAccessChain %_ptr_Function_int %data %186
%182 = OpLabel %188 = OpLoad %int %187
%185 = OpPhi %bool %181 %172 %184 %183 %189 = OpAccessChain %_ptr_Function_int %data %175
OpSelectionMerge %186 None %190 = OpLoad %int %189
OpBranchConditional %185 %187 %188 %192 = OpLoad %int %x_130
%187 = OpLabel %193 = OpCopyObject %int %int_1
OpBranch %186 %194 = OpIAdd %int %192 %193
%188 = OpLabel %191 = OpCopyObject %int %194
OpBranch %170 %195 = OpSLessThan %bool %188 %190
%186 = OpLabel OpSelectionMerge %196 None
%189 = OpLoad %int %x_135 OpBranchConditional %195 %197 %198
%190 = OpAccessChain %_ptr_Function_int %data %189 %197 = OpLabel
%191 = OpLoad %int %190 %200 = OpLoad %int %x_135
%192 = OpAccessChain %_ptr_Function_int %data %178 %201 = OpCopyObject %int %int_1
%193 = OpLoad %int %192 %202 = OpIAdd %int %200 %201
%195 = OpLoad %int %x_130 %199 = OpCopyObject %int %202
%196 = OpCopyObject %int %int_1 OpStore %x_150 %199
%197 = OpIAdd %int %195 %196 %203 = OpAccessChain %_ptr_Function_int %data %186
%194 = OpCopyObject %int %197 %204 = OpLoad %int %203
%198 = OpSLessThan %bool %191 %193 %205 = OpLoad %int %x_130
OpSelectionMerge %199 None %206 = OpAccessChain %_ptr_Function_int %temp %205
OpBranchConditional %198 %200 %201 OpStore %206 %204
%200 = OpLabel OpStore %x_134_phi %175
%203 = OpLoad %int %x_135 %207 = OpLoad %int %x_150
%204 = OpCopyObject %int %int_1 OpStore %x_136_phi %207
%205 = OpIAdd %int %203 %204 OpBranch %196
%202 = OpCopyObject %int %205 %198 = OpLabel
OpStore %x_150 %202 %208 = OpIAdd %int %175 %int_1
%206 = OpAccessChain %_ptr_Function_int %data %189 OpStore %x_153 %208
%207 = OpLoad %int %206 %209 = OpAccessChain %_ptr_Function_int %data %175
%208 = OpLoad %int %x_130 %210 = OpLoad %int %209
%209 = OpAccessChain %_ptr_Function_int %temp %208 %211 = OpLoad %int %x_130
OpStore %209 %207 %212 = OpAccessChain %_ptr_Function_int %temp %211
OpStore %x_134_phi %178 OpStore %212 %210
%210 = OpLoad %int %x_150 %213 = OpLoad %int %x_153
OpStore %x_136_phi %210 OpStore %x_134_phi %213
OpBranch %199 %214 = OpLoad %int %x_135
%201 = OpLabel OpStore %x_136_phi %214
%211 = OpIAdd %int %178 %int_1 OpBranch %196
OpStore %x_153 %211 %196 = OpLabel
%212 = OpAccessChain %_ptr_Function_int %data %178 %215 = OpLoad %int %x_134_phi
%213 = OpLoad %int %212 %216 = OpLoad %int %x_136_phi
%214 = OpLoad %int %x_130 OpBranch %168
%215 = OpAccessChain %_ptr_Function_int %temp %214 %168 = OpLabel
OpStore %215 %213 OpStore %x_130_phi %191
%216 = OpLoad %int %x_153 OpStore %x_133_phi %215
OpStore %x_134_phi %216 OpStore %x_135_phi %216
%217 = OpLoad %int %x_135 OpBranch %166
OpStore %x_136_phi %217 %167 = OpLabel
OpBranch %199 %217 = OpLoad %int %x_130
%199 = OpLabel OpStore %x_157_phi %217
%218 = OpLoad %int %x_134_phi %218 = OpLoad %int %x_135
%219 = OpLoad %int %x_136_phi OpStore %x_160_phi %218
OpBranch %171 OpBranch %219
%171 = OpLabel %219 = OpLabel
OpStore %x_130_phi %194 OpLoopMerge %220 %221 None
OpStore %x_133_phi %218
OpStore %x_135_phi %219
OpBranch %169
%170 = OpLabel
%220 = OpLoad %int %x_130
OpStore %x_157_phi %220
%221 = OpLoad %int %x_135
OpStore %x_160_phi %221
OpBranch %222 OpBranch %222
%222 = OpLabel %222 = OpLabel
OpLoopMerge %223 %224 None %225 = OpLoad %int %x_157_phi
OpBranch %225 %226 = OpLoad %int %x_160_phi
%225 = OpLabel %227 = OpSLessThan %bool %226 %int_10
%228 = OpLoad %int %x_157_phi OpSelectionMerge %228 None
%229 = OpLoad %int %x_160_phi OpBranchConditional %227 %229 %228
%230 = OpSLessThan %bool %229 %int_10 %229 = OpLabel
OpSelectionMerge %231 None %230 = OpSLessThanEqual %bool %226 %160
OpBranchConditional %230 %232 %231 OpBranch %228
%228 = OpLabel
%231 = OpPhi %bool %227 %222 %230 %229
OpSelectionMerge %232 None
OpBranchConditional %231 %233 %234
%233 = OpLabel
OpBranch %232
%234 = OpLabel
OpBranch %220
%232 = OpLabel %232 = OpLabel
%233 = OpSLessThanEqual %bool %229 %163 OpBranch %221
OpBranch %231 %221 = OpLabel
%231 = OpLabel %235 = OpIAdd %int %225 %int_1
%234 = OpPhi %bool %230 %225 %233 %232 OpStore %x_158 %235
OpSelectionMerge %235 None %236 = OpIAdd %int %226 %int_1
OpBranchConditional %234 %236 %237 OpStore %x_161 %236
%236 = OpLabel %237 = OpAccessChain %_ptr_Function_int %data %226
OpBranch %235 %238 = OpLoad %int %237
%237 = OpLabel %239 = OpAccessChain %_ptr_Function_int %temp %225
OpBranch %223 OpStore %239 %238
%235 = OpLabel %240 = OpLoad %int %x_158
OpBranch %224 OpStore %x_157_phi %240
%224 = OpLabel %241 = OpLoad %int %x_161
%238 = OpIAdd %int %228 %int_1 OpStore %x_160_phi %241
OpStore %x_158 %238 OpBranch %219
%239 = OpIAdd %int %229 %int_1 %220 = OpLabel
OpStore %x_161 %239 OpStore %x_170_phi %154
%240 = OpAccessChain %_ptr_Function_int %data %229 OpBranch %242
%241 = OpLoad %int %240 %242 = OpLabel
%242 = OpAccessChain %_ptr_Function_int %temp %228 OpLoopMerge %243 %244 None
OpStore %242 %241
%243 = OpLoad %int %x_158
OpStore %x_157_phi %243
%244 = OpLoad %int %x_161
OpStore %x_160_phi %244
OpBranch %222
%223 = OpLabel
OpStore %x_170_phi %157
OpBranch %245 OpBranch %245
%245 = OpLabel %245 = OpLabel
OpLoopMerge %246 %247 None %247 = OpLoad %int %x_170_phi
OpBranch %248 %248 = OpSLessThanEqual %bool %247 %163
%248 = OpLabel OpSelectionMerge %249 None
%250 = OpLoad %int %x_170_phi OpBranchConditional %248 %250 %251
%251 = OpSLessThanEqual %bool %250 %166 %250 = OpLabel
OpSelectionMerge %252 None OpBranch %249
OpBranchConditional %251 %253 %254 %251 = OpLabel
%253 = OpLabel OpBranch %243
OpBranch %252 %249 = OpLabel
%254 = OpLabel OpBranch %244
OpBranch %246 %244 = OpLabel
%252 = OpLabel %252 = OpAccessChain %_ptr_Function_int %temp %247
OpBranch %247 %253 = OpLoad %int %252
%247 = OpLabel %254 = OpAccessChain %_ptr_Function_int %data %247
%255 = OpAccessChain %_ptr_Function_int %temp %250 OpStore %254 %253
%256 = OpLoad %int %255 %255 = OpIAdd %int %247 %int_1
%257 = OpAccessChain %_ptr_Function_int %data %250 OpStore %x_171 %255
OpStore %257 %256 %256 = OpLoad %int %x_171
%258 = OpIAdd %int %250 %int_1 OpStore %x_170_phi %256
OpStore %x_171 %258 OpBranch %242
%259 = OpLoad %int %x_171 %243 = OpLabel
OpStore %x_170_phi %259 OpBranch %144
OpBranch %245 %144 = OpLabel
%246 = OpLabel OpStore %x_118_phi %162
OpBranch %147 OpBranch %142
%147 = OpLabel %143 = OpLabel
OpStore %x_118_phi %165 OpBranch %132
OpBranch %145 %132 = OpLabel
%146 = OpLabel %257 = OpIMul %int %int_2 %136
OpBranch %135 OpStore %x_112 %257
%135 = OpLabel %258 = OpLoad %int %x_112
%260 = OpIMul %int %int_2 %139 OpStore %x_111_phi %258
OpStore %x_112 %260 OpBranch %130
%261 = OpLoad %int %x_112 %131 = OpLabel
OpStore %x_111_phi %261 %265 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %133 %266 = OpLoad %float %265
%134 = OpLabel %267 = OpConvertFToS %int %266
%268 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 OpStore %x_180 %267
%269 = OpLoad %float %268 %268 = OpLoad %int %x_180
%270 = OpConvertFToS %int %269 %270 = OpSLessThan %bool %268 %int_30
OpStore %x_180 %270 OpSelectionMerge %271 None
%271 = OpLoad %int %x_180 OpBranchConditional %270 %272 %273
%273 = OpSLessThan %bool %271 %int_30 %272 = OpLabel
OpSelectionMerge %274 None %274 = OpAccessChain %_ptr_Function_int %data %int_0
OpBranchConditional %273 %275 %276 %275 = OpLoad %int %274
%275 = OpLabel %277 = OpConvertSToF %float %275
%277 = OpAccessChain %_ptr_Function_int %data %int_0 %279 = OpFMul %float %277 %float_0_100000001
%278 = OpLoad %int %277 %280 = OpFAdd %float %float_0_5 %279
%280 = OpConvertSToF %float %278 OpStore %x_189 %280
%282 = OpFMul %float %280 %float_0_100000001 %281 = OpLoad %float %x_189
%283 = OpFAdd %float %float_0_5 %282 OpStore %x_262_phi %281
OpStore %x_189 %283 OpBranch %271
%284 = OpLoad %float %x_189 %273 = OpLabel
OpStore %x_262_phi %284 %285 = OpLoad %int %x_180
OpBranch %274 %287 = OpSLessThan %bool %285 %int_60
%276 = OpLabel OpSelectionMerge %288 None
%288 = OpLoad %int %x_180 OpBranchConditional %287 %289 %290
%290 = OpSLessThan %bool %288 %int_60 %289 = OpLabel
OpSelectionMerge %291 None %291 = OpAccessChain %_ptr_Function_int %data %int_1
OpBranchConditional %290 %292 %293 %292 = OpLoad %int %291
%292 = OpLabel %293 = OpConvertSToF %float %292
%294 = OpAccessChain %_ptr_Function_int %data %int_1 %294 = OpFMul %float %293 %float_0_100000001
%295 = OpLoad %int %294 %295 = OpFAdd %float %float_0_5 %294
%296 = OpConvertSToF %float %295 OpStore %x_198 %295
%297 = OpFMul %float %296 %float_0_100000001 %296 = OpLoad %float %x_198
%298 = OpFAdd %float %float_0_5 %297 OpStore %x_261_phi %296
OpStore %x_198 %298 OpBranch %288
%299 = OpLoad %float %x_198 %290 = OpLabel
OpStore %x_261_phi %299 %300 = OpLoad %int %x_180
OpBranch %291 %302 = OpSLessThan %bool %300 %int_90
%293 = OpLabel OpSelectionMerge %303 None
%303 = OpLoad %int %x_180 OpBranchConditional %302 %304 %305
%305 = OpSLessThan %bool %303 %int_90 %304 = OpLabel
OpSelectionMerge %306 None %306 = OpAccessChain %_ptr_Function_int %data %int_2
OpBranchConditional %305 %307 %308 %307 = OpLoad %int %306
%307 = OpLabel %308 = OpConvertSToF %float %307
%309 = OpAccessChain %_ptr_Function_int %data %int_2 %309 = OpFMul %float %308 %float_0_100000001
%310 = OpLoad %int %309 %310 = OpFAdd %float %float_0_5 %309
%311 = OpConvertSToF %float %310 OpStore %x_207 %310
%312 = OpFMul %float %311 %float_0_100000001 %311 = OpLoad %float %x_207
%313 = OpFAdd %float %float_0_5 %312 OpStore %x_260_phi %311
OpStore %x_207 %313 OpBranch %303
%314 = OpLoad %float %x_207 %305 = OpLabel
OpStore %x_260_phi %314 %312 = OpLoad %int %x_180
OpBranch %306 %314 = OpSLessThan %bool %312 %int_120
%308 = OpLabel OpSelectionMerge %315 None
%315 = OpLoad %int %x_180 OpBranchConditional %314 %316 %317
%317 = OpSLessThan %bool %315 %int_120 %316 = OpLabel
OpSelectionMerge %318 None %318 = OpAccessChain %_ptr_Function_int %data %int_3
OpBranchConditional %317 %319 %320 %319 = OpLoad %int %318
%319 = OpLabel %320 = OpConvertSToF %float %319
%321 = OpAccessChain %_ptr_Function_int %data %int_3 %321 = OpFMul %float %320 %float_0_100000001
%322 = OpLoad %int %321 %322 = OpFAdd %float %float_0_5 %321
%323 = OpConvertSToF %float %322 OpStore %x_216 %322
%324 = OpFMul %float %323 %float_0_100000001 %323 = OpLoad %float %x_216
%325 = OpFAdd %float %float_0_5 %324 OpStore %x_259_phi %323
OpStore %x_216 %325 OpBranch %315
%326 = OpLoad %float %x_216 %317 = OpLabel
OpStore %x_259_phi %326 %327 = OpLoad %int %x_180
OpBranch %318 %329 = OpSLessThan %bool %327 %int_150
%320 = OpLabel OpSelectionMerge %330 None
%330 = OpLoad %int %x_180 OpBranchConditional %329 %331 %332
%332 = OpSLessThan %bool %330 %int_150 %331 = OpLabel
OpSelectionMerge %333 None
OpBranchConditional %332 %334 %335
%334 = OpLabel
OpKill OpKill
%335 = OpLabel %332 = OpLabel
%339 = OpLoad %int %x_180 %336 = OpLoad %int %x_180
%341 = OpSLessThan %bool %339 %int_180 %338 = OpSLessThan %bool %336 %int_180
OpSelectionMerge %342 None OpSelectionMerge %339 None
OpBranchConditional %341 %343 %344 OpBranchConditional %338 %340 %341
%343 = OpLabel %340 = OpLabel
%346 = OpAccessChain %_ptr_Function_int %data %int_5 %343 = OpAccessChain %_ptr_Function_int %data %int_5
%347 = OpLoad %int %346 %344 = OpLoad %int %343
%348 = OpConvertSToF %float %347 %345 = OpConvertSToF %float %344
%349 = OpFMul %float %348 %float_0_100000001 %346 = OpFMul %float %345 %float_0_100000001
%350 = OpFAdd %float %float_0_5 %349 %347 = OpFAdd %float %float_0_5 %346
OpStore %x_229 %350 OpStore %x_229 %347
%351 = OpLoad %float %x_229 %348 = OpLoad %float %x_229
OpStore %x_258_phi %351 OpStore %x_258_phi %348
OpBranch %342 OpBranch %339
%344 = OpLabel %341 = OpLabel
%355 = OpLoad %int %x_180 %352 = OpLoad %int %x_180
%357 = OpSLessThan %bool %355 %int_210 %354 = OpSLessThan %bool %352 %int_210
OpSelectionMerge %358 None OpSelectionMerge %355 None
OpBranchConditional %357 %359 %360 OpBranchConditional %354 %356 %357
%359 = OpLabel %356 = OpLabel
%362 = OpAccessChain %_ptr_Function_int %data %int_6 %359 = OpAccessChain %_ptr_Function_int %data %int_6
%363 = OpLoad %int %362 %360 = OpLoad %int %359
%364 = OpConvertSToF %float %363 %361 = OpConvertSToF %float %360
%365 = OpFMul %float %364 %float_0_100000001 %362 = OpFMul %float %361 %float_0_100000001
%366 = OpFAdd %float %float_0_5 %365 %363 = OpFAdd %float %float_0_5 %362
OpStore %x_238 %366 OpStore %x_238 %363
%367 = OpLoad %float %x_238 %364 = OpLoad %float %x_238
OpStore %x_257_phi %367 OpStore %x_257_phi %364
OpBranch %358 OpBranch %355
%360 = OpLabel %357 = OpLabel
%368 = OpLoad %int %x_180 %365 = OpLoad %int %x_180
%370 = OpSLessThan %bool %368 %int_240 %367 = OpSLessThan %bool %365 %int_240
OpSelectionMerge %371 None OpSelectionMerge %368 None
OpBranchConditional %370 %372 %373 OpBranchConditional %367 %369 %370
%372 = OpLabel %369 = OpLabel
%375 = OpAccessChain %_ptr_Function_int %data %int_7 %372 = OpAccessChain %_ptr_Function_int %data %int_7
%376 = OpLoad %int %375 %373 = OpLoad %int %372
%377 = OpConvertSToF %float %376 %374 = OpConvertSToF %float %373
%378 = OpFMul %float %377 %float_0_100000001 %375 = OpFMul %float %374 %float_0_100000001
%379 = OpFAdd %float %float_0_5 %378 %376 = OpFAdd %float %float_0_5 %375
OpStore %x_247 %379 OpStore %x_247 %376
%380 = OpLoad %float %x_247 %377 = OpLoad %float %x_247
OpStore %x_256_phi %380 OpStore %x_256_phi %377
OpBranch %371 OpBranch %368
%373 = OpLabel %370 = OpLabel
%381 = OpLoad %int %x_180 %378 = OpLoad %int %x_180
%383 = OpSLessThan %bool %381 %int_270 %380 = OpSLessThan %bool %378 %int_270
OpSelectionMerge %384 None OpSelectionMerge %381 None
OpBranchConditional %383 %385 %386 OpBranchConditional %380 %382 %383
%385 = OpLabel %382 = OpLabel
OpBranch %384 OpBranch %381
%386 = OpLabel %383 = OpLabel
OpKill OpKill
%384 = OpLabel %381 = OpLabel
%388 = OpAccessChain %_ptr_Function_int %data %int_8 %385 = OpAccessChain %_ptr_Function_int %data %int_8
%389 = OpLoad %int %388 %386 = OpLoad %int %385
%390 = OpConvertSToF %float %389 %387 = OpConvertSToF %float %386
%391 = OpFMul %float %390 %float_0_100000001 %388 = OpFMul %float %387 %float_0_100000001
%392 = OpFAdd %float %float_0_5 %391 %389 = OpFAdd %float %float_0_5 %388
OpStore %x_255 %392 OpStore %x_255 %389
%393 = OpLoad %float %x_255 %390 = OpLoad %float %x_255
OpStore %x_256_phi %393 OpStore %x_256_phi %390
OpBranch %371 OpBranch %368
%371 = OpLabel %368 = OpLabel
%394 = OpLoad %float %x_256_phi %391 = OpLoad %float %x_256_phi
OpStore %x_256 %394 OpStore %x_256 %391
%395 = OpLoad %float %x_256 %392 = OpLoad %float %x_256
OpStore %x_257_phi %395 OpStore %x_257_phi %392
OpBranch %358 OpBranch %355
%358 = OpLabel %355 = OpLabel
%396 = OpLoad %float %x_257_phi %393 = OpLoad %float %x_257_phi
OpStore %x_257 %396 OpStore %x_257 %393
%397 = OpLoad %float %x_257 %394 = OpLoad %float %x_257
OpStore %x_258_phi %397 OpStore %x_258_phi %394
OpBranch %342 OpBranch %339
%342 = OpLabel %339 = OpLabel
%398 = OpLoad %float %x_258_phi %395 = OpLoad %float %x_258_phi
OpStore %x_258 %398 OpStore %x_258 %395
OpBranch %333 OpBranch %330
%333 = OpLabel %330 = OpLabel
%399 = OpLoad %float %x_258 %396 = OpLoad %float %x_258
OpStore %x_259_phi %399 OpStore %x_259_phi %396
OpBranch %318 OpBranch %315
%318 = OpLabel %315 = OpLabel
%400 = OpLoad %float %x_259_phi %397 = OpLoad %float %x_259_phi
OpStore %x_259 %400 OpStore %x_259 %397
%401 = OpLoad %float %x_259 %398 = OpLoad %float %x_259
OpStore %x_260_phi %401 OpStore %x_260_phi %398
OpBranch %306 OpBranch %303
%306 = OpLabel %303 = OpLabel
%402 = OpLoad %float %x_260_phi %399 = OpLoad %float %x_260_phi
OpStore %x_260 %402 OpStore %x_260 %399
%403 = OpLoad %float %x_260 %400 = OpLoad %float %x_260
OpStore %x_261_phi %403 OpStore %x_261_phi %400
OpBranch %291 OpBranch %288
%291 = OpLabel %288 = OpLabel
%404 = OpLoad %float %x_261_phi %401 = OpLoad %float %x_261_phi
OpStore %x_261 %404 OpStore %x_261 %401
%405 = OpLoad %float %x_261 %402 = OpLoad %float %x_261
OpStore %x_262_phi %405 OpStore %x_262_phi %402
OpBranch %274 OpBranch %271
%274 = OpLabel %271 = OpLabel
%406 = OpLoad %float %x_262_phi %403 = OpLoad %float %x_262_phi
%408 = OpCompositeConstruct %v4float %406 %406 %406 %float_1 %405 = OpCompositeConstruct %v4float %403 %403 %403 %float_1
OpStore %x_GLF_color %408 OpStore %x_GLF_color %405
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %409 %tint_symbol_3 = OpFunction %void None %406
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%413 = OpLabel %410 = OpLabel
%414 = OpCompositeExtract %v4float %tint_symbol_1 0 %411 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %414 OpStore %tint_symbol_2 %411
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %15 %main = OpFunction %void None %15
%416 = OpLabel %413 = OpLabel
%417 = OpLoad %v4float %tint_symbol %414 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %417 OpStore %gl_FragCoord %414
%418 = OpFunctionCall %void %main_1 %415 = OpFunctionCall %void %main_1
%420 = OpLoad %v4float %x_GLF_color %417 = OpLoad %v4float %x_GLF_color
%421 = OpCompositeConstruct %main_out %420 %418 = OpCompositeConstruct %main_out %417
%419 = OpFunctionCall %void %tint_symbol_3 %421 %416 = OpFunctionCall %void %tint_symbol_3 %418
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 44[%44] is not post dominated by the back-edge block 115[%115]
%115 = OpLabel

View File

@ -1,12 +1,10 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 416 ; Bound: 409
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%177 = OpExtInstImport "GLSL.std.450" %173 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
@ -86,12 +84,12 @@ SKIP: FAILED
%bool = OpTypeBool %bool = OpTypeBool
%_ptr_Private_int = OpTypePointer Private %int %_ptr_Private_int = OpTypePointer Private %int
%int_10 = OpConstant %int 10 %int_10 = OpConstant %int 10
%132 = OpTypeFunction %void %128 = OpTypeFunction %void
%int_0 = OpConstant %int 0 %int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9 %int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2 %int_2 = OpConstant %int 2
%_ptr_Function_float = OpTypePointer Function %float %_ptr_Function_float = OpTypePointer Function %float
%201 = OpConstantNull %float %197 = OpConstantNull %float
%uint_0 = OpConstant %uint 0 %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_float = OpTypePointer Uniform %float
%int_n5 = OpConstant %int -5 %int_n5 = OpConstant %int -5
@ -121,7 +119,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%403 = OpTypeFunction %void %main_out %396 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %23 %merge_i1_i1_i1_ = OpFunction %void None %23
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -148,129 +146,119 @@ SKIP: FAILED
%51 = OpLoad %int %j %51 = OpLoad %int %j
%53 = OpLoad %int %to %53 = OpLoad %int %to
%54 = OpSLessThanEqual %bool %48 %50 %54 = OpSLessThanEqual %bool %48 %50
OpSelectionMerge %56 None %56 = OpSLessThanEqual %bool %51 %53
OpBranchConditional %54 %57 %56 %57 = OpLogicalAnd %bool %54 %56
%57 = OpLabel OpSelectionMerge %58 None
%58 = OpSLessThanEqual %bool %51 %53 OpBranchConditional %57 %59 %60
OpBranch %56 %59 = OpLabel
%56 = OpLabel OpBranch %58
%59 = OpPhi %bool %54 %47 %58 %57
OpSelectionMerge %60 None
OpBranchConditional %59 %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %45
%60 = OpLabel %60 = OpLabel
%63 = OpLoad %int %i OpBranch %45
%65 = OpAccessChain %_ptr_Private_int %data %63 %58 = OpLabel
%66 = OpLoad %int %65 %61 = OpLoad %int %i
%67 = OpLoad %int %j %63 = OpAccessChain %_ptr_Private_int %data %61
%68 = OpAccessChain %_ptr_Private_int %data %67 %64 = OpLoad %int %63
%69 = OpLoad %int %68 %65 = OpLoad %int %j
%70 = OpSLessThan %bool %66 %69 %66 = OpAccessChain %_ptr_Private_int %data %65
OpSelectionMerge %71 None %67 = OpLoad %int %66
OpBranchConditional %70 %72 %73 %68 = OpSLessThan %bool %64 %67
%72 = OpLabel OpSelectionMerge %69 None
%74 = OpLoad %int %k OpBranchConditional %68 %70 %71
%70 = OpLabel
%72 = OpLoad %int %k
%73 = OpIAdd %int %72 %int_1
OpStore %k %73
%74 = OpLoad %int %i
%75 = OpIAdd %int %74 %int_1 %75 = OpIAdd %int %74 %int_1
OpStore %k %75 OpStore %i %75
%76 = OpLoad %int %i %76 = OpAccessChain %_ptr_Private_int %data %74
%77 = OpIAdd %int %76 %int_1 %77 = OpLoad %int %76
OpStore %i %77 %78 = OpAccessChain %_ptr_Private_int %temp %72
%78 = OpAccessChain %_ptr_Private_int %data %76 OpStore %78 %77
%79 = OpLoad %int %78 OpBranch %69
%80 = OpAccessChain %_ptr_Private_int %temp %74
OpStore %80 %79
OpBranch %71
%73 = OpLabel
%81 = OpLoad %int %k
%82 = OpIAdd %int %81 %int_1
OpStore %k %82
%83 = OpLoad %int %j
%84 = OpIAdd %int %83 %int_1
OpStore %j %84
%85 = OpAccessChain %_ptr_Private_int %data %83
%86 = OpLoad %int %85
%87 = OpAccessChain %_ptr_Private_int %temp %81
OpStore %87 %86
OpBranch %71
%71 = OpLabel %71 = OpLabel
%79 = OpLoad %int %k
%80 = OpIAdd %int %79 %int_1
OpStore %k %80
%81 = OpLoad %int %j
%82 = OpIAdd %int %81 %int_1
OpStore %j %82
%83 = OpAccessChain %_ptr_Private_int %data %81
%84 = OpLoad %int %83
%85 = OpAccessChain %_ptr_Private_int %temp %79
OpStore %85 %84
OpBranch %69
%69 = OpLabel
OpBranch %46 OpBranch %46
%46 = OpLabel %46 = OpLabel
OpBranch %44 OpBranch %44
%45 = OpLabel %45 = OpLabel
OpBranch %86
%86 = OpLabel
OpLoopMerge %87 %88 None
OpBranch %89
%89 = OpLabel
%90 = OpLoad %int %i
%91 = OpLoad %int %i
%93 = OpLoad %int %mid
%95 = OpSLessThan %bool %90 %int_10
%96 = OpSLessThanEqual %bool %91 %93
%97 = OpLogicalAnd %bool %95 %96
OpSelectionMerge %98 None
OpBranchConditional %97 %99 %100
%99 = OpLabel
OpBranch %98
%100 = OpLabel
OpBranch %87
%98 = OpLabel
%101 = OpLoad %int %k
%102 = OpIAdd %int %101 %int_1
OpStore %k %102
%103 = OpLoad %int %i
%104 = OpIAdd %int %103 %int_1
OpStore %i %104
%105 = OpAccessChain %_ptr_Private_int %data %103
%106 = OpLoad %int %105
%107 = OpAccessChain %_ptr_Private_int %temp %101
OpStore %107 %106
OpBranch %88 OpBranch %88
%88 = OpLabel %88 = OpLabel
OpLoopMerge %89 %90 None OpBranch %86
OpBranch %91 %87 = OpLabel
%91 = OpLabel %109 = OpLoad %int %from
%92 = OpLoad %int %i OpStore %i_1 %109
%93 = OpLoad %int %i OpBranch %110
%95 = OpLoad %int %mid %110 = OpLabel
%97 = OpSLessThan %bool %92 %int_10 OpLoopMerge %111 %112 None
OpSelectionMerge %98 None OpBranch %113
OpBranchConditional %97 %99 %98 %113 = OpLabel
%99 = OpLabel %114 = OpLoad %int %i_1
%100 = OpSLessThanEqual %bool %93 %95 %116 = OpLoad %int %to
OpBranch %98 %117 = OpSLessThanEqual %bool %114 %116
%98 = OpLabel OpSelectionMerge %118 None
%101 = OpPhi %bool %97 %91 %100 %99 OpBranchConditional %117 %119 %120
OpSelectionMerge %102 None %119 = OpLabel
OpBranchConditional %101 %103 %104 OpBranch %118
%103 = OpLabel %120 = OpLabel
OpBranch %102 OpBranch %111
%104 = OpLabel %118 = OpLabel
OpBranch %89 %121 = OpLoad %int %i_1
%102 = OpLabel %122 = OpLoad %int %i_1
%105 = OpLoad %int %k %123 = OpAccessChain %_ptr_Private_int %temp %122
%106 = OpIAdd %int %105 %int_1 %124 = OpLoad %int %123
OpStore %k %106 %125 = OpAccessChain %_ptr_Private_int %data %121
%107 = OpLoad %int %i OpStore %125 %124
%108 = OpIAdd %int %107 %int_1 OpBranch %112
OpStore %i %108 %112 = OpLabel
%109 = OpAccessChain %_ptr_Private_int %data %107
%110 = OpLoad %int %109
%111 = OpAccessChain %_ptr_Private_int %temp %105
OpStore %111 %110
OpBranch %90
%90 = OpLabel
OpBranch %88
%89 = OpLabel
%113 = OpLoad %int %from
OpStore %i_1 %113
OpBranch %114
%114 = OpLabel
OpLoopMerge %115 %116 None
OpBranch %117
%117 = OpLabel
%118 = OpLoad %int %i_1
%120 = OpLoad %int %to
%121 = OpSLessThanEqual %bool %118 %120
OpSelectionMerge %122 None
OpBranchConditional %121 %123 %124
%123 = OpLabel
OpBranch %122
%124 = OpLabel
OpBranch %115
%122 = OpLabel
%125 = OpLoad %int %i_1
%126 = OpLoad %int %i_1 %126 = OpLoad %int %i_1
%127 = OpAccessChain %_ptr_Private_int %temp %126 %127 = OpIAdd %int %126 %int_1
%128 = OpLoad %int %127 OpStore %i_1 %127
%129 = OpAccessChain %_ptr_Private_int %data %125 OpBranch %110
OpStore %129 %128 %111 = OpLabel
OpBranch %116
%116 = OpLabel
%130 = OpLoad %int %i_1
%131 = OpIAdd %int %130 %int_1
OpStore %i_1 %131
OpBranch %114
%115 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%mergeSort_ = OpFunction %void None %132 %mergeSort_ = OpFunction %void None %128
%134 = OpLabel %130 = OpLabel
%low = OpVariable %_ptr_Function_int Function %32 %low = OpVariable %_ptr_Function_int Function %32
%high = OpVariable %_ptr_Function_int Function %32 %high = OpVariable %_ptr_Function_int Function %32
%m = OpVariable %_ptr_Function_int Function %32 %m = OpVariable %_ptr_Function_int Function %32
@ -284,366 +272,356 @@ SKIP: FAILED
OpStore %low %int_0 OpStore %low %int_0
OpStore %high %int_9 OpStore %high %int_9
OpStore %m %int_1 OpStore %m %int_1
OpBranch %147 OpBranch %143
%147 = OpLabel %143 = OpLabel
OpLoopMerge %148 %149 None OpLoopMerge %144 %145 None
OpBranch %146
%146 = OpLabel
%147 = OpLoad %int %m
%148 = OpLoad %int %high
%149 = OpSLessThanEqual %bool %147 %148
OpSelectionMerge %150 None
OpBranchConditional %149 %151 %152
%151 = OpLabel
OpBranch %150 OpBranch %150
%152 = OpLabel
OpBranch %144
%150 = OpLabel %150 = OpLabel
%151 = OpLoad %int %m %153 = OpLoad %int %low
%152 = OpLoad %int %high OpStore %i_2 %153
%153 = OpSLessThanEqual %bool %151 %152
OpSelectionMerge %154 None
OpBranchConditional %153 %155 %156
%155 = OpLabel
OpBranch %154 OpBranch %154
%156 = OpLabel
OpBranch %148
%154 = OpLabel %154 = OpLabel
%157 = OpLoad %int %low OpLoopMerge %155 %156 None
OpStore %i_2 %157 OpBranch %157
OpBranch %158 %157 = OpLabel
%158 = OpLabel %158 = OpLoad %int %i_2
OpLoopMerge %159 %160 None %159 = OpLoad %int %high
%160 = OpSLessThan %bool %158 %159
OpSelectionMerge %161 None
OpBranchConditional %160 %162 %163
%162 = OpLabel
OpBranch %161 OpBranch %161
%163 = OpLabel
OpBranch %155
%161 = OpLabel %161 = OpLabel
%162 = OpLoad %int %i_2 %164 = OpLoad %int %i_2
%163 = OpLoad %int %high OpStore %from_1 %164
%164 = OpSLessThan %bool %162 %163 %165 = OpLoad %int %i_2
OpSelectionMerge %165 None %166 = OpLoad %int %m
OpBranchConditional %164 %166 %167 %167 = OpIAdd %int %165 %166
%166 = OpLabel %168 = OpISub %int %167 %int_1
OpBranch %165 OpStore %mid_1 %168
%167 = OpLabel
OpBranch %159
%165 = OpLabel
%168 = OpLoad %int %i_2
OpStore %from_1 %168
%169 = OpLoad %int %i_2 %169 = OpLoad %int %i_2
%170 = OpLoad %int %m %170 = OpLoad %int %m
%171 = OpIAdd %int %169 %170 %171 = OpLoad %int %high
%172 = OpISub %int %171 %int_1 %175 = OpIMul %int %int_2 %170
OpStore %mid_1 %172 %176 = OpIAdd %int %169 %175
%173 = OpLoad %int %i_2 %177 = OpISub %int %176 %int_1
%174 = OpLoad %int %m %172 = OpExtInst %int %173 SMin %177 %171
%175 = OpLoad %int %high OpStore %to_1 %172
%179 = OpIMul %int %int_2 %174 %178 = OpLoad %int %from_1
%180 = OpIAdd %int %173 %179 OpStore %param %178
%181 = OpISub %int %180 %int_1 %179 = OpLoad %int %mid_1
%176 = OpExtInst %int %177 SMin %181 %175 OpStore %param_1 %179
OpStore %to_1 %176 %180 = OpLoad %int %to_1
%182 = OpLoad %int %from_1 OpStore %param_2 %180
OpStore %param %182 %181 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
%183 = OpLoad %int %mid_1 OpBranch %156
OpStore %param_1 %183 %156 = OpLabel
%184 = OpLoad %int %to_1 %185 = OpLoad %int %m
OpStore %param_2 %184 %186 = OpLoad %int %i_2
%185 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2 %187 = OpIMul %int %int_2 %185
OpBranch %160 %188 = OpIAdd %int %186 %187
%160 = OpLabel OpStore %i_2 %188
OpBranch %154
%155 = OpLabel
OpBranch %145
%145 = OpLabel
%189 = OpLoad %int %m %189 = OpLoad %int %m
%190 = OpLoad %int %i_2 %190 = OpIMul %int %int_2 %189
%191 = OpIMul %int %int_2 %189 OpStore %m %190
%192 = OpIAdd %int %190 %191 OpBranch %143
OpStore %i_2 %192 %144 = OpLabel
OpBranch %158
%159 = OpLabel
OpBranch %149
%149 = OpLabel
%193 = OpLoad %int %m
%194 = OpIMul %int %int_2 %193
OpStore %m %194
OpBranch %147
%148 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main_1 = OpFunction %void None %132 %main_1 = OpFunction %void None %128
%196 = OpLabel %192 = OpLabel
%i_3 = OpVariable %_ptr_Function_int Function %32 %i_3 = OpVariable %_ptr_Function_int Function %32
%j_1 = OpVariable %_ptr_Function_int Function %32 %j_1 = OpVariable %_ptr_Function_int Function %32
%grey = OpVariable %_ptr_Function_float Function %201 %grey = OpVariable %_ptr_Function_float Function %197
%204 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %200 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%205 = OpLoad %float %204 %201 = OpLoad %float %200
%206 = OpConvertFToS %int %205 %202 = OpConvertFToS %int %201
OpStore %i_3 %206 OpStore %i_3 %202
OpBranch %207 OpBranch %203
%207 = OpLabel %203 = OpLabel
OpLoopMerge %208 %209 None OpLoopMerge %204 %205 None
OpBranch %210 OpBranch %206
%206 = OpLabel
%207 = OpLoad %int %i_3
OpSelectionMerge %208 None
OpSwitch %207 %209 9 %210 8 %211 7 %212 6 %213 5 %214 4 %215 3 %216 2 %217 1 %218 0 %219
%210 = OpLabel %210 = OpLabel
%211 = OpLoad %int %i_3 %220 = OpLoad %int %i_3
OpSelectionMerge %212 None %221 = OpAccessChain %_ptr_Private_int %data %220
OpSwitch %211 %213 9 %214 8 %215 7 %216 6 %217 5 %218 4 %219 3 %220 2 %221 1 %222 0 %223 OpStore %221 %int_n5
OpBranch %208
%211 = OpLabel
%223 = OpLoad %int %i_3
%224 = OpAccessChain %_ptr_Private_int %data %223
OpStore %224 %int_n4
OpBranch %208
%212 = OpLabel
%226 = OpLoad %int %i_3
%227 = OpAccessChain %_ptr_Private_int %data %226
OpStore %227 %int_n3
OpBranch %208
%213 = OpLabel
%229 = OpLoad %int %i_3
%230 = OpAccessChain %_ptr_Private_int %data %229
OpStore %230 %int_n2
OpBranch %208
%214 = OpLabel %214 = OpLabel
%224 = OpLoad %int %i_3 %232 = OpLoad %int %i_3
%225 = OpAccessChain %_ptr_Private_int %data %224 %233 = OpAccessChain %_ptr_Private_int %data %232
OpStore %225 %int_n5 OpStore %233 %int_n1
OpBranch %212 OpBranch %208
%215 = OpLabel %215 = OpLabel
%227 = OpLoad %int %i_3 %235 = OpLoad %int %i_3
%228 = OpAccessChain %_ptr_Private_int %data %227 %236 = OpAccessChain %_ptr_Private_int %data %235
OpStore %228 %int_n4 OpStore %236 %int_0
OpBranch %212 OpBranch %208
%216 = OpLabel %216 = OpLabel
%230 = OpLoad %int %i_3 %237 = OpLoad %int %i_3
%231 = OpAccessChain %_ptr_Private_int %data %230 %238 = OpAccessChain %_ptr_Private_int %data %237
OpStore %231 %int_n3 OpStore %238 %int_1
OpBranch %212 OpBranch %208
%217 = OpLabel %217 = OpLabel
%233 = OpLoad %int %i_3
%234 = OpAccessChain %_ptr_Private_int %data %233
OpStore %234 %int_n2
OpBranch %212
%218 = OpLabel
%236 = OpLoad %int %i_3
%237 = OpAccessChain %_ptr_Private_int %data %236
OpStore %237 %int_n1
OpBranch %212
%219 = OpLabel
%239 = OpLoad %int %i_3 %239 = OpLoad %int %i_3
%240 = OpAccessChain %_ptr_Private_int %data %239 %240 = OpAccessChain %_ptr_Private_int %data %239
OpStore %240 %int_0 OpStore %240 %int_2
OpBranch %212 OpBranch %208
%220 = OpLabel %218 = OpLabel
%241 = OpLoad %int %i_3 %241 = OpLoad %int %i_3
%242 = OpAccessChain %_ptr_Private_int %data %241 %242 = OpAccessChain %_ptr_Private_int %data %241
OpStore %242 %int_1 OpStore %242 %int_3
OpBranch %212 OpBranch %208
%221 = OpLabel %219 = OpLabel
%243 = OpLoad %int %i_3 %244 = OpLoad %int %i_3
%244 = OpAccessChain %_ptr_Private_int %data %243 %245 = OpAccessChain %_ptr_Private_int %data %244
OpStore %244 %int_2 OpStore %245 %int_4
OpBranch %212 OpBranch %208
%222 = OpLabel %209 = OpLabel
%245 = OpLoad %int %i_3
%246 = OpAccessChain %_ptr_Private_int %data %245
OpStore %246 %int_3
OpBranch %212
%223 = OpLabel
%248 = OpLoad %int %i_3
%249 = OpAccessChain %_ptr_Private_int %data %248
OpStore %249 %int_4
OpBranch %212
%213 = OpLabel
OpBranch %212
%212 = OpLabel
%251 = OpLoad %int %i_3
%252 = OpIAdd %int %251 %int_1
OpStore %i_3 %252
OpBranch %209
%209 = OpLabel
%253 = OpLoad %int %i_3
%254 = OpSLessThan %bool %253 %int_10
OpSelectionMerge %255 None
OpBranchConditional %254 %256 %257
%256 = OpLabel
OpBranch %255
%257 = OpLabel
OpBranch %208 OpBranch %208
%255 = OpLabel
OpBranch %207
%208 = OpLabel %208 = OpLabel
%247 = OpLoad %int %i_3
%248 = OpIAdd %int %247 %int_1
OpStore %i_3 %248
OpBranch %205
%205 = OpLabel
%249 = OpLoad %int %i_3
%250 = OpSLessThan %bool %249 %int_10
OpBranchConditional %250 %203 %204
%204 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %258 OpBranch %251
%251 = OpLabel
OpLoopMerge %252 %253 None
OpBranch %254
%254 = OpLabel
%255 = OpLoad %int %j_1
%256 = OpSLessThan %bool %255 %int_10
OpSelectionMerge %257 None
OpBranchConditional %256 %258 %259
%258 = OpLabel %258 = OpLabel
OpLoopMerge %259 %260 None OpBranch %257
OpBranch %261
%261 = OpLabel
%262 = OpLoad %int %j_1
%263 = OpSLessThan %bool %262 %int_10
OpSelectionMerge %264 None
OpBranchConditional %263 %265 %266
%265 = OpLabel
OpBranch %264
%266 = OpLabel
OpBranch %259
%264 = OpLabel
%267 = OpLoad %int %j_1
%268 = OpLoad %int %j_1
%269 = OpAccessChain %_ptr_Private_int %data %268
%270 = OpLoad %int %269
%271 = OpAccessChain %_ptr_Private_int %temp %267
OpStore %271 %270
OpBranch %260
%260 = OpLabel
%272 = OpLoad %int %j_1
%273 = OpIAdd %int %272 %int_1
OpStore %j_1 %273
OpBranch %258
%259 = OpLabel %259 = OpLabel
%274 = OpFunctionCall %void %mergeSort_ OpBranch %252
%277 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %257 = OpLabel
%278 = OpLoad %float %277 %260 = OpLoad %int %j_1
%279 = OpConvertFToS %int %278 %261 = OpLoad %int %j_1
%281 = OpSLessThan %bool %279 %int_30 %262 = OpAccessChain %_ptr_Private_int %data %261
OpSelectionMerge %282 None %263 = OpLoad %int %262
OpBranchConditional %281 %283 %284 %264 = OpAccessChain %_ptr_Private_int %temp %260
%283 = OpLabel OpStore %264 %263
%285 = OpAccessChain %_ptr_Private_int %data %int_0 OpBranch %253
%286 = OpLoad %int %285 %253 = OpLabel
%288 = OpConvertSToF %float %286 %265 = OpLoad %int %j_1
%290 = OpFDiv %float %288 %float_10 %266 = OpIAdd %int %265 %int_1
%291 = OpFAdd %float %float_0_5 %290 OpStore %j_1 %266
OpStore %grey %291 OpBranch %251
OpBranch %282 %252 = OpLabel
%284 = OpLabel %267 = OpFunctionCall %void %mergeSort_
%292 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %270 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%293 = OpLoad %float %292 %271 = OpLoad %float %270
%294 = OpConvertFToS %int %293 %272 = OpConvertFToS %int %271
%296 = OpSLessThan %bool %294 %int_60 %274 = OpSLessThan %bool %272 %int_30
OpSelectionMerge %297 None OpSelectionMerge %275 None
OpBranchConditional %296 %298 %299 OpBranchConditional %274 %276 %277
%298 = OpLabel %276 = OpLabel
%300 = OpAccessChain %_ptr_Private_int %data %int_1 %278 = OpAccessChain %_ptr_Private_int %data %int_0
%301 = OpLoad %int %300 %279 = OpLoad %int %278
%302 = OpConvertSToF %float %301 %281 = OpConvertSToF %float %279
%303 = OpFDiv %float %302 %float_10 %283 = OpFDiv %float %281 %float_10
%304 = OpFAdd %float %float_0_5 %303 %284 = OpFAdd %float %float_0_5 %283
OpStore %grey %304 OpStore %grey %284
OpBranch %297 OpBranch %275
%299 = OpLabel %277 = OpLabel
%305 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %285 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%306 = OpLoad %float %305 %286 = OpLoad %float %285
%307 = OpConvertFToS %int %306 %287 = OpConvertFToS %int %286
%309 = OpSLessThan %bool %307 %int_90 %289 = OpSLessThan %bool %287 %int_60
OpSelectionMerge %310 None OpSelectionMerge %290 None
OpBranchConditional %309 %311 %312 OpBranchConditional %289 %291 %292
%311 = OpLabel %291 = OpLabel
%313 = OpAccessChain %_ptr_Private_int %data %int_2 %293 = OpAccessChain %_ptr_Private_int %data %int_1
%314 = OpLoad %int %313 %294 = OpLoad %int %293
%315 = OpConvertSToF %float %314 %295 = OpConvertSToF %float %294
%316 = OpFDiv %float %315 %float_10 %296 = OpFDiv %float %295 %float_10
%317 = OpFAdd %float %float_0_5 %316 %297 = OpFAdd %float %float_0_5 %296
OpStore %grey %317 OpStore %grey %297
OpBranch %310 OpBranch %290
%312 = OpLabel %292 = OpLabel
%318 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %298 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%319 = OpLoad %float %318 %299 = OpLoad %float %298
%320 = OpConvertFToS %int %319 %300 = OpConvertFToS %int %299
%322 = OpSLessThan %bool %320 %int_120 %302 = OpSLessThan %bool %300 %int_90
OpSelectionMerge %323 None OpSelectionMerge %303 None
OpBranchConditional %322 %324 %325 OpBranchConditional %302 %304 %305
%324 = OpLabel %304 = OpLabel
%326 = OpAccessChain %_ptr_Private_int %data %int_3 %306 = OpAccessChain %_ptr_Private_int %data %int_2
%327 = OpLoad %int %326 %307 = OpLoad %int %306
%328 = OpConvertSToF %float %327 %308 = OpConvertSToF %float %307
%329 = OpFDiv %float %328 %float_10 %309 = OpFDiv %float %308 %float_10
%330 = OpFAdd %float %float_0_5 %329 %310 = OpFAdd %float %float_0_5 %309
OpStore %grey %330 OpStore %grey %310
OpBranch %323 OpBranch %303
%325 = OpLabel %305 = OpLabel
%331 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %311 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%332 = OpLoad %float %331 %312 = OpLoad %float %311
%333 = OpConvertFToS %int %332 %313 = OpConvertFToS %int %312
%335 = OpSLessThan %bool %333 %int_150 %315 = OpSLessThan %bool %313 %int_120
OpSelectionMerge %336 None OpSelectionMerge %316 None
OpBranchConditional %335 %337 %338 OpBranchConditional %315 %317 %318
%337 = OpLabel %317 = OpLabel
%319 = OpAccessChain %_ptr_Private_int %data %int_3
%320 = OpLoad %int %319
%321 = OpConvertSToF %float %320
%322 = OpFDiv %float %321 %float_10
%323 = OpFAdd %float %float_0_5 %322
OpStore %grey %323
OpBranch %316
%318 = OpLabel
%324 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%325 = OpLoad %float %324
%326 = OpConvertFToS %int %325
%328 = OpSLessThan %bool %326 %int_150
OpSelectionMerge %329 None
OpBranchConditional %328 %330 %331
%330 = OpLabel
OpKill OpKill
%331 = OpLabel
%332 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%333 = OpLoad %float %332
%334 = OpConvertFToS %int %333
%336 = OpSLessThan %bool %334 %int_180
OpSelectionMerge %337 None
OpBranchConditional %336 %338 %339
%338 = OpLabel %338 = OpLabel
%339 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %341 = OpAccessChain %_ptr_Private_int %data %int_5
%340 = OpLoad %float %339 %342 = OpLoad %int %341
%341 = OpConvertFToS %int %340 %343 = OpConvertSToF %float %342
%343 = OpSLessThan %bool %341 %int_180 %344 = OpFDiv %float %343 %float_10
OpSelectionMerge %344 None %345 = OpFAdd %float %float_0_5 %344
OpBranchConditional %343 %345 %346 OpStore %grey %345
%345 = OpLabel OpBranch %337
%348 = OpAccessChain %_ptr_Private_int %data %int_5 %339 = OpLabel
%349 = OpLoad %int %348 %346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%350 = OpConvertSToF %float %349 %347 = OpLoad %float %346
%351 = OpFDiv %float %350 %float_10 %348 = OpConvertFToS %int %347
%352 = OpFAdd %float %float_0_5 %351 %350 = OpSLessThan %bool %348 %int_210
OpStore %grey %352 OpSelectionMerge %351 None
OpBranch %344 OpBranchConditional %350 %352 %353
%346 = OpLabel %352 = OpLabel
%353 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %355 = OpAccessChain %_ptr_Private_int %data %int_6
%354 = OpLoad %float %353 %356 = OpLoad %int %355
%355 = OpConvertFToS %int %354 %357 = OpConvertSToF %float %356
%357 = OpSLessThan %bool %355 %int_210 %358 = OpFDiv %float %357 %float_10
OpSelectionMerge %358 None %359 = OpFAdd %float %float_0_5 %358
OpBranchConditional %357 %359 %360 OpStore %grey %359
%359 = OpLabel OpBranch %351
%362 = OpAccessChain %_ptr_Private_int %data %int_6 %353 = OpLabel
%363 = OpLoad %int %362 %360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%364 = OpConvertSToF %float %363 %361 = OpLoad %float %360
%365 = OpFDiv %float %364 %float_10 %362 = OpConvertFToS %int %361
%366 = OpFAdd %float %float_0_5 %365 %364 = OpSLessThan %bool %362 %int_240
OpStore %grey %366 OpSelectionMerge %365 None
OpBranch %358 OpBranchConditional %364 %366 %367
%360 = OpLabel %366 = OpLabel
%367 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %369 = OpAccessChain %_ptr_Private_int %data %int_7
%368 = OpLoad %float %367 %370 = OpLoad %int %369
%369 = OpConvertFToS %int %368 %371 = OpConvertSToF %float %370
%371 = OpSLessThan %bool %369 %int_240 %372 = OpFDiv %float %371 %float_10
OpSelectionMerge %372 None %373 = OpFAdd %float %float_0_5 %372
OpBranchConditional %371 %373 %374 OpStore %grey %373
%373 = OpLabel OpBranch %365
%376 = OpAccessChain %_ptr_Private_int %data %int_7 %367 = OpLabel
%377 = OpLoad %int %376 %374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%378 = OpConvertSToF %float %377 %375 = OpLoad %float %374
%379 = OpFDiv %float %378 %float_10 %376 = OpConvertFToS %int %375
%380 = OpFAdd %float %float_0_5 %379 %378 = OpSLessThan %bool %376 %int_270
OpStore %grey %380 OpSelectionMerge %379 None
OpBranch %372 OpBranchConditional %378 %380 %381
%374 = OpLabel %380 = OpLabel
%381 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %383 = OpAccessChain %_ptr_Private_int %data %int_8
%382 = OpLoad %float %381 %384 = OpLoad %int %383
%383 = OpConvertFToS %int %382 %385 = OpConvertSToF %float %384
%385 = OpSLessThan %bool %383 %int_270 %386 = OpFDiv %float %385 %float_10
OpSelectionMerge %386 None %387 = OpFAdd %float %float_0_5 %386
OpBranchConditional %385 %387 %388 OpStore %grey %387
%387 = OpLabel OpBranch %379
%390 = OpAccessChain %_ptr_Private_int %data %int_8 %381 = OpLabel
%391 = OpLoad %int %390
%392 = OpConvertSToF %float %391
%393 = OpFDiv %float %392 %float_10
%394 = OpFAdd %float %float_0_5 %393
OpStore %grey %394
OpBranch %386
%388 = OpLabel
OpKill OpKill
%386 = OpLabel %379 = OpLabel
OpBranch %372 OpBranch %365
%372 = OpLabel %365 = OpLabel
OpBranch %358 OpBranch %351
%358 = OpLabel %351 = OpLabel
OpBranch %344 OpBranch %337
%344 = OpLabel %337 = OpLabel
OpBranch %336 OpBranch %329
%336 = OpLabel %329 = OpLabel
OpBranch %323 OpBranch %316
%323 = OpLabel %316 = OpLabel
OpBranch %310 OpBranch %303
%310 = OpLabel %303 = OpLabel
OpBranch %297 OpBranch %290
%297 = OpLabel %290 = OpLabel
OpBranch %282 OpBranch %275
%282 = OpLabel %275 = OpLabel
%395 = OpLoad %float %grey %388 = OpLoad %float %grey
%397 = OpCompositeConstruct %v3float %395 %395 %395 %390 = OpCompositeConstruct %v3float %388 %388 %388
%398 = OpCompositeExtract %float %397 0 %391 = OpCompositeExtract %float %390 0
%399 = OpCompositeExtract %float %397 1 %392 = OpCompositeExtract %float %390 1
%400 = OpCompositeExtract %float %397 2 %393 = OpCompositeExtract %float %390 2
%402 = OpCompositeConstruct %v4float %398 %399 %400 %float_1 %395 = OpCompositeConstruct %v4float %391 %392 %393 %float_1
OpStore %x_GLF_color %402 OpStore %x_GLF_color %395
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %403 %tint_symbol_3 = OpFunction %void None %396
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%407 = OpLabel %400 = OpLabel
%408 = OpCompositeExtract %v4float %tint_symbol_1 0 %401 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %408 OpStore %tint_symbol_2 %401
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %132 %main = OpFunction %void None %128
%410 = OpLabel %403 = OpLabel
%411 = OpLoad %v4float %tint_symbol %404 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %411 OpStore %gl_FragCoord %404
%412 = OpFunctionCall %void %main_1 %405 = OpFunctionCall %void %main_1
%414 = OpLoad %v4float %x_GLF_color %407 = OpLoad %v4float %x_GLF_color
%415 = OpCompositeConstruct %main_out %414 %408 = OpCompositeConstruct %main_out %407
%413 = OpFunctionCall %void %tint_symbol_3 %415 %406 = OpFunctionCall %void %tint_symbol_3 %408
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 209[%209] is not post dominated by the back-edge block 255[%255]
%255 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 416 ; Bound: 413
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%177 = OpExtInstImport "GLSL.std.450" %177 = OpExtInstImport "GLSL.std.450"
@ -121,7 +119,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1 %float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%403 = OpTypeFunction %void %main_out %400 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %23 %merge_i1_i1_i1_ = OpFunction %void None %23
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -433,217 +431,207 @@ SKIP: FAILED
%209 = OpLabel %209 = OpLabel
%253 = OpLoad %int %i_3 %253 = OpLoad %int %i_3
%254 = OpSLessThan %bool %253 %int_10 %254 = OpSLessThan %bool %253 %int_10
OpSelectionMerge %255 None OpBranchConditional %254 %207 %208
OpBranchConditional %254 %256 %257
%256 = OpLabel
OpBranch %255
%257 = OpLabel
OpBranch %208
%255 = OpLabel
OpBranch %207
%208 = OpLabel %208 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %255
%255 = OpLabel
OpLoopMerge %256 %257 None
OpBranch %258 OpBranch %258
%258 = OpLabel %258 = OpLabel
OpLoopMerge %259 %260 None %259 = OpLoad %int %j_1
%260 = OpSLessThan %bool %259 %int_10
OpSelectionMerge %261 None
OpBranchConditional %260 %262 %263
%262 = OpLabel
OpBranch %261 OpBranch %261
%263 = OpLabel
OpBranch %256
%261 = OpLabel %261 = OpLabel
%262 = OpLoad %int %j_1 %264 = OpLoad %int %j_1
%263 = OpSLessThan %bool %262 %int_10 %265 = OpLoad %int %j_1
OpSelectionMerge %264 None %266 = OpAccessChain %_ptr_Private_int %data %265
OpBranchConditional %263 %265 %266 %267 = OpLoad %int %266
%265 = OpLabel %268 = OpAccessChain %_ptr_Private_int %temp %264
OpBranch %264 OpStore %268 %267
%266 = OpLabel OpBranch %257
OpBranch %259 %257 = OpLabel
%264 = OpLabel %269 = OpLoad %int %j_1
%267 = OpLoad %int %j_1 %270 = OpIAdd %int %269 %int_1
%268 = OpLoad %int %j_1 OpStore %j_1 %270
%269 = OpAccessChain %_ptr_Private_int %data %268 OpBranch %255
%270 = OpLoad %int %269 %256 = OpLabel
%271 = OpAccessChain %_ptr_Private_int %temp %267 %271 = OpFunctionCall %void %mergeSort_
OpStore %271 %270 %274 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %260 %275 = OpLoad %float %274
%260 = OpLabel %276 = OpConvertFToS %int %275
%272 = OpLoad %int %j_1 %278 = OpSLessThan %bool %276 %int_30
%273 = OpIAdd %int %272 %int_1 OpSelectionMerge %279 None
OpStore %j_1 %273 OpBranchConditional %278 %280 %281
OpBranch %258 %280 = OpLabel
%259 = OpLabel %282 = OpAccessChain %_ptr_Private_int %data %int_0
%274 = OpFunctionCall %void %mergeSort_ %283 = OpLoad %int %282
%277 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %285 = OpConvertSToF %float %283
%278 = OpLoad %float %277 %287 = OpFDiv %float %285 %float_10
%279 = OpConvertFToS %int %278 %288 = OpFAdd %float %float_0_5 %287
%281 = OpSLessThan %bool %279 %int_30 OpStore %grey %288
OpSelectionMerge %282 None OpBranch %279
OpBranchConditional %281 %283 %284 %281 = OpLabel
%283 = OpLabel %289 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%285 = OpAccessChain %_ptr_Private_int %data %int_0 %290 = OpLoad %float %289
%286 = OpLoad %int %285 %291 = OpConvertFToS %int %290
%288 = OpConvertSToF %float %286 %293 = OpSLessThan %bool %291 %int_60
%290 = OpFDiv %float %288 %float_10 OpSelectionMerge %294 None
%291 = OpFAdd %float %float_0_5 %290 OpBranchConditional %293 %295 %296
OpStore %grey %291 %295 = OpLabel
OpBranch %282 %297 = OpAccessChain %_ptr_Private_int %data %int_1
%284 = OpLabel %298 = OpLoad %int %297
%292 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %299 = OpConvertSToF %float %298
%293 = OpLoad %float %292 %300 = OpFDiv %float %299 %float_10
%294 = OpConvertFToS %int %293 %301 = OpFAdd %float %float_0_5 %300
%296 = OpSLessThan %bool %294 %int_60 OpStore %grey %301
OpSelectionMerge %297 None OpBranch %294
OpBranchConditional %296 %298 %299 %296 = OpLabel
%298 = OpLabel %302 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%300 = OpAccessChain %_ptr_Private_int %data %int_1 %303 = OpLoad %float %302
%301 = OpLoad %int %300 %304 = OpConvertFToS %int %303
%302 = OpConvertSToF %float %301 %306 = OpSLessThan %bool %304 %int_90
%303 = OpFDiv %float %302 %float_10 OpSelectionMerge %307 None
%304 = OpFAdd %float %float_0_5 %303 OpBranchConditional %306 %308 %309
OpStore %grey %304 %308 = OpLabel
OpBranch %297 %310 = OpAccessChain %_ptr_Private_int %data %int_2
%299 = OpLabel %311 = OpLoad %int %310
%305 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %312 = OpConvertSToF %float %311
%306 = OpLoad %float %305 %313 = OpFDiv %float %312 %float_10
%307 = OpConvertFToS %int %306 %314 = OpFAdd %float %float_0_5 %313
%309 = OpSLessThan %bool %307 %int_90 OpStore %grey %314
OpSelectionMerge %310 None OpBranch %307
OpBranchConditional %309 %311 %312 %309 = OpLabel
%311 = OpLabel %315 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%313 = OpAccessChain %_ptr_Private_int %data %int_2 %316 = OpLoad %float %315
%314 = OpLoad %int %313 %317 = OpConvertFToS %int %316
%315 = OpConvertSToF %float %314 %319 = OpSLessThan %bool %317 %int_120
%316 = OpFDiv %float %315 %float_10 OpSelectionMerge %320 None
%317 = OpFAdd %float %float_0_5 %316 OpBranchConditional %319 %321 %322
OpStore %grey %317 %321 = OpLabel
OpBranch %310 %323 = OpAccessChain %_ptr_Private_int %data %int_3
%312 = OpLabel %324 = OpLoad %int %323
%318 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %325 = OpConvertSToF %float %324
%319 = OpLoad %float %318 %326 = OpFDiv %float %325 %float_10
%320 = OpConvertFToS %int %319 %327 = OpFAdd %float %float_0_5 %326
%322 = OpSLessThan %bool %320 %int_120 OpStore %grey %327
OpSelectionMerge %323 None OpBranch %320
OpBranchConditional %322 %324 %325 %322 = OpLabel
%324 = OpLabel %328 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%326 = OpAccessChain %_ptr_Private_int %data %int_3 %329 = OpLoad %float %328
%327 = OpLoad %int %326 %330 = OpConvertFToS %int %329
%328 = OpConvertSToF %float %327 %332 = OpSLessThan %bool %330 %int_150
%329 = OpFDiv %float %328 %float_10 OpSelectionMerge %333 None
%330 = OpFAdd %float %float_0_5 %329 OpBranchConditional %332 %334 %335
OpStore %grey %330 %334 = OpLabel
OpBranch %323
%325 = OpLabel
%331 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%332 = OpLoad %float %331
%333 = OpConvertFToS %int %332
%335 = OpSLessThan %bool %333 %int_150
OpSelectionMerge %336 None
OpBranchConditional %335 %337 %338
%337 = OpLabel
OpKill OpKill
%338 = OpLabel %335 = OpLabel
%339 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %336 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%340 = OpLoad %float %339 %337 = OpLoad %float %336
%341 = OpConvertFToS %int %340 %338 = OpConvertFToS %int %337
%343 = OpSLessThan %bool %341 %int_180 %340 = OpSLessThan %bool %338 %int_180
OpSelectionMerge %344 None OpSelectionMerge %341 None
OpBranchConditional %343 %345 %346 OpBranchConditional %340 %342 %343
%345 = OpLabel %342 = OpLabel
%348 = OpAccessChain %_ptr_Private_int %data %int_5 %345 = OpAccessChain %_ptr_Private_int %data %int_5
%349 = OpLoad %int %348 %346 = OpLoad %int %345
%350 = OpConvertSToF %float %349 %347 = OpConvertSToF %float %346
%351 = OpFDiv %float %350 %float_10 %348 = OpFDiv %float %347 %float_10
%352 = OpFAdd %float %float_0_5 %351 %349 = OpFAdd %float %float_0_5 %348
OpStore %grey %352 OpStore %grey %349
OpBranch %344 OpBranch %341
%346 = OpLabel %343 = OpLabel
%353 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %350 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%354 = OpLoad %float %353 %351 = OpLoad %float %350
%355 = OpConvertFToS %int %354 %352 = OpConvertFToS %int %351
%357 = OpSLessThan %bool %355 %int_210 %354 = OpSLessThan %bool %352 %int_210
OpSelectionMerge %358 None OpSelectionMerge %355 None
OpBranchConditional %357 %359 %360 OpBranchConditional %354 %356 %357
%359 = OpLabel %356 = OpLabel
%362 = OpAccessChain %_ptr_Private_int %data %int_6 %359 = OpAccessChain %_ptr_Private_int %data %int_6
%363 = OpLoad %int %362 %360 = OpLoad %int %359
%364 = OpConvertSToF %float %363 %361 = OpConvertSToF %float %360
%365 = OpFDiv %float %364 %float_10 %362 = OpFDiv %float %361 %float_10
%366 = OpFAdd %float %float_0_5 %365 %363 = OpFAdd %float %float_0_5 %362
OpStore %grey %366 OpStore %grey %363
OpBranch %358 OpBranch %355
%360 = OpLabel %357 = OpLabel
%367 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %364 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%368 = OpLoad %float %367 %365 = OpLoad %float %364
%369 = OpConvertFToS %int %368 %366 = OpConvertFToS %int %365
%371 = OpSLessThan %bool %369 %int_240 %368 = OpSLessThan %bool %366 %int_240
OpSelectionMerge %372 None OpSelectionMerge %369 None
OpBranchConditional %371 %373 %374 OpBranchConditional %368 %370 %371
%373 = OpLabel %370 = OpLabel
%376 = OpAccessChain %_ptr_Private_int %data %int_7 %373 = OpAccessChain %_ptr_Private_int %data %int_7
%377 = OpLoad %int %376 %374 = OpLoad %int %373
%378 = OpConvertSToF %float %377 %375 = OpConvertSToF %float %374
%379 = OpFDiv %float %378 %float_10 %376 = OpFDiv %float %375 %float_10
%380 = OpFAdd %float %float_0_5 %379 %377 = OpFAdd %float %float_0_5 %376
OpStore %grey %380 OpStore %grey %377
OpBranch %372 OpBranch %369
%374 = OpLabel %371 = OpLabel
%381 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %378 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%382 = OpLoad %float %381 %379 = OpLoad %float %378
%383 = OpConvertFToS %int %382 %380 = OpConvertFToS %int %379
%385 = OpSLessThan %bool %383 %int_270 %382 = OpSLessThan %bool %380 %int_270
OpSelectionMerge %386 None OpSelectionMerge %383 None
OpBranchConditional %385 %387 %388 OpBranchConditional %382 %384 %385
%387 = OpLabel %384 = OpLabel
%390 = OpAccessChain %_ptr_Private_int %data %int_8 %387 = OpAccessChain %_ptr_Private_int %data %int_8
%391 = OpLoad %int %390 %388 = OpLoad %int %387
%392 = OpConvertSToF %float %391 %389 = OpConvertSToF %float %388
%393 = OpFDiv %float %392 %float_10 %390 = OpFDiv %float %389 %float_10
%394 = OpFAdd %float %float_0_5 %393 %391 = OpFAdd %float %float_0_5 %390
OpStore %grey %394 OpStore %grey %391
OpBranch %386 OpBranch %383
%388 = OpLabel %385 = OpLabel
OpKill OpKill
%386 = OpLabel %383 = OpLabel
OpBranch %372 OpBranch %369
%372 = OpLabel %369 = OpLabel
OpBranch %358 OpBranch %355
%358 = OpLabel %355 = OpLabel
OpBranch %344 OpBranch %341
%344 = OpLabel %341 = OpLabel
OpBranch %336 OpBranch %333
%336 = OpLabel %333 = OpLabel
OpBranch %323 OpBranch %320
%323 = OpLabel %320 = OpLabel
OpBranch %310 OpBranch %307
%310 = OpLabel %307 = OpLabel
OpBranch %297 OpBranch %294
%297 = OpLabel %294 = OpLabel
OpBranch %282 OpBranch %279
%282 = OpLabel %279 = OpLabel
%395 = OpLoad %float %grey %392 = OpLoad %float %grey
%397 = OpCompositeConstruct %v3float %395 %395 %395 %394 = OpCompositeConstruct %v3float %392 %392 %392
%398 = OpCompositeExtract %float %397 0 %395 = OpCompositeExtract %float %394 0
%399 = OpCompositeExtract %float %397 1 %396 = OpCompositeExtract %float %394 1
%400 = OpCompositeExtract %float %397 2 %397 = OpCompositeExtract %float %394 2
%402 = OpCompositeConstruct %v4float %398 %399 %400 %float_1 %399 = OpCompositeConstruct %v4float %395 %396 %397 %float_1
OpStore %x_GLF_color %402 OpStore %x_GLF_color %399
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %403 %tint_symbol_3 = OpFunction %void None %400
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%407 = OpLabel %404 = OpLabel
%408 = OpCompositeExtract %v4float %tint_symbol_1 0 %405 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %408 OpStore %tint_symbol_2 %405
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %132 %main = OpFunction %void None %132
%410 = OpLabel %407 = OpLabel
%411 = OpLoad %v4float %tint_symbol %408 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %411 OpStore %gl_FragCoord %408
%412 = OpFunctionCall %void %main_1 %409 = OpFunctionCall %void %main_1
%414 = OpLoad %v4float %x_GLF_color %411 = OpLoad %v4float %x_GLF_color
%415 = OpCompositeConstruct %main_out %414 %412 = OpCompositeConstruct %main_out %411
%413 = OpFunctionCall %void %tint_symbol_3 %415 %410 = OpFunctionCall %void %tint_symbol_3 %412
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 209[%209] is not post dominated by the back-edge block 255[%255]
%255 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 440 ; Bound: 437
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%177 = OpExtInstImport "GLSL.std.450" %177 = OpExtInstImport "GLSL.std.450"
@ -120,14 +118,14 @@ SKIP: FAILED
%int_7 = OpConstant %int 7 %int_7 = OpConstant %int 7
%true = OpConstantTrue %bool %true = OpConstantTrue %bool
%_ptr_Function_bool = OpTypePointer Function %bool %_ptr_Function_bool = OpTypePointer Function %bool
%393 = OpConstantNull %bool %390 = OpConstantNull %bool
%int_270 = OpConstant %int 270 %int_270 = OpConstant %int 270
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%false = OpConstantFalse %bool %false = OpConstantFalse %bool
%float_0 = OpConstant %float 0 %float_0 = OpConstant %float 0
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%427 = OpTypeFunction %void %main_out %424 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %23 %merge_i1_i1_i1_ = OpFunction %void None %23
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -367,7 +365,7 @@ SKIP: FAILED
%i_3 = OpVariable %_ptr_Function_int Function %32 %i_3 = OpVariable %_ptr_Function_int Function %32
%j_1 = OpVariable %_ptr_Function_int Function %32 %j_1 = OpVariable %_ptr_Function_int Function %32
%grey = OpVariable %_ptr_Function_float Function %201 %grey = OpVariable %_ptr_Function_float Function %201
%guard233 = OpVariable %_ptr_Function_bool Function %393 %guard233 = OpVariable %_ptr_Function_bool Function %390
%204 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %204 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%205 = OpLoad %float %204 %205 = OpLoad %float %204
%206 = OpConvertFToS %int %205 %206 = OpConvertFToS %int %205
@ -440,251 +438,241 @@ SKIP: FAILED
%209 = OpLabel %209 = OpLabel
%253 = OpLoad %int %i_3 %253 = OpLoad %int %i_3
%254 = OpSLessThan %bool %253 %int_10 %254 = OpSLessThan %bool %253 %int_10
OpSelectionMerge %255 None OpBranchConditional %254 %207 %208
OpBranchConditional %254 %256 %257
%256 = OpLabel
OpBranch %255
%257 = OpLabel
OpBranch %208
%255 = OpLabel
OpBranch %207
%208 = OpLabel %208 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %255
%255 = OpLabel
OpLoopMerge %256 %257 None
OpBranch %258 OpBranch %258
%258 = OpLabel %258 = OpLabel
OpLoopMerge %259 %260 None %259 = OpLoad %int %j_1
OpBranch %261 %260 = OpSLessThan %bool %259 %int_10
%261 = OpLabel %261 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%262 = OpLoad %int %j_1 %262 = OpLoad %float %261
%263 = OpSLessThan %bool %262 %int_10 %265 = OpFOrdLessThanEqual %bool %262 %float_1
%264 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %263 = OpLogicalNot %bool %265
%265 = OpLoad %float %264 OpSelectionMerge %266 None
%268 = OpFOrdLessThanEqual %bool %265 %float_1 OpBranchConditional %263 %267 %266
%266 = OpLogicalNot %bool %268 %267 = OpLabel
OpSelectionMerge %269 None
OpBranchConditional %266 %270 %269
%270 = OpLabel
OpStore %grey %float_1 OpStore %grey %float_1
OpBranch %269 OpBranch %266
%266 = OpLabel
OpSelectionMerge %268 None
OpBranchConditional %260 %269 %270
%269 = OpLabel %269 = OpLabel
OpSelectionMerge %271 None OpBranch %268
OpBranchConditional %263 %272 %273 %270 = OpLabel
%272 = OpLabel OpBranch %256
OpBranch %271 %268 = OpLabel
%273 = OpLabel %271 = OpLoad %int %j_1
OpBranch %259 %272 = OpLoad %int %j_1
%271 = OpLabel %273 = OpAccessChain %_ptr_Private_int %data %272
%274 = OpLoad %int %j_1 %274 = OpLoad %int %273
%275 = OpLoad %int %j_1 %275 = OpAccessChain %_ptr_Private_int %temp %271
%276 = OpAccessChain %_ptr_Private_int %data %275 OpStore %275 %274
%277 = OpLoad %int %276 OpBranch %257
%278 = OpAccessChain %_ptr_Private_int %temp %274 %257 = OpLabel
OpStore %278 %277 %276 = OpLoad %int %j_1
OpBranch %260 %277 = OpIAdd %int %276 %int_1
%260 = OpLabel OpStore %j_1 %277
%279 = OpLoad %int %j_1 OpBranch %255
%280 = OpIAdd %int %279 %int_1 %256 = OpLabel
OpStore %j_1 %280 %278 = OpFunctionCall %void %mergeSort_
OpBranch %258 %281 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%259 = OpLabel %282 = OpLoad %float %281
%281 = OpFunctionCall %void %mergeSort_ %283 = OpConvertFToS %int %282
%284 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %285 = OpSLessThan %bool %283 %int_30
%285 = OpLoad %float %284 OpSelectionMerge %286 None
%286 = OpConvertFToS %int %285 OpBranchConditional %285 %287 %288
%288 = OpSLessThan %bool %286 %int_30 %287 = OpLabel
OpSelectionMerge %289 None %289 = OpAccessChain %_ptr_Private_int %data %int_0
OpBranchConditional %288 %290 %291 %290 = OpLoad %int %289
%290 = OpLabel %292 = OpConvertSToF %float %290
%292 = OpAccessChain %_ptr_Private_int %data %int_0 %294 = OpFDiv %float %292 %float_10
%293 = OpLoad %int %292 %295 = OpFAdd %float %float_0_5 %294
%295 = OpConvertSToF %float %293 OpStore %grey %295
%297 = OpFDiv %float %295 %float_10 OpBranch %286
%298 = OpFAdd %float %float_0_5 %297 %288 = OpLabel
OpStore %grey %298 %296 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %289 %297 = OpLoad %float %296
%291 = OpLabel %298 = OpConvertFToS %int %297
%299 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %300 = OpSLessThan %bool %298 %int_60
%300 = OpLoad %float %299 OpSelectionMerge %301 None
%301 = OpConvertFToS %int %300 OpBranchConditional %300 %302 %303
%303 = OpSLessThan %bool %301 %int_60 %302 = OpLabel
OpSelectionMerge %304 None %304 = OpAccessChain %_ptr_Private_int %data %int_1
OpBranchConditional %303 %305 %306 %305 = OpLoad %int %304
%305 = OpLabel %306 = OpConvertSToF %float %305
%307 = OpAccessChain %_ptr_Private_int %data %int_1 %307 = OpFDiv %float %306 %float_10
%308 = OpLoad %int %307 %308 = OpFAdd %float %float_0_5 %307
%309 = OpConvertSToF %float %308 OpStore %grey %308
%310 = OpFDiv %float %309 %float_10 OpBranch %301
%311 = OpFAdd %float %float_0_5 %310 %303 = OpLabel
OpStore %grey %311 %309 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %304 %310 = OpLoad %float %309
%306 = OpLabel %311 = OpConvertFToS %int %310
%312 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %313 = OpSLessThan %bool %311 %int_90
%313 = OpLoad %float %312 OpSelectionMerge %314 None
%314 = OpConvertFToS %int %313 OpBranchConditional %313 %315 %316
%316 = OpSLessThan %bool %314 %int_90 %315 = OpLabel
OpSelectionMerge %317 None %317 = OpAccessChain %_ptr_Private_int %data %int_2
OpBranchConditional %316 %318 %319 %318 = OpLoad %int %317
%318 = OpLabel %319 = OpConvertSToF %float %318
%320 = OpAccessChain %_ptr_Private_int %data %int_2 %320 = OpFDiv %float %319 %float_10
%321 = OpLoad %int %320 %321 = OpFAdd %float %float_0_5 %320
%322 = OpConvertSToF %float %321 OpStore %grey %321
%323 = OpFDiv %float %322 %float_10 OpBranch %314
%324 = OpFAdd %float %float_0_5 %323 %316 = OpLabel
OpStore %grey %324 %322 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %317 %323 = OpLoad %float %322
%319 = OpLabel %324 = OpConvertFToS %int %323
%325 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %326 = OpSLessThan %bool %324 %int_120
%326 = OpLoad %float %325 OpSelectionMerge %327 None
%327 = OpConvertFToS %int %326 OpBranchConditional %326 %328 %329
%329 = OpSLessThan %bool %327 %int_120 %328 = OpLabel
OpSelectionMerge %330 None %330 = OpAccessChain %_ptr_Private_int %data %int_3
OpBranchConditional %329 %331 %332 %331 = OpLoad %int %330
%331 = OpLabel %332 = OpConvertSToF %float %331
%333 = OpAccessChain %_ptr_Private_int %data %int_3 %333 = OpFDiv %float %332 %float_10
%334 = OpLoad %int %333 %334 = OpFAdd %float %float_0_5 %333
%335 = OpConvertSToF %float %334 OpStore %grey %334
%336 = OpFDiv %float %335 %float_10 OpBranch %327
%337 = OpFAdd %float %float_0_5 %336 %329 = OpLabel
OpStore %grey %337 %335 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %330 %336 = OpLoad %float %335
%332 = OpLabel %337 = OpConvertFToS %int %336
%338 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %339 = OpSLessThan %bool %337 %int_150
%339 = OpLoad %float %338 OpSelectionMerge %340 None
%340 = OpConvertFToS %int %339 OpBranchConditional %339 %341 %342
%342 = OpSLessThan %bool %340 %int_150 %341 = OpLabel
OpSelectionMerge %343 None
OpBranchConditional %342 %344 %345
%344 = OpLabel
OpKill OpKill
%345 = OpLabel %342 = OpLabel
%346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %343 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%347 = OpLoad %float %346 %344 = OpLoad %float %343
%348 = OpConvertFToS %int %347 %345 = OpConvertFToS %int %344
%350 = OpSLessThan %bool %348 %int_180 %347 = OpSLessThan %bool %345 %int_180
OpSelectionMerge %351 None OpSelectionMerge %348 None
OpBranchConditional %350 %352 %353 OpBranchConditional %347 %349 %350
%352 = OpLabel %349 = OpLabel
%355 = OpAccessChain %_ptr_Private_int %data %int_5 %352 = OpAccessChain %_ptr_Private_int %data %int_5
%356 = OpLoad %int %355 %353 = OpLoad %int %352
%357 = OpConvertSToF %float %356 %354 = OpConvertSToF %float %353
%358 = OpFDiv %float %357 %float_10 %355 = OpFDiv %float %354 %float_10
%359 = OpFAdd %float %float_0_5 %358 %356 = OpFAdd %float %float_0_5 %355
OpStore %grey %359 OpStore %grey %356
OpBranch %351 OpBranch %348
%353 = OpLabel %350 = OpLabel
%360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %357 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%361 = OpLoad %float %360 %358 = OpLoad %float %357
%362 = OpConvertFToS %int %361 %359 = OpConvertFToS %int %358
%364 = OpSLessThan %bool %362 %int_210 %361 = OpSLessThan %bool %359 %int_210
OpSelectionMerge %365 None OpSelectionMerge %362 None
OpBranchConditional %364 %366 %367 OpBranchConditional %361 %363 %364
%366 = OpLabel %363 = OpLabel
%369 = OpAccessChain %_ptr_Private_int %data %int_6 %366 = OpAccessChain %_ptr_Private_int %data %int_6
%370 = OpLoad %int %369 %367 = OpLoad %int %366
%371 = OpConvertSToF %float %370 %368 = OpConvertSToF %float %367
%372 = OpFDiv %float %371 %float_10 %369 = OpFDiv %float %368 %float_10
%373 = OpFAdd %float %float_0_5 %372 %370 = OpFAdd %float %float_0_5 %369
OpStore %grey %373 OpStore %grey %370
OpBranch %365 OpBranch %362
%367 = OpLabel %364 = OpLabel
%374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %371 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%375 = OpLoad %float %374 %372 = OpLoad %float %371
%376 = OpConvertFToS %int %375 %373 = OpConvertFToS %int %372
%378 = OpSLessThan %bool %376 %int_240 %375 = OpSLessThan %bool %373 %int_240
OpSelectionMerge %379 None OpSelectionMerge %376 None
OpBranchConditional %378 %380 %381 OpBranchConditional %375 %377 %378
%380 = OpLabel %377 = OpLabel
%383 = OpAccessChain %_ptr_Private_int %data %int_7 %380 = OpAccessChain %_ptr_Private_int %data %int_7
%384 = OpLoad %int %383 %381 = OpLoad %int %380
%385 = OpConvertSToF %float %384 %382 = OpConvertSToF %float %381
%386 = OpFDiv %float %385 %float_10 %383 = OpFDiv %float %382 %float_10
%387 = OpFAdd %float %float_0_5 %386 %384 = OpFAdd %float %float_0_5 %383
OpStore %grey %387 OpStore %grey %384
OpBranch %379 OpBranch %376
%381 = OpLabel %378 = OpLabel
%388 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %385 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%389 = OpLoad %float %388 %386 = OpLoad %float %385
OpStore %guard233 %true OpStore %guard233 %true
%394 = OpConvertFToS %int %389 %391 = OpConvertFToS %int %386
%396 = OpSLessThan %bool %394 %int_270 %393 = OpSLessThan %bool %391 %int_270
OpSelectionMerge %397 None OpSelectionMerge %394 None
OpBranchConditional %396 %398 %399 OpBranchConditional %393 %395 %396
%398 = OpLabel %395 = OpLabel
%401 = OpAccessChain %_ptr_Private_int %data %int_8 %398 = OpAccessChain %_ptr_Private_int %data %int_8
%402 = OpLoad %int %401 %399 = OpLoad %int %398
%403 = OpConvertSToF %float %402 %400 = OpConvertSToF %float %399
%404 = OpFDiv %float %403 %float_10 %401 = OpFDiv %float %400 %float_10
%405 = OpFAdd %float %float_0_5 %404 %402 = OpFAdd %float %float_0_5 %401
OpStore %grey %405 OpStore %grey %402
OpStore %guard233 %false OpStore %guard233 %false
OpBranch %397 OpBranch %394
%399 = OpLabel %396 = OpLabel
%407 = OpLoad %bool %guard233 %404 = OpLoad %bool %guard233
OpSelectionMerge %408 None OpSelectionMerge %405 None
OpBranchConditional %407 %409 %408 OpBranchConditional %404 %406 %405
%409 = OpLabel %406 = OpLabel
%410 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_1 %407 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_1
%411 = OpLoad %float %410 %408 = OpLoad %float %407
%414 = OpFOrdLessThan %bool %float_0 %411 %411 = OpFOrdLessThan %bool %float_0 %408
%412 = OpLogicalNot %bool %414 %409 = OpLogicalNot %bool %411
OpSelectionMerge %412 None
OpBranchConditional %409 %413 %412
%413 = OpLabel
OpStore %guard233 %false
OpBranch %412
%412 = OpLabel
%414 = OpLoad %bool %guard233
OpSelectionMerge %415 None OpSelectionMerge %415 None
OpBranchConditional %412 %416 %415 OpBranchConditional %414 %416 %415
%416 = OpLabel %416 = OpLabel
OpStore %guard233 %false
OpBranch %415
%415 = OpLabel
%417 = OpLoad %bool %guard233
OpSelectionMerge %418 None
OpBranchConditional %417 %419 %418
%419 = OpLabel
OpKill OpKill
%418 = OpLabel %415 = OpLabel
OpBranch %408 OpBranch %405
%408 = OpLabel %405 = OpLabel
OpBranch %397 OpBranch %394
%397 = OpLabel %394 = OpLabel
OpBranch %379 OpBranch %376
%379 = OpLabel %376 = OpLabel
OpBranch %365 OpBranch %362
%365 = OpLabel %362 = OpLabel
OpBranch %351 OpBranch %348
%351 = OpLabel %348 = OpLabel
OpBranch %343 OpBranch %340
%343 = OpLabel %340 = OpLabel
OpBranch %330 OpBranch %327
%330 = OpLabel %327 = OpLabel
OpBranch %317 OpBranch %314
%317 = OpLabel %314 = OpLabel
OpBranch %304 OpBranch %301
%304 = OpLabel %301 = OpLabel
OpBranch %289 OpBranch %286
%289 = OpLabel %286 = OpLabel
%420 = OpLoad %float %grey %417 = OpLoad %float %grey
%422 = OpCompositeConstruct %v3float %420 %420 %420 %419 = OpCompositeConstruct %v3float %417 %417 %417
%423 = OpCompositeExtract %float %422 0 %420 = OpCompositeExtract %float %419 0
%424 = OpCompositeExtract %float %422 1 %421 = OpCompositeExtract %float %419 1
%425 = OpCompositeExtract %float %422 2 %422 = OpCompositeExtract %float %419 2
%426 = OpCompositeConstruct %v4float %423 %424 %425 %float_1 %423 = OpCompositeConstruct %v4float %420 %421 %422 %float_1
OpStore %x_GLF_color %426 OpStore %x_GLF_color %423
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %427 %tint_symbol_3 = OpFunction %void None %424
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%431 = OpLabel %428 = OpLabel
%432 = OpCompositeExtract %v4float %tint_symbol_1 0 %429 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %432 OpStore %tint_symbol_2 %429
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %132 %main = OpFunction %void None %132
%434 = OpLabel %431 = OpLabel
%435 = OpLoad %v4float %tint_symbol %432 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %435 OpStore %gl_FragCoord %432
%436 = OpFunctionCall %void %main_1 %433 = OpFunctionCall %void %main_1
%438 = OpLoad %v4float %x_GLF_color %435 = OpLoad %v4float %x_GLF_color
%439 = OpCompositeConstruct %main_out %438 %436 = OpCompositeConstruct %main_out %435
%437 = OpFunctionCall %void %tint_symbol_3 %439 %434 = OpFunctionCall %void %tint_symbol_3 %436
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 209[%209] is not post dominated by the back-edge block 255[%255]
%255 = OpLabel

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0
; Bound: 525 ; Bound: 522
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%290 = OpExtInstImport "GLSL.std.450" %290 = OpExtInstImport "GLSL.std.450"
@ -140,7 +138,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8 %int_8 = OpConstant %int 8
%v3float = OpTypeVector %float 3 %v3float = OpTypeVector %float 3
%main_out = OpTypeStruct %v4float %main_out = OpTypeStruct %v4float
%512 = OpTypeFunction %void %main_out %509 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %23 %merge_i1_i1_i1_ = OpFunction %void None %23
%from = OpFunctionParameter %_ptr_Function_int %from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
@ -648,217 +646,207 @@ SKIP: FAILED
%320 = OpLabel %320 = OpLabel
%364 = OpLoad %int %i_3 %364 = OpLoad %int %i_3
%365 = OpSLessThan %bool %364 %int_10 %365 = OpSLessThan %bool %364 %int_10
OpSelectionMerge %366 None OpBranchConditional %365 %318 %319
OpBranchConditional %365 %367 %368
%367 = OpLabel
OpBranch %366
%368 = OpLabel
OpBranch %319
%366 = OpLabel
OpBranch %318
%319 = OpLabel %319 = OpLabel
OpStore %j_1 %int_0 OpStore %j_1 %int_0
OpBranch %366
%366 = OpLabel
OpLoopMerge %367 %368 None
OpBranch %369 OpBranch %369
%369 = OpLabel %369 = OpLabel
OpLoopMerge %370 %371 None %370 = OpLoad %int %j_1
%371 = OpSLessThan %bool %370 %int_10
OpSelectionMerge %372 None
OpBranchConditional %371 %373 %374
%373 = OpLabel
OpBranch %372 OpBranch %372
%374 = OpLabel
OpBranch %367
%372 = OpLabel %372 = OpLabel
%373 = OpLoad %int %j_1 %375 = OpLoad %int %j_1
%374 = OpSLessThan %bool %373 %int_10 %376 = OpLoad %int %j_1
OpSelectionMerge %375 None %377 = OpAccessChain %_ptr_Private_int %data %376
OpBranchConditional %374 %376 %377 %378 = OpLoad %int %377
%376 = OpLabel %379 = OpAccessChain %_ptr_Private_int %temp %375
OpBranch %375 OpStore %379 %378
%377 = OpLabel OpBranch %368
OpBranch %370 %368 = OpLabel
%375 = OpLabel %380 = OpLoad %int %j_1
%378 = OpLoad %int %j_1 %381 = OpIAdd %int %380 %int_1
%379 = OpLoad %int %j_1 OpStore %j_1 %381
%380 = OpAccessChain %_ptr_Private_int %data %379 OpBranch %366
%381 = OpLoad %int %380 %367 = OpLabel
%382 = OpAccessChain %_ptr_Private_int %temp %378 %382 = OpFunctionCall %void %mergeSort_
OpStore %382 %381 %384 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
OpBranch %371 %385 = OpLoad %float %384
%371 = OpLabel %386 = OpConvertFToS %int %385
%383 = OpLoad %int %j_1 %388 = OpSLessThan %bool %386 %int_30
%384 = OpIAdd %int %383 %int_1 OpSelectionMerge %389 None
OpStore %j_1 %384 OpBranchConditional %388 %390 %391
OpBranch %369 %390 = OpLabel
%370 = OpLabel %392 = OpAccessChain %_ptr_Private_int %data %int_0
%385 = OpFunctionCall %void %mergeSort_ %393 = OpLoad %int %392
%387 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %395 = OpConvertSToF %float %393
%388 = OpLoad %float %387 %397 = OpFDiv %float %395 %float_10
%389 = OpConvertFToS %int %388 %398 = OpFAdd %float %float_0_5 %397
%391 = OpSLessThan %bool %389 %int_30 OpStore %grey %398
OpSelectionMerge %392 None OpBranch %389
OpBranchConditional %391 %393 %394 %391 = OpLabel
%393 = OpLabel %399 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%395 = OpAccessChain %_ptr_Private_int %data %int_0 %400 = OpLoad %float %399
%396 = OpLoad %int %395 %401 = OpConvertFToS %int %400
%398 = OpConvertSToF %float %396 %403 = OpSLessThan %bool %401 %int_60
%400 = OpFDiv %float %398 %float_10 OpSelectionMerge %404 None
%401 = OpFAdd %float %float_0_5 %400 OpBranchConditional %403 %405 %406
OpStore %grey %401 %405 = OpLabel
OpBranch %392 %407 = OpAccessChain %_ptr_Private_int %data %int_1
%394 = OpLabel %408 = OpLoad %int %407
%402 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %409 = OpConvertSToF %float %408
%403 = OpLoad %float %402 %410 = OpFDiv %float %409 %float_10
%404 = OpConvertFToS %int %403 %411 = OpFAdd %float %float_0_5 %410
%406 = OpSLessThan %bool %404 %int_60 OpStore %grey %411
OpSelectionMerge %407 None OpBranch %404
OpBranchConditional %406 %408 %409 %406 = OpLabel
%408 = OpLabel %412 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%410 = OpAccessChain %_ptr_Private_int %data %int_1 %413 = OpLoad %float %412
%411 = OpLoad %int %410 %414 = OpConvertFToS %int %413
%412 = OpConvertSToF %float %411 %416 = OpSLessThan %bool %414 %int_90
%413 = OpFDiv %float %412 %float_10 OpSelectionMerge %417 None
%414 = OpFAdd %float %float_0_5 %413 OpBranchConditional %416 %418 %419
OpStore %grey %414 %418 = OpLabel
OpBranch %407 %420 = OpAccessChain %_ptr_Private_int %data %int_2
%409 = OpLabel %421 = OpLoad %int %420
%415 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %422 = OpConvertSToF %float %421
%416 = OpLoad %float %415 %423 = OpFDiv %float %422 %float_10
%417 = OpConvertFToS %int %416 %424 = OpFAdd %float %float_0_5 %423
%419 = OpSLessThan %bool %417 %int_90 OpStore %grey %424
OpSelectionMerge %420 None OpBranch %417
OpBranchConditional %419 %421 %422 %419 = OpLabel
%421 = OpLabel %425 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%423 = OpAccessChain %_ptr_Private_int %data %int_2 %426 = OpLoad %float %425
%424 = OpLoad %int %423 %427 = OpConvertFToS %int %426
%425 = OpConvertSToF %float %424 %429 = OpSLessThan %bool %427 %int_120
%426 = OpFDiv %float %425 %float_10 OpSelectionMerge %430 None
%427 = OpFAdd %float %float_0_5 %426 OpBranchConditional %429 %431 %432
OpStore %grey %427 %431 = OpLabel
OpBranch %420 %433 = OpAccessChain %_ptr_Private_int %data %int_3
%422 = OpLabel %434 = OpLoad %int %433
%428 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %435 = OpConvertSToF %float %434
%429 = OpLoad %float %428 %436 = OpFDiv %float %435 %float_10
%430 = OpConvertFToS %int %429 %437 = OpFAdd %float %float_0_5 %436
%432 = OpSLessThan %bool %430 %int_120 OpStore %grey %437
OpSelectionMerge %433 None OpBranch %430
OpBranchConditional %432 %434 %435 %432 = OpLabel
%434 = OpLabel %438 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%436 = OpAccessChain %_ptr_Private_int %data %int_3 %439 = OpLoad %float %438
%437 = OpLoad %int %436 %440 = OpConvertFToS %int %439
%438 = OpConvertSToF %float %437 %442 = OpSLessThan %bool %440 %int_150
%439 = OpFDiv %float %438 %float_10 OpSelectionMerge %443 None
%440 = OpFAdd %float %float_0_5 %439 OpBranchConditional %442 %444 %445
OpStore %grey %440 %444 = OpLabel
OpBranch %433
%435 = OpLabel
%441 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%442 = OpLoad %float %441
%443 = OpConvertFToS %int %442
%445 = OpSLessThan %bool %443 %int_150
OpSelectionMerge %446 None
OpBranchConditional %445 %447 %448
%447 = OpLabel
OpKill OpKill
%448 = OpLabel %445 = OpLabel
%449 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %446 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%450 = OpLoad %float %449 %447 = OpLoad %float %446
%451 = OpConvertFToS %int %450 %448 = OpConvertFToS %int %447
%453 = OpSLessThan %bool %451 %int_180 %450 = OpSLessThan %bool %448 %int_180
OpSelectionMerge %454 None OpSelectionMerge %451 None
OpBranchConditional %453 %455 %456 OpBranchConditional %450 %452 %453
%455 = OpLabel %452 = OpLabel
%458 = OpAccessChain %_ptr_Private_int %data %int_5 %455 = OpAccessChain %_ptr_Private_int %data %int_5
%459 = OpLoad %int %458 %456 = OpLoad %int %455
%460 = OpConvertSToF %float %459 %457 = OpConvertSToF %float %456
%461 = OpFDiv %float %460 %float_10 %458 = OpFDiv %float %457 %float_10
%462 = OpFAdd %float %float_0_5 %461 %459 = OpFAdd %float %float_0_5 %458
OpStore %grey %462 OpStore %grey %459
OpBranch %454 OpBranch %451
%456 = OpLabel %453 = OpLabel
%463 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %460 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%464 = OpLoad %float %463 %461 = OpLoad %float %460
%465 = OpConvertFToS %int %464 %462 = OpConvertFToS %int %461
%467 = OpSLessThan %bool %465 %int_210 %464 = OpSLessThan %bool %462 %int_210
OpSelectionMerge %468 None OpSelectionMerge %465 None
OpBranchConditional %467 %469 %470 OpBranchConditional %464 %466 %467
%469 = OpLabel %466 = OpLabel
%472 = OpAccessChain %_ptr_Private_int %data %int_6 %469 = OpAccessChain %_ptr_Private_int %data %int_6
%473 = OpLoad %int %472 %470 = OpLoad %int %469
%474 = OpConvertSToF %float %473 %471 = OpConvertSToF %float %470
%475 = OpFDiv %float %474 %float_10 %472 = OpFDiv %float %471 %float_10
%476 = OpFAdd %float %float_0_5 %475 %473 = OpFAdd %float %float_0_5 %472
OpStore %grey %476 OpStore %grey %473
OpBranch %468 OpBranch %465
%470 = OpLabel %467 = OpLabel
%477 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %474 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%478 = OpLoad %float %477 %475 = OpLoad %float %474
%479 = OpConvertFToS %int %478 %476 = OpConvertFToS %int %475
%481 = OpSLessThan %bool %479 %int_240 %478 = OpSLessThan %bool %476 %int_240
OpSelectionMerge %482 None OpSelectionMerge %479 None
OpBranchConditional %481 %483 %484 OpBranchConditional %478 %480 %481
%483 = OpLabel %480 = OpLabel
%486 = OpAccessChain %_ptr_Private_int %data %int_7 %483 = OpAccessChain %_ptr_Private_int %data %int_7
%487 = OpLoad %int %486 %484 = OpLoad %int %483
%488 = OpConvertSToF %float %487 %485 = OpConvertSToF %float %484
%489 = OpFDiv %float %488 %float_10 %486 = OpFDiv %float %485 %float_10
%490 = OpFAdd %float %float_0_5 %489 %487 = OpFAdd %float %float_0_5 %486
OpStore %grey %490 OpStore %grey %487
OpBranch %482 OpBranch %479
%484 = OpLabel %481 = OpLabel
%491 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %488 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%492 = OpLoad %float %491 %489 = OpLoad %float %488
%493 = OpConvertFToS %int %492 %490 = OpConvertFToS %int %489
%495 = OpSLessThan %bool %493 %int_270 %492 = OpSLessThan %bool %490 %int_270
OpSelectionMerge %496 None OpSelectionMerge %493 None
OpBranchConditional %495 %497 %498 OpBranchConditional %492 %494 %495
%497 = OpLabel %494 = OpLabel
%500 = OpAccessChain %_ptr_Private_int %data %int_8 %497 = OpAccessChain %_ptr_Private_int %data %int_8
%501 = OpLoad %int %500 %498 = OpLoad %int %497
%502 = OpConvertSToF %float %501 %499 = OpConvertSToF %float %498
%503 = OpFDiv %float %502 %float_10 %500 = OpFDiv %float %499 %float_10
%504 = OpFAdd %float %float_0_5 %503 %501 = OpFAdd %float %float_0_5 %500
OpStore %grey %504 OpStore %grey %501
OpBranch %496 OpBranch %493
%498 = OpLabel %495 = OpLabel
OpKill OpKill
%496 = OpLabel %493 = OpLabel
OpBranch %482 OpBranch %479
%482 = OpLabel %479 = OpLabel
OpBranch %468 OpBranch %465
%468 = OpLabel %465 = OpLabel
OpBranch %454 OpBranch %451
%454 = OpLabel %451 = OpLabel
OpBranch %446 OpBranch %443
%446 = OpLabel %443 = OpLabel
OpBranch %433 OpBranch %430
%433 = OpLabel %430 = OpLabel
OpBranch %420 OpBranch %417
%420 = OpLabel %417 = OpLabel
OpBranch %407 OpBranch %404
%407 = OpLabel %404 = OpLabel
OpBranch %392 OpBranch %389
%392 = OpLabel %389 = OpLabel
%505 = OpLoad %float %grey %502 = OpLoad %float %grey
%507 = OpCompositeConstruct %v3float %505 %505 %505 %504 = OpCompositeConstruct %v3float %502 %502 %502
%508 = OpCompositeExtract %float %507 0 %505 = OpCompositeExtract %float %504 0
%509 = OpCompositeExtract %float %507 1 %506 = OpCompositeExtract %float %504 1
%510 = OpCompositeExtract %float %507 2 %507 = OpCompositeExtract %float %504 2
%511 = OpCompositeConstruct %v4float %508 %509 %510 %float_1 %508 = OpCompositeConstruct %v4float %505 %506 %507 %float_1
OpStore %x_GLF_color %511 OpStore %x_GLF_color %508
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %512 %tint_symbol_3 = OpFunction %void None %509
%tint_symbol_1 = OpFunctionParameter %main_out %tint_symbol_1 = OpFunctionParameter %main_out
%516 = OpLabel %513 = OpLabel
%517 = OpCompositeExtract %v4float %tint_symbol_1 0 %514 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %517 OpStore %tint_symbol_2 %514
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%main = OpFunction %void None %246 %main = OpFunction %void None %246
%519 = OpLabel %516 = OpLabel
%520 = OpLoad %v4float %tint_symbol %517 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %520 OpStore %gl_FragCoord %517
%521 = OpFunctionCall %void %main_1 %518 = OpFunctionCall %void %main_1
%523 = OpLoad %v4float %x_GLF_color %520 = OpLoad %v4float %x_GLF_color
%524 = OpCompositeConstruct %main_out %523 %521 = OpCompositeConstruct %main_out %520
%522 = OpFunctionCall %void %tint_symbol_3 %524 %519 = OpFunctionCall %void %tint_symbol_3 %521
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
1:1: The continue construct with the continue target 320[%320] is not post dominated by the back-edge block 366[%366]
%366 = OpLabel

Some files were not shown because too many files have changed in this diff Show More