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/bool.h"
#include "src/ast/bool_literal.h"
#include "src/ast/break_statement.h"
#include "src/ast/call_expression.h"
#include "src/ast/call_statement.h"
#include "src/ast/case_statement.h"
@ -1782,6 +1783,17 @@ class ProgramBuilder {
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
/// @param source the source information
/// @returns the return statement pointer

View File

@ -3447,6 +3447,49 @@ bool Builder::GenerateConditionalBlock(
}
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,
stmt->else_statements())) {
return false;
@ -3603,6 +3646,11 @@ bool Builder::GenerateLoopStatement(ast::LoopStatement* stmt) {
continue_stack_.push_back(continue_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)})) {
return false;
}
@ -3630,16 +3678,23 @@ bool Builder::GenerateLoopStatement(ast::LoopStatement* stmt) {
return false;
}
if (stmt->has_continuing()) {
continuing_stack_.emplace_back(stmt->continuing()->last(), loop_header_id,
merge_block_id);
if (!GenerateBlockStatementWithoutScoping(stmt->continuing())) {
return false;
}
continuing_stack_.pop_back();
}
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;
}
backedge_stack_.pop_back();
merge_stack_.pop_back();
continue_stack_.pop_back();
@ -4260,6 +4315,26 @@ bool Builder::push_function_inst(spv::Op op, const OperandList& operands) {
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 writer
} // namespace tint

View File

@ -584,6 +584,33 @@ class Builder {
std::vector<uint32_t> continue_stack_;
std::unordered_set<uint32_t> capability_set_;
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

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 spirv
} // namespace writer

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 56
; Bound: 53
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -53,7 +51,7 @@ SKIP: FAILED
%_ptr_Uniform_float = OpTypePointer Uniform %float
%false = OpConstantFalse %bool
%main_out = OpTypeStruct %v4float
%44 = OpTypeFunction %void %main_out
%41 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12
%15 = OpLabel
%GLF_live12c5 = OpVariable %_ptr_Function_bool Function %19
@ -82,32 +80,22 @@ SKIP: FAILED
%34 = OpLabel
OpBranch %24
%25 = OpLabel
OpSelectionMerge %41 None
OpBranchConditional %false %42 %43
%42 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %24
%41 = OpLabel
OpBranch %23
OpBranchConditional %false %23 %24
%24 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %44
%tint_symbol_2 = OpFunction %void None %41
%tint_symbol = OpFunctionParameter %main_out
%48 = OpLabel
%49 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %49
%45 = OpLabel
%46 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %46
OpReturn
OpFunctionEnd
%main = OpFunction %void None %12
%51 = OpLabel
%52 = OpFunctionCall %void %main_1
%54 = OpLoad %v4float %x_GLF_color
%55 = OpCompositeConstruct %main_out %54
%53 = OpFunctionCall %void %tint_symbol_2 %55
%48 = OpLabel
%49 = OpFunctionCall %void %main_1
%51 = OpLoad %v4float %x_GLF_color
%52 = OpCompositeConstruct %main_out %51
%50 = OpFunctionCall %void %tint_symbol_2 %52
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 56
; Bound: 53
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -53,7 +51,7 @@ SKIP: FAILED
%_ptr_Uniform_float = OpTypePointer Uniform %float
%false = OpConstantFalse %bool
%main_out = OpTypeStruct %v4float
%44 = OpTypeFunction %void %main_out
%41 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12
%15 = OpLabel
%GLF_live12c5 = OpVariable %_ptr_Function_bool Function %19
@ -82,32 +80,22 @@ SKIP: FAILED
%34 = OpLabel
OpBranch %24
%25 = OpLabel
OpSelectionMerge %41 None
OpBranchConditional %false %42 %43
%42 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %24
%41 = OpLabel
OpBranch %23
OpBranchConditional %false %23 %24
%24 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %44
%tint_symbol_2 = OpFunction %void None %41
%tint_symbol = OpFunctionParameter %main_out
%48 = OpLabel
%49 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %49
%45 = OpLabel
%46 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %46
OpReturn
OpFunctionEnd
%main = OpFunction %void None %12
%51 = OpLabel
%52 = OpFunctionCall %void %main_1
%54 = OpLoad %v4float %x_GLF_color
%55 = OpCompositeConstruct %main_out %54
%53 = OpFunctionCall %void %tint_symbol_2 %55
%48 = OpLabel
%49 = OpFunctionCall %void %main_1
%51 = OpLoad %v4float %x_GLF_color
%52 = OpCompositeConstruct %main_out %51
%50 = OpFunctionCall %void %tint_symbol_2 %52
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 164
; Bound: 161
; Schema: 0
OpCapability Shader
%56 = OpExtInstImport "GLSL.std.450"
@ -80,9 +78,9 @@ SKIP: FAILED
%_ptr_Uniform_float = OpTypePointer Uniform %float
%int_65 = OpConstant %int 65
%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
%151 = OpTypeFunction %void %main_out
%148 = OpTypeFunction %void %main_out
%func_i1_ = OpFunction %float None %14
%b = OpFunctionParameter %_ptr_Function_int
%19 = OpLabel
@ -243,45 +241,35 @@ SKIP: FAILED
%139 = OpLoad %float %138
%140 = OpConvertFToS %int %139
%141 = OpSGreaterThan %bool %140 %int_1
OpSelectionMerge %142 None
OpBranchConditional %141 %143 %144
%143 = OpLabel
OpBranch %142
%144 = OpLabel
OpBranch %94
%142 = OpLabel
OpBranch %93
OpBranchConditional %141 %93 %94
%94 = OpLabel
%145 = OpLoad %float %f
%146 = OpFOrdEqual %bool %145 %float_3
OpSelectionMerge %147 None
OpBranchConditional %146 %148 %149
%148 = OpLabel
OpStore %x_GLF_color %150
OpBranch %147
%149 = OpLabel
%142 = OpLoad %float %f
%143 = OpFOrdEqual %bool %142 %float_3
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %146
%145 = OpLabel
OpStore %x_GLF_color %147
OpBranch %144
%146 = OpLabel
OpStore %x_GLF_color %80
OpBranch %147
%147 = OpLabel
OpBranch %144
%144 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %151
%tint_symbol_3 = OpFunction %void None %148
%tint_symbol_1 = OpFunctionParameter %main_out
%155 = OpLabel
%156 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %156
%152 = OpLabel
%153 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %153
OpReturn
OpFunctionEnd
%main = OpFunction %void None %82
%158 = OpLabel
%159 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %159
%160 = OpFunctionCall %void %main_1
%162 = OpLoad %v4float %x_GLF_color
%163 = OpCompositeConstruct %main_out %162
%161 = OpFunctionCall %void %tint_symbol_3 %163
%155 = OpLabel
%156 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %156
%157 = OpFunctionCall %void %main_1
%159 = OpLoad %v4float %x_GLF_color
%160 = OpCompositeConstruct %main_out %159
%158 = OpFunctionCall %void %tint_symbol_3 %160
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 164
; Bound: 161
; Schema: 0
OpCapability Shader
%56 = OpExtInstImport "GLSL.std.450"
@ -80,9 +78,9 @@ SKIP: FAILED
%_ptr_Uniform_float = OpTypePointer Uniform %float
%int_65 = OpConstant %int 65
%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
%151 = OpTypeFunction %void %main_out
%148 = OpTypeFunction %void %main_out
%func_i1_ = OpFunction %float None %14
%b = OpFunctionParameter %_ptr_Function_int
%19 = OpLabel
@ -243,45 +241,35 @@ SKIP: FAILED
%139 = OpLoad %float %138
%140 = OpConvertFToS %int %139
%141 = OpSGreaterThan %bool %140 %int_1
OpSelectionMerge %142 None
OpBranchConditional %141 %143 %144
%143 = OpLabel
OpBranch %142
%144 = OpLabel
OpBranch %94
%142 = OpLabel
OpBranch %93
OpBranchConditional %141 %93 %94
%94 = OpLabel
%145 = OpLoad %float %f
%146 = OpFOrdEqual %bool %145 %float_3
OpSelectionMerge %147 None
OpBranchConditional %146 %148 %149
%148 = OpLabel
OpStore %x_GLF_color %150
OpBranch %147
%149 = OpLabel
%142 = OpLoad %float %f
%143 = OpFOrdEqual %bool %142 %float_3
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %146
%145 = OpLabel
OpStore %x_GLF_color %147
OpBranch %144
%146 = OpLabel
OpStore %x_GLF_color %80
OpBranch %147
%147 = OpLabel
OpBranch %144
%144 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %151
%tint_symbol_3 = OpFunction %void None %148
%tint_symbol_1 = OpFunctionParameter %main_out
%155 = OpLabel
%156 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %156
%152 = OpLabel
%153 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %153
OpReturn
OpFunctionEnd
%main = OpFunction %void None %82
%158 = OpLabel
%159 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %159
%160 = OpFunctionCall %void %main_1
%162 = OpLoad %v4float %x_GLF_color
%163 = OpCompositeConstruct %main_out %162
%161 = OpFunctionCall %void %tint_symbol_3 %163
%155 = OpLabel
%156 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %156
%157 = OpFunctionCall %void %main_1
%159 = OpLoad %v4float %x_GLF_color
%160 = OpCompositeConstruct %main_out %159
%158 = OpFunctionCall %void %tint_symbol_3 %160
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 324
; Bound: 321
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -100,9 +98,9 @@ SKIP: FAILED
%int_19 = OpConstant %int 19
%bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%276 = OpConstantNull %bool
%273 = OpConstantNull %bool
%main_out = OpTypeStruct %v4float
%312 = OpTypeFunction %void %main_out
%309 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18
%21 = OpLabel
%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
%ref1 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
%i = OpVariable %_ptr_Function_int Function %30
%x_277 = OpVariable %_ptr_Function_bool Function %276
%x_278_phi = OpVariable %_ptr_Function_bool Function %276
%x_277 = OpVariable %_ptr_Function_bool Function %273
%x_278_phi = OpVariable %_ptr_Function_bool Function %273
%43 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%44 = OpLoad %int %43
%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
%206 = OpLoad %int %205
%207 = OpIEqual %bool %204 %206
OpSelectionMerge %208 None
OpBranchConditional %207 %209 %210
%209 = OpLabel
OpBranch %208
%210 = OpLabel
OpBranch %178
%208 = OpLabel
OpBranch %177
OpBranchConditional %207 %177 %178
%178 = OpLabel
OpBranch %108
%108 = OpLabel
%211 = OpLoad %int %a
%212 = OpIAdd %int %211 %int_1
OpStore %a %212
%208 = OpLoad %int %a
%209 = OpIAdd %int %208 %int_1
OpStore %a %209
OpBranch %106
%107 = OpLabel
%213 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%214 = OpLoad %int %213
%215 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%216 = OpLoad %int %215
%217 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%218 = OpLoad %int %217
%219 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%220 = OpLoad %int %219
%221 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%222 = OpLoad %int %221
%223 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_7
%224 = OpLoad %int %223
%225 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_8
%226 = OpLoad %int %225
%227 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_9
%228 = OpLoad %int %227
%229 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%230 = OpLoad %int %229
%231 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_10
%210 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%211 = OpLoad %int %210
%212 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%213 = OpLoad %int %212
%214 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%215 = OpLoad %int %214
%216 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%217 = OpLoad %int %216
%218 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%219 = OpLoad %int %218
%220 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_7
%221 = OpLoad %int %220
%222 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_8
%223 = OpLoad %int %222
%224 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_9
%225 = OpLoad %int %224
%226 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%227 = OpLoad %int %226
%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
%233 = OpCompositeConstruct %_arr_int_uint_10 %214 %216 %218 %220 %222 %224 %226 %228 %230 %232
OpStore %ref0 %233
%234 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%235 = OpLoad %int %234
%236 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%237 = OpLoad %int %236
%238 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%239 = OpLoad %int %238
%240 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%241 = OpLoad %int %240
%242 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%243 = OpLoad %int %242
%244 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_13
%245 = OpLoad %int %244
%246 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_14
%247 = OpLoad %int %246
%248 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%249 = OpLoad %int %248
%250 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_18
%251 = OpLoad %int %250
%252 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_19
%233 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%234 = OpLoad %int %233
%235 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%236 = OpLoad %int %235
%237 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%238 = OpLoad %int %237
%239 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%240 = OpLoad %int %239
%241 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_13
%242 = OpLoad %int %241
%243 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_14
%244 = OpLoad %int %243
%245 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%246 = OpLoad %int %245
%247 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_18
%248 = OpLoad %int %247
%249 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_19
%250 = OpLoad %int %249
%251 = OpCompositeConstruct %_arr_int_uint_10 %232 %234 %236 %238 %240 %242 %244 %246 %248 %250
OpStore %ref1 %251
%252 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%253 = OpLoad %int %252
%254 = OpCompositeConstruct %_arr_int_uint_10 %235 %237 %239 %241 %243 %245 %247 %249 %251 %253
OpStore %ref1 %254
%255 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%256 = OpLoad %int %255
%257 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%258 = OpLoad %int %257
%259 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%260 = OpLoad %int %259
%261 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%262 = OpLoad %int %261
%263 = OpConvertSToF %float %256
%264 = OpConvertSToF %float %258
%265 = OpConvertSToF %float %260
%266 = OpConvertSToF %float %262
%267 = OpCompositeConstruct %v4float %263 %264 %265 %266
OpStore %x_GLF_color %267
%268 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%269 = OpLoad %int %268
OpStore %i %269
%254 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%255 = OpLoad %int %254
%256 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%257 = OpLoad %int %256
%258 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%259 = OpLoad %int %258
%260 = OpConvertSToF %float %253
%261 = OpConvertSToF %float %255
%262 = OpConvertSToF %float %257
%263 = OpConvertSToF %float %259
%264 = OpCompositeConstruct %v4float %260 %261 %262 %263
OpStore %x_GLF_color %264
%265 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%266 = OpLoad %int %265
OpStore %i %266
OpBranch %267
%267 = OpLabel
OpLoopMerge %268 %269 None
OpBranch %270
%270 = OpLabel
OpLoopMerge %271 %272 None
OpBranch %273
%273 = OpLabel
%278 = OpLoad %int %i
%279 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%280 = OpLoad %int %279
%281 = OpSLessThan %bool %278 %280
OpSelectionMerge %282 None
OpBranchConditional %281 %283 %284
%283 = OpLabel
OpBranch %282
%284 = OpLabel
OpBranch %271
%282 = OpLabel
%275 = OpLoad %int %i
%276 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%277 = OpLoad %int %276
%278 = OpSLessThan %bool %275 %277
OpSelectionMerge %279 None
OpBranchConditional %278 %280 %281
%280 = OpLabel
OpBranch %279
%281 = OpLabel
OpBranch %268
%279 = OpLabel
%282 = OpLoad %int %i
%283 = OpAccessChain %_ptr_Function_int %arr0 %282
%284 = OpLoad %int %283
%285 = OpLoad %int %i
%286 = OpAccessChain %_ptr_Function_int %arr0 %285
%286 = OpAccessChain %_ptr_Function_int %ref0 %285
%287 = OpLoad %int %286
%288 = OpLoad %int %i
%289 = OpAccessChain %_ptr_Function_int %ref0 %288
%290 = OpLoad %int %289
%291 = OpINotEqual %bool %287 %290
OpStore %x_278_phi %291
%292 = OpLogicalNot %bool %291
OpSelectionMerge %293 None
OpBranchConditional %292 %294 %293
%294 = OpLabel
%288 = OpINotEqual %bool %284 %287
OpStore %x_278_phi %288
%289 = OpLogicalNot %bool %288
OpSelectionMerge %290 None
OpBranchConditional %289 %291 %290
%291 = OpLabel
%292 = OpLoad %int %i
%293 = OpAccessChain %_ptr_Function_int %arr1 %292
%294 = OpLoad %int %293
%295 = OpLoad %int %i
%296 = OpAccessChain %_ptr_Function_int %arr1 %295
%296 = OpAccessChain %_ptr_Function_int %ref1 %295
%297 = OpLoad %int %296
%298 = OpLoad %int %i
%299 = OpAccessChain %_ptr_Function_int %ref1 %298
%300 = OpLoad %int %299
%301 = OpINotEqual %bool %297 %300
OpStore %x_277 %301
%302 = OpLoad %bool %x_277
OpStore %x_278_phi %302
OpBranch %293
%293 = OpLabel
%303 = OpLoad %bool %x_278_phi
OpSelectionMerge %304 None
OpBranchConditional %303 %305 %304
%305 = OpLabel
%306 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%307 = OpLoad %int %306
%308 = OpConvertSToF %float %307
%309 = OpCompositeConstruct %v4float %308 %308 %308 %308
OpStore %x_GLF_color %309
OpBranch %304
%304 = OpLabel
OpBranch %272
%272 = OpLabel
%310 = OpLoad %int %i
%311 = OpIAdd %int %310 %int_1
OpStore %i %311
OpBranch %270
%271 = OpLabel
%298 = OpINotEqual %bool %294 %297
OpStore %x_277 %298
%299 = OpLoad %bool %x_277
OpStore %x_278_phi %299
OpBranch %290
%290 = OpLabel
%300 = OpLoad %bool %x_278_phi
OpSelectionMerge %301 None
OpBranchConditional %300 %302 %301
%302 = OpLabel
%303 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%304 = OpLoad %int %303
%305 = OpConvertSToF %float %304
%306 = OpCompositeConstruct %v4float %305 %305 %305 %305
OpStore %x_GLF_color %306
OpBranch %301
%301 = OpLabel
OpBranch %269
%269 = OpLabel
%307 = OpLoad %int %i
%308 = OpIAdd %int %307 %int_1
OpStore %i %308
OpBranch %267
%268 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %312
%tint_symbol_2 = OpFunction %void None %309
%tint_symbol = OpFunctionParameter %main_out
%316 = OpLabel
%317 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %317
%313 = OpLabel
%314 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %314
OpReturn
OpFunctionEnd
%main = OpFunction %void None %18
%319 = OpLabel
%320 = OpFunctionCall %void %main_1
%322 = OpLoad %v4float %x_GLF_color
%323 = OpCompositeConstruct %main_out %322
%321 = OpFunctionCall %void %tint_symbol_2 %323
%316 = OpLabel
%317 = OpFunctionCall %void %main_1
%319 = OpLoad %v4float %x_GLF_color
%320 = OpCompositeConstruct %main_out %319
%318 = OpFunctionCall %void %tint_symbol_2 %320
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 324
; Bound: 321
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -100,9 +98,9 @@ SKIP: FAILED
%int_19 = OpConstant %int 19
%bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%276 = OpConstantNull %bool
%273 = OpConstantNull %bool
%main_out = OpTypeStruct %v4float
%312 = OpTypeFunction %void %main_out
%309 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18
%21 = OpLabel
%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
%ref1 = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
%i = OpVariable %_ptr_Function_int Function %30
%x_277 = OpVariable %_ptr_Function_bool Function %276
%x_278_phi = OpVariable %_ptr_Function_bool Function %276
%x_277 = OpVariable %_ptr_Function_bool Function %273
%x_278_phi = OpVariable %_ptr_Function_bool Function %273
%43 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%44 = OpLoad %int %43
%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
%206 = OpLoad %int %205
%207 = OpIEqual %bool %204 %206
OpSelectionMerge %208 None
OpBranchConditional %207 %209 %210
%209 = OpLabel
OpBranch %208
%210 = OpLabel
OpBranch %178
%208 = OpLabel
OpBranch %177
OpBranchConditional %207 %177 %178
%178 = OpLabel
OpBranch %108
%108 = OpLabel
%211 = OpLoad %int %a
%212 = OpIAdd %int %211 %int_1
OpStore %a %212
%208 = OpLoad %int %a
%209 = OpIAdd %int %208 %int_1
OpStore %a %209
OpBranch %106
%107 = OpLabel
%213 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%214 = OpLoad %int %213
%215 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%216 = OpLoad %int %215
%217 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%218 = OpLoad %int %217
%219 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%220 = OpLoad %int %219
%221 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%222 = OpLoad %int %221
%223 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_7
%224 = OpLoad %int %223
%225 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_8
%226 = OpLoad %int %225
%227 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_9
%228 = OpLoad %int %227
%229 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%230 = OpLoad %int %229
%231 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_10
%210 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%211 = OpLoad %int %210
%212 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%213 = OpLoad %int %212
%214 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%215 = OpLoad %int %214
%216 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%217 = OpLoad %int %216
%218 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%219 = OpLoad %int %218
%220 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_7
%221 = OpLoad %int %220
%222 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_8
%223 = OpLoad %int %222
%224 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_9
%225 = OpLoad %int %224
%226 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%227 = OpLoad %int %226
%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
%233 = OpCompositeConstruct %_arr_int_uint_10 %214 %216 %218 %220 %222 %224 %226 %228 %230 %232
OpStore %ref0 %233
%234 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%235 = OpLoad %int %234
%236 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%237 = OpLoad %int %236
%238 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%239 = OpLoad %int %238
%240 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%241 = OpLoad %int %240
%242 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%243 = OpLoad %int %242
%244 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_13
%245 = OpLoad %int %244
%246 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_14
%247 = OpLoad %int %246
%248 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%249 = OpLoad %int %248
%250 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_18
%251 = OpLoad %int %250
%252 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_19
%233 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_12
%234 = OpLoad %int %233
%235 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%236 = OpLoad %int %235
%237 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%238 = OpLoad %int %237
%239 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%240 = OpLoad %int %239
%241 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_13
%242 = OpLoad %int %241
%243 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_14
%244 = OpLoad %int %243
%245 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_11
%246 = OpLoad %int %245
%247 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_18
%248 = OpLoad %int %247
%249 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_19
%250 = OpLoad %int %249
%251 = OpCompositeConstruct %_arr_int_uint_10 %232 %234 %236 %238 %240 %242 %244 %246 %248 %250
OpStore %ref1 %251
%252 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%253 = OpLoad %int %252
%254 = OpCompositeConstruct %_arr_int_uint_10 %235 %237 %239 %241 %243 %245 %247 %249 %251 %253
OpStore %ref1 %254
%255 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%256 = OpLoad %int %255
%257 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%258 = OpLoad %int %257
%259 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%260 = OpLoad %int %259
%261 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%262 = OpLoad %int %261
%263 = OpConvertSToF %float %256
%264 = OpConvertSToF %float %258
%265 = OpConvertSToF %float %260
%266 = OpConvertSToF %float %262
%267 = OpCompositeConstruct %v4float %263 %264 %265 %266
OpStore %x_GLF_color %267
%268 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%269 = OpLoad %int %268
OpStore %i %269
%254 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%255 = OpLoad %int %254
%256 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%257 = OpLoad %int %256
%258 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%259 = OpLoad %int %258
%260 = OpConvertSToF %float %253
%261 = OpConvertSToF %float %255
%262 = OpConvertSToF %float %257
%263 = OpConvertSToF %float %259
%264 = OpCompositeConstruct %v4float %260 %261 %262 %263
OpStore %x_GLF_color %264
%265 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%266 = OpLoad %int %265
OpStore %i %266
OpBranch %267
%267 = OpLabel
OpLoopMerge %268 %269 None
OpBranch %270
%270 = OpLabel
OpLoopMerge %271 %272 None
OpBranch %273
%273 = OpLabel
%278 = OpLoad %int %i
%279 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%280 = OpLoad %int %279
%281 = OpSLessThan %bool %278 %280
OpSelectionMerge %282 None
OpBranchConditional %281 %283 %284
%283 = OpLabel
OpBranch %282
%284 = OpLabel
OpBranch %271
%282 = OpLabel
%275 = OpLoad %int %i
%276 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%277 = OpLoad %int %276
%278 = OpSLessThan %bool %275 %277
OpSelectionMerge %279 None
OpBranchConditional %278 %280 %281
%280 = OpLabel
OpBranch %279
%281 = OpLabel
OpBranch %268
%279 = OpLabel
%282 = OpLoad %int %i
%283 = OpAccessChain %_ptr_Function_int %arr0 %282
%284 = OpLoad %int %283
%285 = OpLoad %int %i
%286 = OpAccessChain %_ptr_Function_int %arr0 %285
%286 = OpAccessChain %_ptr_Function_int %ref0 %285
%287 = OpLoad %int %286
%288 = OpLoad %int %i
%289 = OpAccessChain %_ptr_Function_int %ref0 %288
%290 = OpLoad %int %289
%291 = OpINotEqual %bool %287 %290
OpStore %x_278_phi %291
%292 = OpLogicalNot %bool %291
OpSelectionMerge %293 None
OpBranchConditional %292 %294 %293
%294 = OpLabel
%288 = OpINotEqual %bool %284 %287
OpStore %x_278_phi %288
%289 = OpLogicalNot %bool %288
OpSelectionMerge %290 None
OpBranchConditional %289 %291 %290
%291 = OpLabel
%292 = OpLoad %int %i
%293 = OpAccessChain %_ptr_Function_int %arr1 %292
%294 = OpLoad %int %293
%295 = OpLoad %int %i
%296 = OpAccessChain %_ptr_Function_int %arr1 %295
%296 = OpAccessChain %_ptr_Function_int %ref1 %295
%297 = OpLoad %int %296
%298 = OpLoad %int %i
%299 = OpAccessChain %_ptr_Function_int %ref1 %298
%300 = OpLoad %int %299
%301 = OpINotEqual %bool %297 %300
OpStore %x_277 %301
%302 = OpLoad %bool %x_277
OpStore %x_278_phi %302
OpBranch %293
%293 = OpLabel
%303 = OpLoad %bool %x_278_phi
OpSelectionMerge %304 None
OpBranchConditional %303 %305 %304
%305 = OpLabel
%306 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%307 = OpLoad %int %306
%308 = OpConvertSToF %float %307
%309 = OpCompositeConstruct %v4float %308 %308 %308 %308
OpStore %x_GLF_color %309
OpBranch %304
%304 = OpLabel
OpBranch %272
%272 = OpLabel
%310 = OpLoad %int %i
%311 = OpIAdd %int %310 %int_1
OpStore %i %311
OpBranch %270
%271 = OpLabel
%298 = OpINotEqual %bool %294 %297
OpStore %x_277 %298
%299 = OpLoad %bool %x_277
OpStore %x_278_phi %299
OpBranch %290
%290 = OpLabel
%300 = OpLoad %bool %x_278_phi
OpSelectionMerge %301 None
OpBranchConditional %300 %302 %301
%302 = OpLabel
%303 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%304 = OpLoad %int %303
%305 = OpConvertSToF %float %304
%306 = OpCompositeConstruct %v4float %305 %305 %305 %305
OpStore %x_GLF_color %306
OpBranch %301
%301 = OpLabel
OpBranch %269
%269 = OpLabel
%307 = OpLoad %int %i
%308 = OpIAdd %int %307 %int_1
OpStore %i %308
OpBranch %267
%268 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %312
%tint_symbol_2 = OpFunction %void None %309
%tint_symbol = OpFunctionParameter %main_out
%316 = OpLabel
%317 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %317
%313 = OpLabel
%314 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %314
OpReturn
OpFunctionEnd
%main = OpFunction %void None %18
%319 = OpLabel
%320 = OpFunctionCall %void %main_1
%322 = OpLoad %v4float %x_GLF_color
%323 = OpCompositeConstruct %main_out %322
%321 = OpFunctionCall %void %tint_symbol_2 %323
%316 = OpLabel
%317 = OpFunctionCall %void %main_1
%319 = OpLoad %v4float %x_GLF_color
%320 = OpCompositeConstruct %main_out %319
%318 = OpFunctionCall %void %tint_symbol_2 %320
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 168
; Bound: 162
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -62,7 +60,7 @@ SKIP: FAILED
%float_n1 = OpConstant %float -1
%uint_1 = OpConstant %uint 1
%main_out = OpTypeStruct %v4float
%155 = OpTypeFunction %void %main_out
%149 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11
%14 = OpLabel
%c = OpVariable %_ptr_Function_v4float Function %5
@ -274,50 +272,33 @@ SKIP: FAILED
%140 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%141 = OpLoad %float %140
%143 = OpFOrdLessThan %bool %141 %float_n1
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %146
%145 = OpLabel
OpBranch %144
%146 = OpLabel
OpBranch %38
%144 = OpLabel
OpBranch %37
OpBranchConditional %143 %37 %38
%38 = OpLabel
OpBranch %35
%35 = OpLabel
%148 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%149 = OpLoad %float %148
%150 = OpFOrdLessThan %bool %149 %float_n1
OpSelectionMerge %151 None
OpBranchConditional %150 %152 %153
%152 = OpLabel
OpBranch %151
%153 = OpLabel
OpBranch %34
%151 = OpLabel
OpBranch %33
%145 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%146 = OpLoad %float %145
%147 = OpFOrdLessThan %bool %146 %float_n1
OpBranchConditional %147 %33 %34
%34 = OpLabel
%154 = OpLoad %v4float %c
OpStore %x_GLF_color %154
%148 = OpLoad %v4float %c
OpStore %x_GLF_color %148
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %155
%tint_symbol_3 = OpFunction %void None %149
%tint_symbol_1 = OpFunctionParameter %main_out
%159 = OpLabel
%160 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %160
%153 = OpLabel
%154 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %154
OpReturn
OpFunctionEnd
%main = OpFunction %void None %11
%162 = OpLabel
%163 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %163
%164 = OpFunctionCall %void %main_1
%166 = OpLoad %v4float %x_GLF_color
%167 = OpCompositeConstruct %main_out %166
%165 = OpFunctionCall %void %tint_symbol_3 %167
%156 = OpLabel
%157 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %157
%158 = OpFunctionCall %void %main_1
%160 = OpLoad %v4float %x_GLF_color
%161 = OpCompositeConstruct %main_out %160
%159 = OpFunctionCall %void %tint_symbol_3 %161
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 168
; Bound: 162
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -62,7 +60,7 @@ SKIP: FAILED
%float_n1 = OpConstant %float -1
%uint_1 = OpConstant %uint 1
%main_out = OpTypeStruct %v4float
%155 = OpTypeFunction %void %main_out
%149 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11
%14 = OpLabel
%c = OpVariable %_ptr_Function_v4float Function %5
@ -274,50 +272,33 @@ SKIP: FAILED
%140 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%141 = OpLoad %float %140
%143 = OpFOrdLessThan %bool %141 %float_n1
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %146
%145 = OpLabel
OpBranch %144
%146 = OpLabel
OpBranch %38
%144 = OpLabel
OpBranch %37
OpBranchConditional %143 %37 %38
%38 = OpLabel
OpBranch %35
%35 = OpLabel
%148 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%149 = OpLoad %float %148
%150 = OpFOrdLessThan %bool %149 %float_n1
OpSelectionMerge %151 None
OpBranchConditional %150 %152 %153
%152 = OpLabel
OpBranch %151
%153 = OpLabel
OpBranch %34
%151 = OpLabel
OpBranch %33
%145 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%146 = OpLoad %float %145
%147 = OpFOrdLessThan %bool %146 %float_n1
OpBranchConditional %147 %33 %34
%34 = OpLabel
%154 = OpLoad %v4float %c
OpStore %x_GLF_color %154
%148 = OpLoad %v4float %c
OpStore %x_GLF_color %148
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %155
%tint_symbol_3 = OpFunction %void None %149
%tint_symbol_1 = OpFunctionParameter %main_out
%159 = OpLabel
%160 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %160
%153 = OpLabel
%154 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %154
OpReturn
OpFunctionEnd
%main = OpFunction %void None %11
%162 = OpLabel
%163 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %163
%164 = OpFunctionCall %void %main_1
%166 = OpLoad %v4float %x_GLF_color
%167 = OpCompositeConstruct %main_out %166
%165 = OpFunctionCall %void %tint_symbol_3 %167
%156 = OpLabel
%157 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %157
%158 = OpFunctionCall %void %main_1
%160 = OpLoad %v4float %x_GLF_color
%161 = OpCompositeConstruct %main_out %160
%159 = OpFunctionCall %void %tint_symbol_3 %161
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 87
; Bound: 84
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -64,7 +62,7 @@ SKIP: FAILED
%int_3 = OpConstant %int 3
%false = OpConstantFalse %bool
%main_out = OpTypeStruct %v4float
%75 = OpTypeFunction %void %main_out
%72 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18
%21 = OpLabel
%25 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
@ -118,37 +116,27 @@ SKIP: FAILED
%65 = OpLabel
OpReturn
%41 = OpLabel
OpSelectionMerge %68 None
OpBranchConditional %false %69 %70
%69 = OpLabel
OpBranch %68
%70 = OpLabel
OpBranch %40
%68 = OpLabel
OpBranch %39
OpBranchConditional %false %39 %40
%40 = OpLabel
%71 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
%72 = OpLoad %int %71
%73 = OpConvertSToF %float %72
%74 = OpCompositeConstruct %v4float %73 %73 %73 %73
OpStore %x_GLF_color %74
%68 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
%69 = OpLoad %int %68
%70 = OpConvertSToF %float %69
%71 = OpCompositeConstruct %v4float %70 %70 %70 %70
OpStore %x_GLF_color %71
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %75
%tint_symbol_2 = OpFunction %void None %72
%tint_symbol = OpFunctionParameter %main_out
%79 = OpLabel
%80 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %80
%76 = OpLabel
%77 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %77
OpReturn
OpFunctionEnd
%main = OpFunction %void None %18
%82 = OpLabel
%83 = OpFunctionCall %void %main_1
%85 = OpLoad %v4float %x_GLF_color
%86 = OpCompositeConstruct %main_out %85
%84 = OpFunctionCall %void %tint_symbol_2 %86
%79 = OpLabel
%80 = OpFunctionCall %void %main_1
%82 = OpLoad %v4float %x_GLF_color
%83 = OpCompositeConstruct %main_out %82
%81 = OpFunctionCall %void %tint_symbol_2 %83
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 87
; Bound: 84
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -64,7 +62,7 @@ SKIP: FAILED
%int_3 = OpConstant %int 3
%false = OpConstantFalse %bool
%main_out = OpTypeStruct %v4float
%75 = OpTypeFunction %void %main_out
%72 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18
%21 = OpLabel
%25 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
@ -118,37 +116,27 @@ SKIP: FAILED
%65 = OpLabel
OpReturn
%41 = OpLabel
OpSelectionMerge %68 None
OpBranchConditional %false %69 %70
%69 = OpLabel
OpBranch %68
%70 = OpLabel
OpBranch %40
%68 = OpLabel
OpBranch %39
OpBranchConditional %false %39 %40
%40 = OpLabel
%71 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
%72 = OpLoad %int %71
%73 = OpConvertSToF %float %72
%74 = OpCompositeConstruct %v4float %73 %73 %73 %73
OpStore %x_GLF_color %74
%68 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
%69 = OpLoad %int %68
%70 = OpConvertSToF %float %69
%71 = OpCompositeConstruct %v4float %70 %70 %70 %70
OpStore %x_GLF_color %71
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %75
%tint_symbol_2 = OpFunction %void None %72
%tint_symbol = OpFunctionParameter %main_out
%79 = OpLabel
%80 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %80
%76 = OpLabel
%77 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %77
OpReturn
OpFunctionEnd
%main = OpFunction %void None %18
%82 = OpLabel
%83 = OpFunctionCall %void %main_1
%85 = OpLoad %v4float %x_GLF_color
%86 = OpCompositeConstruct %main_out %85
%84 = OpFunctionCall %void %tint_symbol_2 %86
%79 = OpLabel
%80 = OpFunctionCall %void %main_1
%82 = OpLoad %v4float %x_GLF_color
%83 = OpCompositeConstruct %main_out %82
%81 = OpFunctionCall %void %tint_symbol_2 %83
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 120
; Bound: 117
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -63,7 +61,7 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%float_0 = OpConstant %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_2 = OpConstant %uint 2
%float_2 = OpConstant %float 2
@ -71,7 +69,7 @@ SKIP: FAILED
%uint_3 = OpConstant %uint 3
%_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float
%108 = OpTypeFunction %void %main_out
%105 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11
%14 = OpLabel
%f = OpVariable %_ptr_Function_float Function %17
@ -135,65 +133,55 @@ SKIP: FAILED
%70 = OpBitwiseOr %int %68 %69
%71 = OpBitwiseAnd %int %67 %70
%72 = OpIEqual %bool %71 %int_0
OpSelectionMerge %73 None
OpBranchConditional %72 %74 %75
%74 = OpLabel
OpBranch %73
%75 = OpLabel
OpBranch %62
%73 = OpLabel
OpBranch %61
OpBranchConditional %72 %61 %62
%62 = OpLabel
%76 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0
%77 = OpLoad %float %76
%78 = OpFOrdEqual %bool %77 %float_1
OpSelectionMerge %79 None
OpBranchConditional %78 %80 %79
%80 = OpLabel
OpStore %x_GLF_color %81
OpBranch %79
%79 = OpLabel
%73 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0
%74 = OpLoad %float %73
%75 = OpFOrdEqual %bool %74 %float_1
OpSelectionMerge %76 None
OpBranchConditional %75 %77 %76
%77 = OpLabel
OpStore %x_GLF_color %78
OpBranch %76
%76 = OpLabel
OpBranch %59
%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
%85 = OpAccessChain %_ptr_Function_float %v %uint_1
%85 = OpAccessChain %_ptr_Function_float %v %uint_2
%86 = OpLoad %float %85
%88 = OpAccessChain %_ptr_Function_float %v %uint_2
%89 = OpLoad %float %88
%91 = OpFOrdEqual %bool %83 %float_1
%90 = OpSelect %float %91 %float_1 %float_0
%94 = OpFOrdEqual %bool %86 %float_2
%88 = OpFOrdEqual %bool %80 %float_1
%87 = OpSelect %float %88 %float_1 %float_0
%91 = OpFOrdEqual %bool %83 %float_2
%89 = OpSelect %float %91 %float_0 %float_1
%94 = OpFOrdEqual %bool %86 %float_3
%92 = OpSelect %float %94 %float_0 %float_1
%97 = OpFOrdEqual %bool %89 %float_3
%95 = OpSelect %float %97 %float_0 %float_1
%98 = OpCompositeConstruct %v3float %90 %92 %95
%99 = OpLoad %v4float %x_GLF_color
%100 = OpCompositeExtract %float %98 0
%101 = OpCompositeExtract %float %98 1
%102 = OpCompositeExtract %float %98 2
%103 = OpCompositeExtract %float %99 3
%104 = OpCompositeConstruct %v4float %100 %101 %102 %103
OpStore %x_GLF_color %104
%107 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_3
OpStore %107 %float_1
%95 = OpCompositeConstruct %v3float %87 %89 %92
%96 = OpLoad %v4float %x_GLF_color
%97 = OpCompositeExtract %float %95 0
%98 = OpCompositeExtract %float %95 1
%99 = OpCompositeExtract %float %95 2
%100 = OpCompositeExtract %float %96 3
%101 = OpCompositeConstruct %v4float %97 %98 %99 %100
OpStore %x_GLF_color %101
%104 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_3
OpStore %104 %float_1
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %108
%tint_symbol_2 = OpFunction %void None %105
%tint_symbol = OpFunctionParameter %main_out
%112 = OpLabel
%113 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %113
%109 = OpLabel
%110 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %110
OpReturn
OpFunctionEnd
%main = OpFunction %void None %11
%115 = OpLabel
%116 = OpFunctionCall %void %main_1
%118 = OpLoad %v4float %x_GLF_color
%119 = OpCompositeConstruct %main_out %118
%117 = OpFunctionCall %void %tint_symbol_2 %119
%112 = OpLabel
%113 = OpFunctionCall %void %main_1
%115 = OpLoad %v4float %x_GLF_color
%116 = OpCompositeConstruct %main_out %115
%114 = OpFunctionCall %void %tint_symbol_2 %116
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 120
; Bound: 117
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -63,7 +61,7 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%float_0 = OpConstant %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_2 = OpConstant %uint 2
%float_2 = OpConstant %float 2
@ -71,7 +69,7 @@ SKIP: FAILED
%uint_3 = OpConstant %uint 3
%_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float
%108 = OpTypeFunction %void %main_out
%105 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11
%14 = OpLabel
%f = OpVariable %_ptr_Function_float Function %17
@ -135,65 +133,55 @@ SKIP: FAILED
%70 = OpBitwiseOr %int %68 %69
%71 = OpBitwiseAnd %int %67 %70
%72 = OpIEqual %bool %71 %int_0
OpSelectionMerge %73 None
OpBranchConditional %72 %74 %75
%74 = OpLabel
OpBranch %73
%75 = OpLabel
OpBranch %62
%73 = OpLabel
OpBranch %61
OpBranchConditional %72 %61 %62
%62 = OpLabel
%76 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0
%77 = OpLoad %float %76
%78 = OpFOrdEqual %bool %77 %float_1
OpSelectionMerge %79 None
OpBranchConditional %78 %80 %79
%80 = OpLabel
OpStore %x_GLF_color %81
OpBranch %79
%79 = OpLabel
%73 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0
%74 = OpLoad %float %73
%75 = OpFOrdEqual %bool %74 %float_1
OpSelectionMerge %76 None
OpBranchConditional %75 %77 %76
%77 = OpLabel
OpStore %x_GLF_color %78
OpBranch %76
%76 = OpLabel
OpBranch %59
%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
%85 = OpAccessChain %_ptr_Function_float %v %uint_1
%85 = OpAccessChain %_ptr_Function_float %v %uint_2
%86 = OpLoad %float %85
%88 = OpAccessChain %_ptr_Function_float %v %uint_2
%89 = OpLoad %float %88
%91 = OpFOrdEqual %bool %83 %float_1
%90 = OpSelect %float %91 %float_1 %float_0
%94 = OpFOrdEqual %bool %86 %float_2
%88 = OpFOrdEqual %bool %80 %float_1
%87 = OpSelect %float %88 %float_1 %float_0
%91 = OpFOrdEqual %bool %83 %float_2
%89 = OpSelect %float %91 %float_0 %float_1
%94 = OpFOrdEqual %bool %86 %float_3
%92 = OpSelect %float %94 %float_0 %float_1
%97 = OpFOrdEqual %bool %89 %float_3
%95 = OpSelect %float %97 %float_0 %float_1
%98 = OpCompositeConstruct %v3float %90 %92 %95
%99 = OpLoad %v4float %x_GLF_color
%100 = OpCompositeExtract %float %98 0
%101 = OpCompositeExtract %float %98 1
%102 = OpCompositeExtract %float %98 2
%103 = OpCompositeExtract %float %99 3
%104 = OpCompositeConstruct %v4float %100 %101 %102 %103
OpStore %x_GLF_color %104
%107 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_3
OpStore %107 %float_1
%95 = OpCompositeConstruct %v3float %87 %89 %92
%96 = OpLoad %v4float %x_GLF_color
%97 = OpCompositeExtract %float %95 0
%98 = OpCompositeExtract %float %95 1
%99 = OpCompositeExtract %float %95 2
%100 = OpCompositeExtract %float %96 3
%101 = OpCompositeConstruct %v4float %97 %98 %99 %100
OpStore %x_GLF_color %101
%104 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_3
OpStore %104 %float_1
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %108
%tint_symbol_2 = OpFunction %void None %105
%tint_symbol = OpFunctionParameter %main_out
%112 = OpLabel
%113 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %113
%109 = OpLabel
%110 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %110
OpReturn
OpFunctionEnd
%main = OpFunction %void None %11
%115 = OpLabel
%116 = OpFunctionCall %void %main_1
%118 = OpLoad %v4float %x_GLF_color
%119 = OpCompositeConstruct %main_out %118
%117 = OpFunctionCall %void %tint_symbol_2 %119
%112 = OpLabel
%113 = OpFunctionCall %void %main_1
%115 = OpLoad %v4float %x_GLF_color
%116 = OpCompositeConstruct %main_out %115
%114 = OpFunctionCall %void %tint_symbol_2 %116
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 156
; Bound: 147
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -56,11 +54,11 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%float_6 = OpConstant %float 6
%float_5 = OpConstant %float 5
%105 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%106 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%99 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%100 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%107 = OpTypeFunction %void %main_out
%119 = OpTypeFunction %float %_ptr_Function_float
%101 = OpTypeFunction %void %main_out
%113 = OpTypeFunction %float %_ptr_Function_float
%main_1 = OpFunction %void None %8
%11 = OpLabel
%x_29 = OpVariable %_ptr_Function_bool Function %16
@ -118,191 +116,167 @@ SKIP: FAILED
%55 = OpLoad %float %x_35
%56 = OpLoad %float %param
%57 = OpFOrdLessThan %bool %55 %56
OpSelectionMerge %58 None
OpBranchConditional %57 %59 %60
%59 = OpLabel
OpBranch %58
%60 = OpLabel
OpBranch %42
%58 = OpLabel
OpBranch %41
OpBranchConditional %57 %41 %42
%42 = OpLabel
%61 = OpLoad %bool %x_33
OpSelectionMerge %62 None
OpBranchConditional %61 %63 %62
%63 = OpLabel
%58 = OpLoad %bool %x_33
OpSelectionMerge %59 None
OpBranchConditional %58 %60 %59
%60 = OpLabel
OpBranch %37
%62 = OpLabel
%59 = OpLabel
OpStore %x_33 %true
OpStore %x_34 %float_0
OpBranch %37
%38 = OpLabel
OpBranch %36
%37 = OpLabel
%64 = OpLoad %float %x_34
OpStore %x_36 %64
OpStore %f %64
%61 = OpLoad %float %x_34
OpStore %x_36 %61
OpStore %f %61
OpStore %param_1 %float_1
OpStore %x_29 %false
OpBranch %62
%62 = OpLabel
OpLoopMerge %63 %64 None
OpBranch %65
%65 = OpLabel
OpLoopMerge %66 %67 None
OpBranch %68
%68 = OpLabel
%69 = OpLoad %float %param_1
OpStore %x_31 %69
%66 = OpLoad %float %param_1
OpStore %x_31 %66
OpBranch %67
%67 = OpLabel
OpLoopMerge %68 %69 None
OpBranch %70
%70 = OpLabel
OpLoopMerge %71 %72 None
OpBranch %73
%73 = OpLabel
%74 = OpLoad %float %x_31
%75 = OpLoad %float %param_1
%76 = OpFOrdEqual %bool %74 %75
OpSelectionMerge %77 None
OpBranchConditional %76 %78 %77
%78 = OpLabel
%79 = OpLoad %float %x_31
%71 = OpLoad %float %x_31
%72 = OpLoad %float %param_1
%73 = OpFOrdEqual %bool %71 %72
OpSelectionMerge %74 None
OpBranchConditional %73 %75 %74
%75 = OpLabel
%76 = OpLoad %float %x_31
OpStore %x_29 %true
OpStore %x_30 %79
OpBranch %71
%77 = OpLabel
%80 = OpLoad %float %x_31
%81 = OpFAdd %float %80 %float_1
OpStore %x_31 %81
OpBranch %72
%72 = OpLabel
%82 = OpLoad %float %x_31
%83 = OpLoad %float %param_1
%84 = OpFOrdLessThan %bool %82 %83
OpSelectionMerge %85 None
OpBranchConditional %84 %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %71
%85 = OpLabel
OpBranch %70
%71 = OpLabel
%88 = OpLoad %bool %x_29
OpSelectionMerge %89 None
OpBranchConditional %88 %90 %89
%90 = OpLabel
OpBranch %66
%89 = OpLabel
OpStore %x_30 %76
OpBranch %68
%74 = OpLabel
%77 = OpLoad %float %x_31
%78 = OpFAdd %float %77 %float_1
OpStore %x_31 %78
OpBranch %69
%69 = OpLabel
%79 = OpLoad %float %x_31
%80 = OpLoad %float %param_1
%81 = OpFOrdLessThan %bool %79 %80
OpBranchConditional %81 %67 %68
%68 = OpLabel
%82 = OpLoad %bool %x_29
OpSelectionMerge %83 None
OpBranchConditional %82 %84 %83
%84 = OpLabel
OpBranch %63
%83 = OpLabel
OpStore %x_29 %true
OpStore %x_30 %float_0
OpBranch %66
%67 = OpLabel
OpBranch %65
%66 = OpLabel
%91 = OpLoad %float %x_30
OpStore %x_32 %91
%92 = OpLoad %float %i
%93 = OpFAdd %float %92 %91
OpStore %i %93
%95 = OpFOrdLessThan %bool %93 %float_6
OpSelectionMerge %96 None
OpBranchConditional %95 %97 %98
%97 = OpLabel
OpBranch %96
%98 = OpLabel
OpBranch %63
%64 = OpLabel
OpBranch %62
%63 = OpLabel
%85 = OpLoad %float %x_30
OpStore %x_32 %85
%86 = OpLoad %float %i
%87 = OpFAdd %float %86 %85
OpStore %i %87
%89 = OpFOrdLessThan %bool %87 %float_6
OpSelectionMerge %90 None
OpBranchConditional %89 %91 %92
%91 = OpLabel
OpBranch %90
%92 = OpLabel
OpBranch %32
%96 = OpLabel
%90 = OpLabel
OpBranch %33
%33 = OpLabel
OpBranch %31
%32 = OpLabel
%99 = OpLoad %float %f
%101 = OpFOrdEqual %bool %99 %float_5
OpSelectionMerge %102 None
OpBranchConditional %101 %103 %104
%103 = OpLabel
OpStore %x_GLF_color %105
OpBranch %102
%104 = OpLabel
OpStore %x_GLF_color %106
OpBranch %102
%102 = OpLabel
%93 = OpLoad %float %f
%95 = OpFOrdEqual %bool %93 %float_5
OpSelectionMerge %96 None
OpBranchConditional %95 %97 %98
%97 = OpLabel
OpStore %x_GLF_color %99
OpBranch %96
%98 = OpLabel
OpStore %x_GLF_color %100
OpBranch %96
%96 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %107
%tint_symbol_2 = OpFunction %void None %101
%tint_symbol = OpFunctionParameter %main_out
%111 = OpLabel
%112 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %112
%105 = OpLabel
%106 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %106
OpReturn
OpFunctionEnd
%main = OpFunction %void None %8
%114 = OpLabel
%115 = OpFunctionCall %void %main_1
%117 = OpLoad %v4float %x_GLF_color
%118 = OpCompositeConstruct %main_out %117
%116 = OpFunctionCall %void %tint_symbol_2 %118
%108 = OpLabel
%109 = OpFunctionCall %void %main_1
%111 = OpLoad %v4float %x_GLF_color
%112 = OpCompositeConstruct %main_out %111
%110 = OpFunctionCall %void %tint_symbol_2 %112
OpReturn
OpFunctionEnd
%func_f1_ = OpFunction %float None %119
%func_f1_ = OpFunction %float None %113
%x = OpFunctionParameter %_ptr_Function_float
%122 = OpLabel
%116 = OpLabel
%x_93 = OpVariable %_ptr_Function_bool Function %16
%x_94 = OpVariable %_ptr_Function_float Function %19
%a = OpVariable %_ptr_Function_float Function %19
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
%126 = OpLabel
OpLoopMerge %127 %128 None
OpBranch %129
%129 = OpLabel
%131 = OpLoad %float %x
OpStore %a %131
OpBranch %132
%132 = OpLabel
OpLoopMerge %133 %134 None
OpBranch %135
%130 = OpLoad %float %a
%132 = OpLoad %float %x
%133 = OpFOrdEqual %bool %130 %132
OpSelectionMerge %134 None
OpBranchConditional %133 %135 %134
%135 = OpLabel
%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_94 %142
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
OpStore %x_94 %136
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_94 %float_0
OpBranch %127
%128 = OpLabel
OpBranch %126
%127 = OpLabel
%155 = OpLoad %float %x_94
OpReturnValue %155
OpBranch %121
%122 = OpLabel
OpBranch %120
%121 = OpLabel
%146 = OpLoad %float %x_94
OpReturnValue %146
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 156
; Bound: 147
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -56,11 +54,11 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%float_6 = OpConstant %float 6
%float_5 = OpConstant %float 5
%105 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%106 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%99 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%100 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%107 = OpTypeFunction %void %main_out
%119 = OpTypeFunction %float %_ptr_Function_float
%101 = OpTypeFunction %void %main_out
%113 = OpTypeFunction %float %_ptr_Function_float
%main_1 = OpFunction %void None %8
%11 = OpLabel
%x_29 = OpVariable %_ptr_Function_bool Function %16
@ -118,191 +116,167 @@ SKIP: FAILED
%55 = OpLoad %float %x_35
%56 = OpLoad %float %param
%57 = OpFOrdLessThan %bool %55 %56
OpSelectionMerge %58 None
OpBranchConditional %57 %59 %60
%59 = OpLabel
OpBranch %58
%60 = OpLabel
OpBranch %42
%58 = OpLabel
OpBranch %41
OpBranchConditional %57 %41 %42
%42 = OpLabel
%61 = OpLoad %bool %x_33
OpSelectionMerge %62 None
OpBranchConditional %61 %63 %62
%63 = OpLabel
%58 = OpLoad %bool %x_33
OpSelectionMerge %59 None
OpBranchConditional %58 %60 %59
%60 = OpLabel
OpBranch %37
%62 = OpLabel
%59 = OpLabel
OpStore %x_33 %true
OpStore %x_34 %float_0
OpBranch %37
%38 = OpLabel
OpBranch %36
%37 = OpLabel
%64 = OpLoad %float %x_34
OpStore %x_36 %64
OpStore %f %64
%61 = OpLoad %float %x_34
OpStore %x_36 %61
OpStore %f %61
OpStore %param_1 %float_1
OpStore %x_29 %false
OpBranch %62
%62 = OpLabel
OpLoopMerge %63 %64 None
OpBranch %65
%65 = OpLabel
OpLoopMerge %66 %67 None
OpBranch %68
%68 = OpLabel
%69 = OpLoad %float %param_1
OpStore %x_31 %69
%66 = OpLoad %float %param_1
OpStore %x_31 %66
OpBranch %67
%67 = OpLabel
OpLoopMerge %68 %69 None
OpBranch %70
%70 = OpLabel
OpLoopMerge %71 %72 None
OpBranch %73
%73 = OpLabel
%74 = OpLoad %float %x_31
%75 = OpLoad %float %param_1
%76 = OpFOrdEqual %bool %74 %75
OpSelectionMerge %77 None
OpBranchConditional %76 %78 %77
%78 = OpLabel
%79 = OpLoad %float %x_31
%71 = OpLoad %float %x_31
%72 = OpLoad %float %param_1
%73 = OpFOrdEqual %bool %71 %72
OpSelectionMerge %74 None
OpBranchConditional %73 %75 %74
%75 = OpLabel
%76 = OpLoad %float %x_31
OpStore %x_29 %true
OpStore %x_30 %79
OpBranch %71
%77 = OpLabel
%80 = OpLoad %float %x_31
%81 = OpFAdd %float %80 %float_1
OpStore %x_31 %81
OpBranch %72
%72 = OpLabel
%82 = OpLoad %float %x_31
%83 = OpLoad %float %param_1
%84 = OpFOrdLessThan %bool %82 %83
OpSelectionMerge %85 None
OpBranchConditional %84 %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %71
%85 = OpLabel
OpBranch %70
%71 = OpLabel
%88 = OpLoad %bool %x_29
OpSelectionMerge %89 None
OpBranchConditional %88 %90 %89
%90 = OpLabel
OpBranch %66
%89 = OpLabel
OpStore %x_30 %76
OpBranch %68
%74 = OpLabel
%77 = OpLoad %float %x_31
%78 = OpFAdd %float %77 %float_1
OpStore %x_31 %78
OpBranch %69
%69 = OpLabel
%79 = OpLoad %float %x_31
%80 = OpLoad %float %param_1
%81 = OpFOrdLessThan %bool %79 %80
OpBranchConditional %81 %67 %68
%68 = OpLabel
%82 = OpLoad %bool %x_29
OpSelectionMerge %83 None
OpBranchConditional %82 %84 %83
%84 = OpLabel
OpBranch %63
%83 = OpLabel
OpStore %x_29 %true
OpStore %x_30 %float_0
OpBranch %66
%67 = OpLabel
OpBranch %65
%66 = OpLabel
%91 = OpLoad %float %x_30
OpStore %x_32 %91
%92 = OpLoad %float %i
%93 = OpFAdd %float %92 %91
OpStore %i %93
%95 = OpFOrdLessThan %bool %93 %float_6
OpSelectionMerge %96 None
OpBranchConditional %95 %97 %98
%97 = OpLabel
OpBranch %96
%98 = OpLabel
OpBranch %63
%64 = OpLabel
OpBranch %62
%63 = OpLabel
%85 = OpLoad %float %x_30
OpStore %x_32 %85
%86 = OpLoad %float %i
%87 = OpFAdd %float %86 %85
OpStore %i %87
%89 = OpFOrdLessThan %bool %87 %float_6
OpSelectionMerge %90 None
OpBranchConditional %89 %91 %92
%91 = OpLabel
OpBranch %90
%92 = OpLabel
OpBranch %32
%96 = OpLabel
%90 = OpLabel
OpBranch %33
%33 = OpLabel
OpBranch %31
%32 = OpLabel
%99 = OpLoad %float %f
%101 = OpFOrdEqual %bool %99 %float_5
OpSelectionMerge %102 None
OpBranchConditional %101 %103 %104
%103 = OpLabel
OpStore %x_GLF_color %105
OpBranch %102
%104 = OpLabel
OpStore %x_GLF_color %106
OpBranch %102
%102 = OpLabel
%93 = OpLoad %float %f
%95 = OpFOrdEqual %bool %93 %float_5
OpSelectionMerge %96 None
OpBranchConditional %95 %97 %98
%97 = OpLabel
OpStore %x_GLF_color %99
OpBranch %96
%98 = OpLabel
OpStore %x_GLF_color %100
OpBranch %96
%96 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %107
%tint_symbol_2 = OpFunction %void None %101
%tint_symbol = OpFunctionParameter %main_out
%111 = OpLabel
%112 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %112
%105 = OpLabel
%106 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %106
OpReturn
OpFunctionEnd
%main = OpFunction %void None %8
%114 = OpLabel
%115 = OpFunctionCall %void %main_1
%117 = OpLoad %v4float %x_GLF_color
%118 = OpCompositeConstruct %main_out %117
%116 = OpFunctionCall %void %tint_symbol_2 %118
%108 = OpLabel
%109 = OpFunctionCall %void %main_1
%111 = OpLoad %v4float %x_GLF_color
%112 = OpCompositeConstruct %main_out %111
%110 = OpFunctionCall %void %tint_symbol_2 %112
OpReturn
OpFunctionEnd
%func_f1_ = OpFunction %float None %119
%func_f1_ = OpFunction %float None %113
%x = OpFunctionParameter %_ptr_Function_float
%122 = OpLabel
%116 = OpLabel
%x_93 = OpVariable %_ptr_Function_bool Function %16
%x_94 = OpVariable %_ptr_Function_float Function %19
%a = OpVariable %_ptr_Function_float Function %19
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
%126 = OpLabel
OpLoopMerge %127 %128 None
OpBranch %129
%129 = OpLabel
%131 = OpLoad %float %x
OpStore %a %131
OpBranch %132
%132 = OpLabel
OpLoopMerge %133 %134 None
OpBranch %135
%130 = OpLoad %float %a
%132 = OpLoad %float %x
%133 = OpFOrdEqual %bool %130 %132
OpSelectionMerge %134 None
OpBranchConditional %133 %135 %134
%135 = OpLabel
%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_94 %142
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
OpStore %x_94 %136
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_94 %float_0
OpBranch %127
%128 = OpLabel
OpBranch %126
%127 = OpLabel
%155 = OpLoad %float %x_94
OpReturnValue %155
OpBranch %121
%122 = OpLabel
OpBranch %120
%121 = OpLabel
%146 = OpLoad %float %x_94
OpReturnValue %146
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 91
; Bound: 88
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -55,9 +53,9 @@ SKIP: FAILED
%true = OpConstantTrue %bool
%int_2 = OpConstant %int 2
%void = OpTypeVoid
%51 = OpTypeFunction %void
%48 = OpTypeFunction %void
%main_out = OpTypeStruct %v4float
%79 = OpTypeFunction %void %main_out
%76 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %15
%17 = OpLabel
%i = OpVariable %_ptr_Function_int Function %20
@ -90,68 +88,58 @@ SKIP: FAILED
%43 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%44 = OpLoad %int %43
%45 = OpSLessThan %bool %42 %44
OpSelectionMerge %46 None
OpBranchConditional %45 %47 %48
%47 = OpLabel
OpBranch %46
%48 = OpLabel
OpBranch %27
%46 = OpLabel
OpBranch %26
OpBranchConditional %45 %26 %27
%27 = OpLabel
%49 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%50 = OpLoad %int %49
OpReturnValue %50
%46 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%47 = OpLoad %int %46
OpReturnValue %47
OpFunctionEnd
%main_1 = OpFunction %void None %51
%54 = OpLabel
%55 = OpFunctionCall %int %func_
%56 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%57 = OpLoad %int %56
%58 = OpIEqual %bool %55 %57
OpSelectionMerge %59 None
OpBranchConditional %58 %60 %61
%60 = OpLabel
%62 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%63 = OpLoad %int %62
%64 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%65 = OpLoad %int %64
%66 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%67 = OpLoad %int %66
%68 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%69 = OpLoad %int %68
%70 = OpConvertSToF %float %63
%71 = OpConvertSToF %float %65
%72 = OpConvertSToF %float %67
%73 = OpConvertSToF %float %69
%74 = OpCompositeConstruct %v4float %70 %71 %72 %73
OpStore %x_GLF_color %74
OpBranch %59
%61 = OpLabel
%75 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%76 = OpLoad %int %75
%77 = OpConvertSToF %float %76
%78 = OpCompositeConstruct %v4float %77 %77 %77 %77
OpStore %x_GLF_color %78
OpBranch %59
%59 = OpLabel
%main_1 = OpFunction %void None %48
%51 = OpLabel
%52 = OpFunctionCall %int %func_
%53 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%54 = OpLoad %int %53
%55 = OpIEqual %bool %52 %54
OpSelectionMerge %56 None
OpBranchConditional %55 %57 %58
%57 = OpLabel
%59 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%60 = OpLoad %int %59
%61 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%62 = OpLoad %int %61
%63 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%64 = OpLoad %int %63
%65 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%66 = OpLoad %int %65
%67 = OpConvertSToF %float %60
%68 = OpConvertSToF %float %62
%69 = OpConvertSToF %float %64
%70 = OpConvertSToF %float %66
%71 = OpCompositeConstruct %v4float %67 %68 %69 %70
OpStore %x_GLF_color %71
OpBranch %56
%58 = OpLabel
%72 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%73 = OpLoad %int %72
%74 = OpConvertSToF %float %73
%75 = OpCompositeConstruct %v4float %74 %74 %74 %74
OpStore %x_GLF_color %75
OpBranch %56
%56 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %79
%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 %48
%83 = OpLabel
%84 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %84
%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
%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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 91
; Bound: 88
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -55,9 +53,9 @@ SKIP: FAILED
%true = OpConstantTrue %bool
%int_2 = OpConstant %int 2
%void = OpTypeVoid
%51 = OpTypeFunction %void
%48 = OpTypeFunction %void
%main_out = OpTypeStruct %v4float
%79 = OpTypeFunction %void %main_out
%76 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %15
%17 = OpLabel
%i = OpVariable %_ptr_Function_int Function %20
@ -90,68 +88,58 @@ SKIP: FAILED
%43 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%44 = OpLoad %int %43
%45 = OpSLessThan %bool %42 %44
OpSelectionMerge %46 None
OpBranchConditional %45 %47 %48
%47 = OpLabel
OpBranch %46
%48 = OpLabel
OpBranch %27
%46 = OpLabel
OpBranch %26
OpBranchConditional %45 %26 %27
%27 = OpLabel
%49 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%50 = OpLoad %int %49
OpReturnValue %50
%46 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%47 = OpLoad %int %46
OpReturnValue %47
OpFunctionEnd
%main_1 = OpFunction %void None %51
%54 = OpLabel
%55 = OpFunctionCall %int %func_
%56 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%57 = OpLoad %int %56
%58 = OpIEqual %bool %55 %57
OpSelectionMerge %59 None
OpBranchConditional %58 %60 %61
%60 = OpLabel
%62 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%63 = OpLoad %int %62
%64 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%65 = OpLoad %int %64
%66 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%67 = OpLoad %int %66
%68 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%69 = OpLoad %int %68
%70 = OpConvertSToF %float %63
%71 = OpConvertSToF %float %65
%72 = OpConvertSToF %float %67
%73 = OpConvertSToF %float %69
%74 = OpCompositeConstruct %v4float %70 %71 %72 %73
OpStore %x_GLF_color %74
OpBranch %59
%61 = OpLabel
%75 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%76 = OpLoad %int %75
%77 = OpConvertSToF %float %76
%78 = OpCompositeConstruct %v4float %77 %77 %77 %77
OpStore %x_GLF_color %78
OpBranch %59
%59 = OpLabel
%main_1 = OpFunction %void None %48
%51 = OpLabel
%52 = OpFunctionCall %int %func_
%53 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%54 = OpLoad %int %53
%55 = OpIEqual %bool %52 %54
OpSelectionMerge %56 None
OpBranchConditional %55 %57 %58
%57 = OpLabel
%59 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%60 = OpLoad %int %59
%61 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%62 = OpLoad %int %61
%63 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%64 = OpLoad %int %63
%65 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%66 = OpLoad %int %65
%67 = OpConvertSToF %float %60
%68 = OpConvertSToF %float %62
%69 = OpConvertSToF %float %64
%70 = OpConvertSToF %float %66
%71 = OpCompositeConstruct %v4float %67 %68 %69 %70
OpStore %x_GLF_color %71
OpBranch %56
%58 = OpLabel
%72 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%73 = OpLoad %int %72
%74 = OpConvertSToF %float %73
%75 = OpCompositeConstruct %v4float %74 %74 %74 %74
OpStore %x_GLF_color %75
OpBranch %56
%56 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %79
%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 %48
%83 = OpLabel
%84 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %84
%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
%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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 64
; Bound: 59
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -48,10 +46,10 @@ SKIP: FAILED
%false = OpConstantFalse %bool
%int_3 = OpConstant %int 3
%float_1 = OpConstant %float 1
%49 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%50 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%44 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%45 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%51 = OpTypeFunction %void %main_out
%46 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11
%14 = OpLabel
%i = OpVariable %_ptr_Function_int Function %18
@ -69,51 +67,36 @@ SKIP: FAILED
%30 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%31 = OpLoad %float %30
%33 = OpFOrdGreaterThanEqual %bool %31 %float_0
OpSelectionMerge %35 None
OpBranchConditional %33 %36 %35
%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
%36 = OpLogicalAnd %bool %33 %false
OpBranchConditional %36 %20 %21
%21 = OpLabel
%42 = OpLoad %int %i
%44 = OpIEqual %bool %42 %int_3
OpSelectionMerge %45 None
OpBranchConditional %44 %46 %47
%46 = OpLabel
OpStore %x_GLF_color %49
OpBranch %45
%47 = OpLabel
OpStore %x_GLF_color %50
OpBranch %45
%45 = OpLabel
%37 = OpLoad %int %i
%39 = OpIEqual %bool %37 %int_3
OpSelectionMerge %40 None
OpBranchConditional %39 %41 %42
%41 = OpLabel
OpStore %x_GLF_color %44
OpBranch %40
%42 = OpLabel
OpStore %x_GLF_color %45
OpBranch %40
%40 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %51
%tint_symbol_3 = OpFunction %void None %46
%tint_symbol_1 = OpFunctionParameter %main_out
%55 = OpLabel
%56 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %56
%50 = OpLabel
%51 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %51
OpReturn
OpFunctionEnd
%main = OpFunction %void None %11
%58 = OpLabel
%59 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %59
%60 = OpFunctionCall %void %main_1
%62 = OpLoad %v4float %x_GLF_color
%63 = OpCompositeConstruct %main_out %62
%61 = OpFunctionCall %void %tint_symbol_3 %63
%53 = OpLabel
%54 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %54
%55 = OpFunctionCall %void %main_1
%57 = OpLoad %v4float %x_GLF_color
%58 = OpCompositeConstruct %main_out %57
%56 = OpFunctionCall %void %tint_symbol_3 %58
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 64
; Bound: 61
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -48,10 +46,10 @@ SKIP: FAILED
%false = OpConstantFalse %bool
%int_3 = OpConstant %int 3
%float_1 = OpConstant %float 1
%49 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%50 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%46 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%47 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%51 = OpTypeFunction %void %main_out
%48 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11
%14 = OpLabel
%i = OpVariable %_ptr_Function_int Function %18
@ -75,45 +73,35 @@ SKIP: FAILED
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
OpBranchConditional %38 %20 %21
%21 = OpLabel
%42 = OpLoad %int %i
%44 = OpIEqual %bool %42 %int_3
OpSelectionMerge %45 None
OpBranchConditional %44 %46 %47
%46 = OpLabel
OpStore %x_GLF_color %49
OpBranch %45
%47 = OpLabel
OpStore %x_GLF_color %50
OpBranch %45
%45 = OpLabel
%39 = OpLoad %int %i
%41 = OpIEqual %bool %39 %int_3
OpSelectionMerge %42 None
OpBranchConditional %41 %43 %44
%43 = OpLabel
OpStore %x_GLF_color %46
OpBranch %42
%44 = OpLabel
OpStore %x_GLF_color %47
OpBranch %42
%42 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %51
%tint_symbol_3 = OpFunction %void None %48
%tint_symbol_1 = OpFunctionParameter %main_out
%55 = OpLabel
%56 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %56
%52 = OpLabel
%53 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %53
OpReturn
OpFunctionEnd
%main = OpFunction %void None %11
%58 = OpLabel
%59 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %59
%60 = OpFunctionCall %void %main_1
%62 = OpLoad %v4float %x_GLF_color
%63 = OpCompositeConstruct %main_out %62
%61 = OpFunctionCall %void %tint_symbol_3 %63
%55 = OpLabel
%56 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %56
%57 = OpFunctionCall %void %main_1
%59 = OpLoad %v4float %x_GLF_color
%60 = OpCompositeConstruct %main_out %59
%58 = OpFunctionCall %void %tint_symbol_3 %60
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 64
; Bound: 61
; Schema: 0
OpCapability Shader
%35 = OpExtInstImport "GLSL.std.450"
@ -52,10 +50,10 @@ SKIP: FAILED
%float_9 = OpConstant %float 9
%bool = OpTypeBool
%float_0 = OpConstant %float 0
%50 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%51 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%47 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%48 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%52 = OpTypeFunction %void %main_out
%49 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11
%14 = OpLabel
%f = OpVariable %_ptr_Function_float Function %17
@ -78,43 +76,33 @@ SKIP: FAILED
%38 = OpFAdd %float %float_9 %32
%34 = OpExtInst %float %35 NClamp %30 %float_8 %38
%39 = OpFOrdGreaterThan %bool %float_10 %34
OpSelectionMerge %41 None
OpBranchConditional %39 %42 %43
%42 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %20
%41 = OpLabel
OpBranch %19
OpBranchConditional %39 %19 %20
%20 = OpLabel
%44 = OpLoad %float %f
%45 = OpFOrdEqual %bool %44 %float_10
OpSelectionMerge %46 None
OpBranchConditional %45 %47 %48
%47 = OpLabel
OpStore %x_GLF_color %50
OpBranch %46
%48 = OpLabel
OpStore %x_GLF_color %51
OpBranch %46
%46 = OpLabel
%41 = OpLoad %float %f
%42 = OpFOrdEqual %bool %41 %float_10
OpSelectionMerge %43 None
OpBranchConditional %42 %44 %45
%44 = OpLabel
OpStore %x_GLF_color %47
OpBranch %43
%45 = OpLabel
OpStore %x_GLF_color %48
OpBranch %43
%43 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %52
%tint_symbol_2 = OpFunction %void None %49
%tint_symbol = OpFunctionParameter %main_out
%56 = OpLabel
%57 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %57
%53 = OpLabel
%54 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %54
OpReturn
OpFunctionEnd
%main = OpFunction %void None %11
%59 = OpLabel
%60 = OpFunctionCall %void %main_1
%62 = OpLoad %v4float %x_GLF_color
%63 = OpCompositeConstruct %main_out %62
%61 = OpFunctionCall %void %tint_symbol_2 %63
%56 = OpLabel
%57 = OpFunctionCall %void %main_1
%59 = OpLoad %v4float %x_GLF_color
%60 = OpCompositeConstruct %main_out %59
%58 = OpFunctionCall %void %tint_symbol_2 %60
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 64
; Bound: 61
; Schema: 0
OpCapability Shader
%35 = OpExtInstImport "GLSL.std.450"
@ -52,10 +50,10 @@ SKIP: FAILED
%float_9 = OpConstant %float 9
%bool = OpTypeBool
%float_0 = OpConstant %float 0
%50 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%51 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%47 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%48 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%52 = OpTypeFunction %void %main_out
%49 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %11
%14 = OpLabel
%f = OpVariable %_ptr_Function_float Function %17
@ -78,43 +76,33 @@ SKIP: FAILED
%38 = OpFAdd %float %float_9 %32
%34 = OpExtInst %float %35 NClamp %30 %float_8 %38
%39 = OpFOrdGreaterThan %bool %float_10 %34
OpSelectionMerge %41 None
OpBranchConditional %39 %42 %43
%42 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %20
%41 = OpLabel
OpBranch %19
OpBranchConditional %39 %19 %20
%20 = OpLabel
%44 = OpLoad %float %f
%45 = OpFOrdEqual %bool %44 %float_10
OpSelectionMerge %46 None
OpBranchConditional %45 %47 %48
%47 = OpLabel
OpStore %x_GLF_color %50
OpBranch %46
%48 = OpLabel
OpStore %x_GLF_color %51
OpBranch %46
%46 = OpLabel
%41 = OpLoad %float %f
%42 = OpFOrdEqual %bool %41 %float_10
OpSelectionMerge %43 None
OpBranchConditional %42 %44 %45
%44 = OpLabel
OpStore %x_GLF_color %47
OpBranch %43
%45 = OpLabel
OpStore %x_GLF_color %48
OpBranch %43
%43 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %52
%tint_symbol_2 = OpFunction %void None %49
%tint_symbol = OpFunctionParameter %main_out
%56 = OpLabel
%57 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %57
%53 = OpLabel
%54 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %54
OpReturn
OpFunctionEnd
%main = OpFunction %void None %11
%59 = OpLabel
%60 = OpFunctionCall %void %main_1
%62 = OpLoad %v4float %x_GLF_color
%63 = OpCompositeConstruct %main_out %62
%61 = OpFunctionCall %void %tint_symbol_2 %63
%56 = OpLabel
%57 = OpFunctionCall %void %main_1
%59 = OpLoad %v4float %x_GLF_color
%60 = OpCompositeConstruct %main_out %59
%58 = OpFunctionCall %void %tint_symbol_2 %60
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 134
; Bound: 128
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -78,11 +76,11 @@ SKIP: FAILED
%int_1 = OpConstant %int 1
%int_0 = OpConstant %int 0
%void = OpTypeVoid
%87 = OpTypeFunction %void
%92 = OpConstantNull %float
%81 = OpTypeFunction %void
%86 = OpConstantNull %float
%_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out
%115 = OpTypeFunction %void %main_out
%func_f1_ = OpFunction %float None %23
%x = OpFunctionParameter %_ptr_Function_float
%27 = OpLabel
@ -123,107 +121,90 @@ SKIP: FAILED
%59 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%60 = OpLoad %float %59
%61 = OpFOrdLessThan %bool %58 %60
OpSelectionMerge %62 None
OpBranchConditional %61 %63 %64
%63 = OpLabel
OpBranch %62
%64 = OpLabel
OpBranch %54
%62 = OpLabel
OpBranch %53
OpBranchConditional %61 %53 %54
%54 = OpLabel
OpBranch %51
%51 = OpLabel
%66 = OpLoad %float %x
%68 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_3
%69 = OpLoad %float %68
%70 = OpFOrdLessThan %bool %66 %69
OpSelectionMerge %71 None
OpBranchConditional %70 %72 %71
%72 = OpLabel
%74 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%75 = OpLoad %float %74
OpReturnValue %75
%71 = OpLabel
%63 = OpLoad %float %x
%65 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_3
%66 = OpLoad %float %65
%67 = OpFOrdLessThan %bool %63 %66
OpSelectionMerge %68 None
OpBranchConditional %67 %69 %68
%69 = OpLabel
%71 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%72 = OpLoad %float %71
OpReturnValue %72
%68 = OpLabel
OpBranch %39
%39 = OpLabel
%76 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%77 = OpLoad %float %76
%78 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%79 = OpLoad %float %78
%80 = OpFOrdLessThan %bool %77 %79
OpSelectionMerge %81 None
OpBranchConditional %80 %82 %83
%82 = OpLabel
OpBranch %81
%83 = OpLabel
OpBranch %38
%81 = OpLabel
OpBranch %37
%73 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%74 = OpLoad %float %73
%75 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%76 = OpLoad %float %75
%77 = OpFOrdLessThan %bool %74 %76
OpBranchConditional %77 %37 %38
%38 = OpLabel
OpBranch %30
%30 = OpLabel
OpBranch %28
%29 = OpLabel
%85 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%86 = OpLoad %float %85
OpReturnValue %86
%79 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%80 = OpLoad %float %79
OpReturnValue %80
OpFunctionEnd
%main_1 = OpFunction %void None %87
%90 = OpLabel
%param = OpVariable %_ptr_Function_float Function %92
%93 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%94 = OpLoad %float %93
OpStore %param %94
%95 = OpFunctionCall %float %func_f1_ %param
%97 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%98 = OpLoad %float %97
%99 = OpFOrdEqual %bool %95 %98
OpSelectionMerge %100 None
OpBranchConditional %99 %101 %102
%101 = OpLabel
%main_1 = OpFunction %void None %81
%84 = OpLabel
%param = OpVariable %_ptr_Function_float Function %86
%87 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%88 = OpLoad %float %87
OpStore %param %88
%89 = OpFunctionCall %float %func_f1_ %param
%91 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%92 = OpLoad %float %91
%93 = OpFOrdEqual %bool %89 %92
OpSelectionMerge %94 None
OpBranchConditional %93 %95 %96
%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
%105 = OpLoad %int %104
%106 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%107 = OpLoad %int %106
%108 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%109 = OpLoad %int %108
%110 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0
%111 = OpLoad %int %110
%112 = OpConvertSToF %float %105
%113 = OpConvertSToF %float %107
%114 = OpConvertSToF %float %109
%115 = OpConvertSToF %float %111
%116 = OpCompositeConstruct %v4float %112 %113 %114 %115
OpStore %x_GLF_color %116
OpBranch %100
%102 = OpLabel
%117 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%118 = OpLoad %int %117
%119 = OpConvertSToF %float %118
%120 = OpCompositeConstruct %v4float %119 %119 %119 %119
OpStore %x_GLF_color %120
OpBranch %100
%100 = OpLabel
%106 = OpConvertSToF %float %99
%107 = OpConvertSToF %float %101
%108 = OpConvertSToF %float %103
%109 = OpConvertSToF %float %105
%110 = OpCompositeConstruct %v4float %106 %107 %108 %109
OpStore %x_GLF_color %110
OpBranch %94
%96 = OpLabel
%111 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%112 = OpLoad %int %111
%113 = OpConvertSToF %float %112
%114 = OpCompositeConstruct %v4float %113 %113 %113 %113
OpStore %x_GLF_color %114
OpBranch %94
%94 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121
%tint_symbol_3 = OpFunction %void None %115
%tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126
%119 = OpLabel
%120 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %120
OpReturn
OpFunctionEnd
%main = OpFunction %void None %87
%128 = OpLabel
%129 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129
%130 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132
%131 = OpFunctionCall %void %tint_symbol_3 %133
%main = OpFunction %void None %81
%122 = OpLabel
%123 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %123
%124 = OpFunctionCall %void %main_1
%126 = OpLoad %v4float %x_GLF_color
%127 = OpCompositeConstruct %main_out %126
%125 = OpFunctionCall %void %tint_symbol_3 %127
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 134
; Bound: 128
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -78,11 +76,11 @@ SKIP: FAILED
%int_1 = OpConstant %int 1
%int_0 = OpConstant %int 0
%void = OpTypeVoid
%87 = OpTypeFunction %void
%92 = OpConstantNull %float
%81 = OpTypeFunction %void
%86 = OpConstantNull %float
%_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out
%115 = OpTypeFunction %void %main_out
%func_f1_ = OpFunction %float None %23
%x = OpFunctionParameter %_ptr_Function_float
%27 = OpLabel
@ -123,107 +121,90 @@ SKIP: FAILED
%59 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%60 = OpLoad %float %59
%61 = OpFOrdLessThan %bool %58 %60
OpSelectionMerge %62 None
OpBranchConditional %61 %63 %64
%63 = OpLabel
OpBranch %62
%64 = OpLabel
OpBranch %54
%62 = OpLabel
OpBranch %53
OpBranchConditional %61 %53 %54
%54 = OpLabel
OpBranch %51
%51 = OpLabel
%66 = OpLoad %float %x
%68 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_3
%69 = OpLoad %float %68
%70 = OpFOrdLessThan %bool %66 %69
OpSelectionMerge %71 None
OpBranchConditional %70 %72 %71
%72 = OpLabel
%74 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%75 = OpLoad %float %74
OpReturnValue %75
%71 = OpLabel
%63 = OpLoad %float %x
%65 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_3
%66 = OpLoad %float %65
%67 = OpFOrdLessThan %bool %63 %66
OpSelectionMerge %68 None
OpBranchConditional %67 %69 %68
%69 = OpLabel
%71 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%72 = OpLoad %float %71
OpReturnValue %72
%68 = OpLabel
OpBranch %39
%39 = OpLabel
%76 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%77 = OpLoad %float %76
%78 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%79 = OpLoad %float %78
%80 = OpFOrdLessThan %bool %77 %79
OpSelectionMerge %81 None
OpBranchConditional %80 %82 %83
%82 = OpLabel
OpBranch %81
%83 = OpLabel
OpBranch %38
%81 = OpLabel
OpBranch %37
%73 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%74 = OpLoad %float %73
%75 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%76 = OpLoad %float %75
%77 = OpFOrdLessThan %bool %74 %76
OpBranchConditional %77 %37 %38
%38 = OpLabel
OpBranch %30
%30 = OpLabel
OpBranch %28
%29 = OpLabel
%85 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%86 = OpLoad %float %85
OpReturnValue %86
%79 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%80 = OpLoad %float %79
OpReturnValue %80
OpFunctionEnd
%main_1 = OpFunction %void None %87
%90 = OpLabel
%param = OpVariable %_ptr_Function_float Function %92
%93 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%94 = OpLoad %float %93
OpStore %param %94
%95 = OpFunctionCall %float %func_f1_ %param
%97 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%98 = OpLoad %float %97
%99 = OpFOrdEqual %bool %95 %98
OpSelectionMerge %100 None
OpBranchConditional %99 %101 %102
%101 = OpLabel
%main_1 = OpFunction %void None %81
%84 = OpLabel
%param = OpVariable %_ptr_Function_float Function %86
%87 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
%88 = OpLoad %float %87
OpStore %param %88
%89 = OpFunctionCall %float %func_f1_ %param
%91 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%92 = OpLoad %float %91
%93 = OpFOrdEqual %bool %89 %92
OpSelectionMerge %94 None
OpBranchConditional %93 %95 %96
%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
%105 = OpLoad %int %104
%106 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%107 = OpLoad %int %106
%108 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%109 = OpLoad %int %108
%110 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_0
%111 = OpLoad %int %110
%112 = OpConvertSToF %float %105
%113 = OpConvertSToF %float %107
%114 = OpConvertSToF %float %109
%115 = OpConvertSToF %float %111
%116 = OpCompositeConstruct %v4float %112 %113 %114 %115
OpStore %x_GLF_color %116
OpBranch %100
%102 = OpLabel
%117 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%118 = OpLoad %int %117
%119 = OpConvertSToF %float %118
%120 = OpCompositeConstruct %v4float %119 %119 %119 %119
OpStore %x_GLF_color %120
OpBranch %100
%100 = OpLabel
%106 = OpConvertSToF %float %99
%107 = OpConvertSToF %float %101
%108 = OpConvertSToF %float %103
%109 = OpConvertSToF %float %105
%110 = OpCompositeConstruct %v4float %106 %107 %108 %109
OpStore %x_GLF_color %110
OpBranch %94
%96 = OpLabel
%111 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0 %int_1
%112 = OpLoad %int %111
%113 = OpConvertSToF %float %112
%114 = OpCompositeConstruct %v4float %113 %113 %113 %113
OpStore %x_GLF_color %114
OpBranch %94
%94 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121
%tint_symbol_3 = OpFunction %void None %115
%tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126
%119 = OpLabel
%120 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %120
OpReturn
OpFunctionEnd
%main = OpFunction %void None %87
%128 = OpLabel
%129 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129
%130 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132
%131 = OpFunctionCall %void %tint_symbol_3 %133
%main = OpFunction %void None %81
%122 = OpLabel
%123 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %123
%124 = OpFunctionCall %void %main_1
%126 = OpLoad %v4float %x_GLF_color
%127 = OpCompositeConstruct %main_out %126
%125 = OpFunctionCall %void %tint_symbol_3 %127
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 104
; Bound: 99
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -62,7 +60,7 @@ SKIP: FAILED
%false = OpConstantFalse %bool
%true = OpConstantTrue %bool
%main_out = OpTypeStruct %v4float
%92 = OpTypeFunction %void %main_out
%87 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %18
%20 = OpLabel
OpBranch %21
@ -112,71 +110,56 @@ SKIP: FAILED
OpBranch %51
%51 = OpLabel
%58 = OpLoad %int %x_GLF_global_loop_count
OpSelectionMerge %60 None
OpBranchConditional %true %61 %60
%61 = OpLabel
%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
%60 = OpSLessThan %bool %58 %int_100
%61 = OpLogicalAnd %bool %true %60
OpBranchConditional %61 %49 %50
%50 = OpLabel
%67 = OpFunctionCall %int %func_
OpStore %a %67
%68 = OpLoad %int %a
%69 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%70 = OpLoad %int %69
%71 = OpIEqual %bool %68 %70
OpSelectionMerge %72 None
OpBranchConditional %71 %73 %74
%73 = OpLabel
%75 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%76 = OpLoad %int %75
%77 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%78 = OpLoad %int %77
%79 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%80 = OpLoad %int %79
%81 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%82 = OpLoad %int %81
%83 = OpConvertSToF %float %76
%84 = OpConvertSToF %float %78
%85 = OpConvertSToF %float %80
%86 = OpConvertSToF %float %82
%87 = OpCompositeConstruct %v4float %83 %84 %85 %86
OpStore %x_GLF_color %87
OpBranch %72
%74 = OpLabel
%88 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%89 = OpLoad %int %88
%90 = OpConvertSToF %float %89
%91 = OpCompositeConstruct %v4float %90 %90 %90 %90
OpStore %x_GLF_color %91
OpBranch %72
%72 = OpLabel
%62 = OpFunctionCall %int %func_
OpStore %a %62
%63 = OpLoad %int %a
%64 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%65 = OpLoad %int %64
%66 = OpIEqual %bool %63 %65
OpSelectionMerge %67 None
OpBranchConditional %66 %68 %69
%68 = OpLabel
%70 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%71 = OpLoad %int %70
%72 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%73 = OpLoad %int %72
%74 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%75 = OpLoad %int %74
%76 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%77 = OpLoad %int %76
%78 = OpConvertSToF %float %71
%79 = OpConvertSToF %float %73
%80 = OpConvertSToF %float %75
%81 = OpConvertSToF %float %77
%82 = OpCompositeConstruct %v4float %78 %79 %80 %81
OpStore %x_GLF_color %82
OpBranch %67
%69 = OpLabel
%83 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%84 = OpLoad %int %83
%85 = OpConvertSToF %float %84
%86 = OpCompositeConstruct %v4float %85 %85 %85 %85
OpStore %x_GLF_color %86
OpBranch %67
%67 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %92
%tint_symbol_2 = OpFunction %void None %87
%tint_symbol = OpFunctionParameter %main_out
%96 = OpLabel
%97 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %97
%91 = OpLabel
%92 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %92
OpReturn
OpFunctionEnd
%main = OpFunction %void None %43
%99 = OpLabel
%100 = OpFunctionCall %void %main_1
%102 = OpLoad %v4float %x_GLF_color
%103 = OpCompositeConstruct %main_out %102
%101 = OpFunctionCall %void %tint_symbol_2 %103
%94 = OpLabel
%95 = OpFunctionCall %void %main_1
%97 = OpLoad %v4float %x_GLF_color
%98 = OpCompositeConstruct %main_out %97
%96 = OpFunctionCall %void %tint_symbol_2 %98
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 104
; Bound: 101
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -62,7 +60,7 @@ SKIP: FAILED
%false = OpConstantFalse %bool
%true = OpConstantTrue %bool
%main_out = OpTypeStruct %v4float
%92 = OpTypeFunction %void %main_out
%89 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %18
%20 = OpLabel
OpBranch %21
@ -119,64 +117,54 @@ SKIP: FAILED
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
OpBranchConditional %63 %49 %50
%50 = OpLabel
%67 = OpFunctionCall %int %func_
OpStore %a %67
%68 = OpLoad %int %a
%69 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%70 = OpLoad %int %69
%71 = OpIEqual %bool %68 %70
OpSelectionMerge %72 None
OpBranchConditional %71 %73 %74
%73 = OpLabel
%75 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%76 = OpLoad %int %75
%77 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%78 = OpLoad %int %77
%79 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%80 = OpLoad %int %79
%81 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%82 = OpLoad %int %81
%83 = OpConvertSToF %float %76
%84 = OpConvertSToF %float %78
%85 = OpConvertSToF %float %80
%86 = OpConvertSToF %float %82
%87 = OpCompositeConstruct %v4float %83 %84 %85 %86
OpStore %x_GLF_color %87
OpBranch %72
%74 = OpLabel
%88 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%89 = OpLoad %int %88
%90 = OpConvertSToF %float %89
%91 = OpCompositeConstruct %v4float %90 %90 %90 %90
OpStore %x_GLF_color %91
OpBranch %72
%72 = OpLabel
%64 = OpFunctionCall %int %func_
OpStore %a %64
%65 = OpLoad %int %a
%66 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%67 = OpLoad %int %66
%68 = OpIEqual %bool %65 %67
OpSelectionMerge %69 None
OpBranchConditional %68 %70 %71
%70 = OpLabel
%72 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%73 = OpLoad %int %72
%74 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%75 = OpLoad %int %74
%76 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%77 = OpLoad %int %76
%78 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
%79 = OpLoad %int %78
%80 = OpConvertSToF %float %73
%81 = OpConvertSToF %float %75
%82 = OpConvertSToF %float %77
%83 = OpConvertSToF %float %79
%84 = OpCompositeConstruct %v4float %80 %81 %82 %83
OpStore %x_GLF_color %84
OpBranch %69
%71 = OpLabel
%85 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%86 = OpLoad %int %85
%87 = OpConvertSToF %float %86
%88 = OpCompositeConstruct %v4float %87 %87 %87 %87
OpStore %x_GLF_color %88
OpBranch %69
%69 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %92
%tint_symbol_2 = OpFunction %void None %89
%tint_symbol = OpFunctionParameter %main_out
%96 = OpLabel
%97 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %97
%93 = OpLabel
%94 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %94
OpReturn
OpFunctionEnd
%main = OpFunction %void None %43
%99 = OpLabel
%100 = OpFunctionCall %void %main_1
%102 = OpLoad %v4float %x_GLF_color
%103 = OpCompositeConstruct %main_out %102
%101 = OpFunctionCall %void %tint_symbol_2 %103
%96 = OpLabel
%97 = OpFunctionCall %void %main_1
%99 = OpLoad %v4float %x_GLF_color
%100 = OpCompositeConstruct %main_out %99
%98 = OpFunctionCall %void %tint_symbol_2 %100
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 79
; Bound: 76
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -55,7 +53,7 @@ SKIP: FAILED
%true = OpConstantTrue %bool
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%67 = OpTypeFunction %void %main_out
%64 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%a = OpVariable %_ptr_Function_int Function %21
@ -86,57 +84,47 @@ SKIP: FAILED
%25 = OpLabel
%42 = OpLoad %int %a
%43 = OpINotEqual %bool %42 %int_1
OpSelectionMerge %44 None
OpBranchConditional %43 %45 %46
%45 = OpLabel
OpBranch %44
%46 = OpLabel
OpBranch %24
%44 = OpLabel
OpBranch %23
OpBranchConditional %43 %23 %24
%24 = OpLabel
%47 = OpLoad %int %a
%48 = OpIEqual %bool %47 %int_1
OpSelectionMerge %49 None
OpBranchConditional %48 %50 %51
%50 = OpLabel
%52 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%53 = OpLoad %int %52
%54 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%55 = OpLoad %int %54
%56 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%57 = OpLoad %int %56
%59 = OpConvertSToF %float %53
%60 = OpConvertSToF %float %55
%61 = OpConvertSToF %float %57
%62 = OpCompositeConstruct %v4float %float_1 %59 %60 %61
OpStore %x_GLF_color %62
OpBranch %49
%51 = OpLabel
%63 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%64 = OpLoad %int %63
%65 = OpConvertSToF %float %64
%66 = OpCompositeConstruct %v4float %65 %65 %65 %65
OpStore %x_GLF_color %66
OpBranch %49
%49 = OpLabel
%44 = OpLoad %int %a
%45 = OpIEqual %bool %44 %int_1
OpSelectionMerge %46 None
OpBranchConditional %45 %47 %48
%47 = OpLabel
%49 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%50 = OpLoad %int %49
%51 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%52 = OpLoad %int %51
%53 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%54 = OpLoad %int %53
%56 = OpConvertSToF %float %50
%57 = OpConvertSToF %float %52
%58 = OpConvertSToF %float %54
%59 = OpCompositeConstruct %v4float %float_1 %56 %57 %58
OpStore %x_GLF_color %59
OpBranch %46
%48 = OpLabel
%60 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%61 = OpLoad %int %60
%62 = OpConvertSToF %float %61
%63 = OpCompositeConstruct %v4float %62 %62 %62 %62
OpStore %x_GLF_color %63
OpBranch %46
%46 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %67
%tint_symbol_2 = OpFunction %void None %64
%tint_symbol = OpFunctionParameter %main_out
%71 = OpLabel
%72 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %72
%68 = OpLabel
%69 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %69
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%74 = OpLabel
%75 = OpFunctionCall %void %main_1
%77 = OpLoad %v4float %x_GLF_color
%78 = OpCompositeConstruct %main_out %77
%76 = OpFunctionCall %void %tint_symbol_2 %78
%71 = OpLabel
%72 = OpFunctionCall %void %main_1
%74 = OpLoad %v4float %x_GLF_color
%75 = OpCompositeConstruct %main_out %74
%73 = OpFunctionCall %void %tint_symbol_2 %75
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 79
; Bound: 76
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -55,7 +53,7 @@ SKIP: FAILED
%true = OpConstantTrue %bool
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%67 = OpTypeFunction %void %main_out
%64 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%a = OpVariable %_ptr_Function_int Function %21
@ -86,57 +84,47 @@ SKIP: FAILED
%25 = OpLabel
%42 = OpLoad %int %a
%43 = OpINotEqual %bool %42 %int_1
OpSelectionMerge %44 None
OpBranchConditional %43 %45 %46
%45 = OpLabel
OpBranch %44
%46 = OpLabel
OpBranch %24
%44 = OpLabel
OpBranch %23
OpBranchConditional %43 %23 %24
%24 = OpLabel
%47 = OpLoad %int %a
%48 = OpIEqual %bool %47 %int_1
OpSelectionMerge %49 None
OpBranchConditional %48 %50 %51
%50 = OpLabel
%52 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%53 = OpLoad %int %52
%54 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%55 = OpLoad %int %54
%56 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%57 = OpLoad %int %56
%59 = OpConvertSToF %float %53
%60 = OpConvertSToF %float %55
%61 = OpConvertSToF %float %57
%62 = OpCompositeConstruct %v4float %float_1 %59 %60 %61
OpStore %x_GLF_color %62
OpBranch %49
%51 = OpLabel
%63 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%64 = OpLoad %int %63
%65 = OpConvertSToF %float %64
%66 = OpCompositeConstruct %v4float %65 %65 %65 %65
OpStore %x_GLF_color %66
OpBranch %49
%49 = OpLabel
%44 = OpLoad %int %a
%45 = OpIEqual %bool %44 %int_1
OpSelectionMerge %46 None
OpBranchConditional %45 %47 %48
%47 = OpLabel
%49 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%50 = OpLoad %int %49
%51 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%52 = OpLoad %int %51
%53 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%54 = OpLoad %int %53
%56 = OpConvertSToF %float %50
%57 = OpConvertSToF %float %52
%58 = OpConvertSToF %float %54
%59 = OpCompositeConstruct %v4float %float_1 %56 %57 %58
OpStore %x_GLF_color %59
OpBranch %46
%48 = OpLabel
%60 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%61 = OpLoad %int %60
%62 = OpConvertSToF %float %61
%63 = OpCompositeConstruct %v4float %62 %62 %62 %62
OpStore %x_GLF_color %63
OpBranch %46
%46 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %67
%tint_symbol_2 = OpFunction %void None %64
%tint_symbol = OpFunctionParameter %main_out
%71 = OpLabel
%72 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %72
%68 = OpLabel
%69 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %69
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%74 = OpLabel
%75 = OpFunctionCall %void %main_1
%77 = OpLoad %v4float %x_GLF_color
%78 = OpCompositeConstruct %main_out %77
%76 = OpFunctionCall %void %tint_symbol_2 %78
%71 = OpLabel
%72 = OpFunctionCall %void %main_1
%74 = OpLoad %v4float %x_GLF_color
%75 = OpCompositeConstruct %main_out %74
%73 = OpFunctionCall %void %tint_symbol_2 %75
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 83
; Bound: 80
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -62,9 +60,9 @@ SKIP: FAILED
%48 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%49 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%void = OpTypeVoid
%59 = OpTypeFunction %void
%56 = OpTypeFunction %void
%main_out = OpTypeStruct %v4float
%71 = OpTypeFunction %void %main_out
%68 = OpTypeFunction %void %main_out
%returnRed_ = OpFunction %v4float None %12
%14 = OpLabel
%x_33 = OpVariable %_ptr_Function_bool Function %19
@ -103,25 +101,18 @@ SKIP: FAILED
%34 = OpLabel
OpStore %x_48_phi %49
OpStore %x_49_phi %false
OpSelectionMerge %50 None
OpBranchConditional %false %51 %52
%51 = OpLabel
OpBranch %50
%52 = OpLabel
OpBranch %33
%50 = OpLabel
OpBranch %32
OpBranchConditional %false %32 %33
%33 = OpLabel
%53 = OpLoad %v4float %x_48_phi
OpStore %x_48 %53
%54 = OpLoad %bool %x_49_phi
%55 = OpLoad %v4float %x_48
OpStore %x_51_phi %55
OpSelectionMerge %56 None
OpBranchConditional %54 %57 %56
%57 = OpLabel
%50 = OpLoad %v4float %x_48_phi
OpStore %x_48 %50
%51 = OpLoad %bool %x_49_phi
%52 = OpLoad %v4float %x_48
OpStore %x_51_phi %52
OpSelectionMerge %53 None
OpBranchConditional %51 %54 %53
%54 = OpLabel
OpBranch %26
%56 = OpLabel
%53 = OpLabel
OpStore %x_33 %true
OpStore %x_34 %48
OpStore %x_51_phi %48
@ -130,46 +121,43 @@ SKIP: FAILED
OpStore %x_36_phi %false
OpBranch %25
%26 = OpLabel
%58 = OpLoad %v4float %x_51_phi
OpReturnValue %58
%55 = OpLoad %v4float %x_51_phi
OpReturnValue %55
OpFunctionEnd
%main_1 = OpFunction %void None %59
%62 = OpLabel
%main_1 = OpFunction %void None %56
%59 = OpLabel
OpBranch %60
%60 = OpLabel
OpLoopMerge %61 %62 None
OpBranch %63
%63 = OpLabel
OpLoopMerge %64 %65 None
OpBranch %66
%64 = OpFunctionCall %v4float %returnRed_
OpStore %x_GLF_color %64
OpSelectionMerge %65 None
OpBranchConditional %false %66 %67
%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
%67 = OpLabel
OpBranch %61
%65 = OpLabel
OpBranch %63
%64 = OpLabel
OpBranch %62
%62 = OpLabel
OpBranch %60
%61 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %71
%tint_symbol_2 = OpFunction %void None %68
%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
%76 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %76
%76 = OpFunctionCall %void %main_1
%78 = OpLoad %v4float %x_GLF_color
%79 = OpCompositeConstruct %main_out %78
%77 = OpFunctionCall %void %tint_symbol_2 %79
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 83
; Bound: 80
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -62,9 +60,9 @@ SKIP: FAILED
%48 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%49 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%void = OpTypeVoid
%59 = OpTypeFunction %void
%56 = OpTypeFunction %void
%main_out = OpTypeStruct %v4float
%71 = OpTypeFunction %void %main_out
%68 = OpTypeFunction %void %main_out
%returnRed_ = OpFunction %v4float None %12
%14 = OpLabel
%x_33 = OpVariable %_ptr_Function_bool Function %19
@ -103,25 +101,18 @@ SKIP: FAILED
%34 = OpLabel
OpStore %x_48_phi %49
OpStore %x_49_phi %false
OpSelectionMerge %50 None
OpBranchConditional %false %51 %52
%51 = OpLabel
OpBranch %50
%52 = OpLabel
OpBranch %33
%50 = OpLabel
OpBranch %32
OpBranchConditional %false %32 %33
%33 = OpLabel
%53 = OpLoad %v4float %x_48_phi
OpStore %x_48 %53
%54 = OpLoad %bool %x_49_phi
%55 = OpLoad %v4float %x_48
OpStore %x_51_phi %55
OpSelectionMerge %56 None
OpBranchConditional %54 %57 %56
%57 = OpLabel
%50 = OpLoad %v4float %x_48_phi
OpStore %x_48 %50
%51 = OpLoad %bool %x_49_phi
%52 = OpLoad %v4float %x_48
OpStore %x_51_phi %52
OpSelectionMerge %53 None
OpBranchConditional %51 %54 %53
%54 = OpLabel
OpBranch %26
%56 = OpLabel
%53 = OpLabel
OpStore %x_33 %true
OpStore %x_34 %48
OpStore %x_51_phi %48
@ -130,46 +121,43 @@ SKIP: FAILED
OpStore %x_36_phi %false
OpBranch %25
%26 = OpLabel
%58 = OpLoad %v4float %x_51_phi
OpReturnValue %58
%55 = OpLoad %v4float %x_51_phi
OpReturnValue %55
OpFunctionEnd
%main_1 = OpFunction %void None %59
%62 = OpLabel
%main_1 = OpFunction %void None %56
%59 = OpLabel
OpBranch %60
%60 = OpLabel
OpLoopMerge %61 %62 None
OpBranch %63
%63 = OpLabel
OpLoopMerge %64 %65 None
OpBranch %66
%64 = OpFunctionCall %v4float %returnRed_
OpStore %x_GLF_color %64
OpSelectionMerge %65 None
OpBranchConditional %false %66 %67
%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
%67 = OpLabel
OpBranch %61
%65 = OpLabel
OpBranch %63
%64 = OpLabel
OpBranch %62
%62 = OpLabel
OpBranch %60
%61 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %71
%tint_symbol_2 = OpFunction %void None %68
%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
%76 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %76
%76 = OpFunctionCall %void %main_1
%78 = OpLoad %v4float %x_GLF_color
%79 = OpCompositeConstruct %main_out %78
%77 = OpFunctionCall %void %tint_symbol_2 %79
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 90
; Bound: 87
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -57,7 +55,7 @@ SKIP: FAILED
%false = OpConstantFalse %bool
%int_100 = OpConstant %int 100
%main_out = OpTypeStruct %v4float
%78 = OpTypeFunction %void %main_out
%75 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18
%21 = OpLabel
OpStore %x_GLF_global_loop_count %int_0
@ -125,14 +123,7 @@ SKIP: FAILED
%64 = OpLabel
%72 = OpLoad %int %x_GLF_global_loop_count
%74 = OpSLessThan %bool %72 %int_100
OpSelectionMerge %75 None
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpBranch %75
%77 = OpLabel
OpBranch %63
%75 = OpLabel
OpBranch %62
OpBranchConditional %74 %62 %63
%63 = OpLabel
OpBranch %56
%56 = OpLabel
@ -144,21 +135,18 @@ SKIP: FAILED
%27 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %78
%tint_symbol_2 = OpFunction %void None %75
%tint_symbol = OpFunctionParameter %main_out
%82 = OpLabel
%83 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %83
%79 = OpLabel
%80 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %80
OpReturn
OpFunctionEnd
%main = OpFunction %void None %18
%85 = OpLabel
%86 = OpFunctionCall %void %main_1
%88 = OpLoad %v4float %x_GLF_color
%89 = OpCompositeConstruct %main_out %88
%87 = OpFunctionCall %void %tint_symbol_2 %89
%82 = OpLabel
%83 = OpFunctionCall %void %main_1
%85 = OpLoad %v4float %x_GLF_color
%86 = OpCompositeConstruct %main_out %85
%84 = OpFunctionCall %void %tint_symbol_2 %86
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 90
; Bound: 87
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -57,7 +55,7 @@ SKIP: FAILED
%false = OpConstantFalse %bool
%int_100 = OpConstant %int 100
%main_out = OpTypeStruct %v4float
%78 = OpTypeFunction %void %main_out
%75 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18
%21 = OpLabel
OpStore %x_GLF_global_loop_count %int_0
@ -125,14 +123,7 @@ SKIP: FAILED
%64 = OpLabel
%72 = OpLoad %int %x_GLF_global_loop_count
%74 = OpSLessThan %bool %72 %int_100
OpSelectionMerge %75 None
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpBranch %75
%77 = OpLabel
OpBranch %63
%75 = OpLabel
OpBranch %62
OpBranchConditional %74 %62 %63
%63 = OpLabel
OpBranch %56
%56 = OpLabel
@ -144,21 +135,18 @@ SKIP: FAILED
%27 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %78
%tint_symbol_2 = OpFunction %void None %75
%tint_symbol = OpFunctionParameter %main_out
%82 = OpLabel
%83 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %83
%79 = OpLabel
%80 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %80
OpReturn
OpFunctionEnd
%main = OpFunction %void None %18
%85 = OpLabel
%86 = OpFunctionCall %void %main_1
%88 = OpLoad %v4float %x_GLF_color
%89 = OpCompositeConstruct %main_out %88
%87 = OpFunctionCall %void %tint_symbol_2 %89
%82 = OpLabel
%83 = OpFunctionCall %void %main_1
%85 = OpLoad %v4float %x_GLF_color
%86 = OpCompositeConstruct %main_out %85
%84 = OpFunctionCall %void %tint_symbol_2 %86
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 71
; Bound: 68
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -54,11 +52,11 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%false = OpConstantFalse %bool
%void = OpTypeVoid
%48 = OpTypeFunction %void
%57 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%58 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%45 = OpTypeFunction %void
%54 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%55 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%59 = OpTypeFunction %void %main_out
%56 = OpTypeFunction %void %main_out
%func_ = OpFunction %float None %11
%13 = OpLabel
%b = OpVariable %_ptr_Function_float Function %16
@ -97,48 +95,38 @@ SKIP: FAILED
%23 = OpLabel
OpStore %x_34_phi %float_1
OpStore %x_48_phi %float_1
OpSelectionMerge %44 None
OpBranchConditional %false %45 %46
%45 = OpLabel
OpBranch %44
%46 = OpLabel
OpBranch %22
%44 = OpLabel
OpBranch %21
OpBranchConditional %false %21 %22
%22 = OpLabel
%47 = OpLoad %float %x_48_phi
OpReturnValue %47
%44 = OpLoad %float %x_48_phi
OpReturnValue %44
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
%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
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %59
%tint_symbol_2 = OpFunction %void None %56
%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
%64 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %64
%64 = OpFunctionCall %void %main_1
%66 = OpLoad %v4float %x_GLF_color
%67 = OpCompositeConstruct %main_out %66
%65 = OpFunctionCall %void %tint_symbol_2 %67
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 71
; Bound: 68
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -54,11 +52,11 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%false = OpConstantFalse %bool
%void = OpTypeVoid
%48 = OpTypeFunction %void
%57 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%58 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%45 = OpTypeFunction %void
%54 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%55 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%59 = OpTypeFunction %void %main_out
%56 = OpTypeFunction %void %main_out
%func_ = OpFunction %float None %11
%13 = OpLabel
%b = OpVariable %_ptr_Function_float Function %16
@ -97,48 +95,38 @@ SKIP: FAILED
%23 = OpLabel
OpStore %x_34_phi %float_1
OpStore %x_48_phi %float_1
OpSelectionMerge %44 None
OpBranchConditional %false %45 %46
%45 = OpLabel
OpBranch %44
%46 = OpLabel
OpBranch %22
%44 = OpLabel
OpBranch %21
OpBranchConditional %false %21 %22
%22 = OpLabel
%47 = OpLoad %float %x_48_phi
OpReturnValue %47
%44 = OpLoad %float %x_48_phi
OpReturnValue %44
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
%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
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %59
%tint_symbol_2 = OpFunction %void None %56
%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
%64 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %64
%64 = OpFunctionCall %void %main_1
%66 = OpLoad %v4float %x_GLF_color
%67 = OpCompositeConstruct %main_out %66
%65 = OpFunctionCall %void %tint_symbol_2 %67
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 636
; Bound: 633
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -129,9 +127,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%int_100 = OpConstant %int 100
%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
%624 = OpTypeFunction %void %main_out
%621 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12
%15 = OpLabel
%m23 = OpVariable %_ptr_Function_mat2v3float Function %20
@ -773,415 +771,405 @@ SKIP: FAILED
%452 = OpLabel
%456 = OpLoad %int %x_GLF_global_loop_count
%458 = OpSLessThan %bool %456 %int_98
OpSelectionMerge %459 None
OpBranchConditional %458 %460 %461
%460 = OpLabel
OpBranch %459
%461 = OpLabel
OpBranch %451
%459 = OpLabel
OpBranch %450
OpBranchConditional %458 %450 %451
%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
%464 = OpAccessChain %_ptr_Function_float %m23 %462 %463
OpStore %464 %float_1
%464 = OpLoad %int %i_37
%465 = OpAccessChain %_ptr_Function_float %m24 %463 %464
OpStore %465 %float_1
%466 = 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
%469 = 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
%472 = 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
%475 = 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
%478 = 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
%481 = 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
%484 = OpLoad %int %i_37
%485 = OpLoad %int %i_37
%486 = OpAccessChain %_ptr_Function_float %m44 %484 %485
OpStore %486 %float_1
OpBranch %443
%443 = OpLabel
%487 = OpLoad %int %i_37
%488 = OpIAdd %int %487 %int_1
OpStore %i_37 %488
%484 = OpLoad %int %i_37
%485 = OpIAdd %int %484 %int_1
OpStore %i_37 %485
OpBranch %441
%442 = OpLabel
OpBranch %434
%434 = OpLabel
%489 = OpLoad %int %i_36
%490 = OpIAdd %int %489 %int_1
OpStore %i_36 %490
%486 = OpLoad %int %i_36
%487 = OpIAdd %int %486 %int_1
OpStore %i_36 %487
OpBranch %432
%433 = OpLabel
OpBranch %425
%425 = OpLabel
%491 = OpLoad %int %i_35
%492 = OpIAdd %int %491 %int_1
OpStore %i_35 %492
%488 = OpLoad %int %i_35
%489 = OpIAdd %int %488 %int_1
OpStore %i_35 %489
OpBranch %423
%424 = OpLabel
OpBranch %416
%416 = OpLabel
%493 = OpLoad %int %i_34
%494 = OpIAdd %int %493 %int_1
OpStore %i_34 %494
%490 = OpLoad %int %i_34
%491 = OpIAdd %int %490 %int_1
OpStore %i_34 %491
OpBranch %414
%415 = OpLabel
OpBranch %407
%407 = OpLabel
%495 = OpLoad %int %i_33
%496 = OpIAdd %int %495 %int_1
OpStore %i_33 %496
%492 = OpLoad %int %i_33
%493 = OpIAdd %int %492 %int_1
OpStore %i_33 %493
OpBranch %405
%406 = OpLabel
OpBranch %398
%398 = OpLabel
%497 = OpLoad %int %i_32
%498 = OpIAdd %int %497 %int_1
OpStore %i_32 %498
%494 = OpLoad %int %i_32
%495 = OpIAdd %int %494 %int_1
OpStore %i_32 %495
OpBranch %396
%397 = OpLabel
OpBranch %389
%389 = OpLabel
%499 = OpLoad %int %i_31
%500 = OpIAdd %int %499 %int_1
OpStore %i_31 %500
%496 = OpLoad %int %i_31
%497 = OpIAdd %int %496 %int_1
OpStore %i_31 %497
OpBranch %387
%388 = OpLabel
OpBranch %380
%380 = OpLabel
%501 = OpLoad %int %i_30
%502 = OpIAdd %int %501 %int_1
OpStore %i_30 %502
%498 = OpLoad %int %i_30
%499 = OpIAdd %int %498 %int_1
OpStore %i_30 %499
OpBranch %378
%379 = OpLabel
OpBranch %371
%371 = OpLabel
%503 = OpLoad %int %i_29
%504 = OpIAdd %int %503 %int_1
OpStore %i_29 %504
%500 = OpLoad %int %i_29
%501 = OpIAdd %int %500 %int_1
OpStore %i_29 %501
OpBranch %369
%370 = OpLabel
OpBranch %362
%362 = OpLabel
%505 = OpLoad %int %i_28
%506 = OpIAdd %int %505 %int_1
OpStore %i_28 %506
%502 = OpLoad %int %i_28
%503 = OpIAdd %int %502 %int_1
OpStore %i_28 %503
OpBranch %360
%361 = OpLabel
OpBranch %353
%353 = OpLabel
%507 = OpLoad %int %i_27
%508 = OpIAdd %int %507 %int_1
OpStore %i_27 %508
%504 = OpLoad %int %i_27
%505 = OpIAdd %int %504 %int_1
OpStore %i_27 %505
OpBranch %351
%352 = OpLabel
OpBranch %344
%344 = OpLabel
%509 = OpLoad %int %i_26
%510 = OpIAdd %int %509 %int_1
OpStore %i_26 %510
%506 = OpLoad %int %i_26
%507 = OpIAdd %int %506 %int_1
OpStore %i_26 %507
OpBranch %342
%343 = OpLabel
OpBranch %335
%335 = OpLabel
%511 = OpLoad %int %i_25
%512 = OpIAdd %int %511 %int_1
OpStore %i_25 %512
%508 = OpLoad %int %i_25
%509 = OpIAdd %int %508 %int_1
OpStore %i_25 %509
OpBranch %333
%334 = OpLabel
OpBranch %326
%326 = OpLabel
%513 = OpLoad %int %i_24
%514 = OpIAdd %int %513 %int_1
OpStore %i_24 %514
%510 = OpLoad %int %i_24
%511 = OpIAdd %int %510 %int_1
OpStore %i_24 %511
OpBranch %324
%325 = OpLabel
OpBranch %317
%317 = OpLabel
%515 = OpLoad %int %i_23
%516 = OpIAdd %int %515 %int_1
OpStore %i_23 %516
%512 = OpLoad %int %i_23
%513 = OpIAdd %int %512 %int_1
OpStore %i_23 %513
OpBranch %315
%316 = OpLabel
OpBranch %308
%308 = OpLabel
%517 = OpLoad %int %i_22
%518 = OpIAdd %int %517 %int_1
OpStore %i_22 %518
%514 = OpLoad %int %i_22
%515 = OpIAdd %int %514 %int_1
OpStore %i_22 %515
OpBranch %306
%307 = OpLabel
OpBranch %299
%299 = OpLabel
%519 = OpLoad %int %i_21
%520 = OpIAdd %int %519 %int_1
OpStore %i_21 %520
%516 = OpLoad %int %i_21
%517 = OpIAdd %int %516 %int_1
OpStore %i_21 %517
OpBranch %297
%298 = OpLabel
OpBranch %290
%290 = OpLabel
%521 = OpLoad %int %i_20
%522 = OpIAdd %int %521 %int_1
OpStore %i_20 %522
%518 = OpLoad %int %i_20
%519 = OpIAdd %int %518 %int_1
OpStore %i_20 %519
OpBranch %288
%289 = OpLabel
OpBranch %281
%281 = OpLabel
%523 = OpLoad %int %i_19
%524 = OpIAdd %int %523 %int_1
OpStore %i_19 %524
%520 = OpLoad %int %i_19
%521 = OpIAdd %int %520 %int_1
OpStore %i_19 %521
OpBranch %279
%280 = OpLabel
OpBranch %272
%272 = OpLabel
%525 = OpLoad %int %i_18
%526 = OpIAdd %int %525 %int_1
OpStore %i_18 %526
%522 = OpLoad %int %i_18
%523 = OpIAdd %int %522 %int_1
OpStore %i_18 %523
OpBranch %270
%271 = OpLabel
OpBranch %263
%263 = OpLabel
%527 = OpLoad %int %i_17
%528 = OpIAdd %int %527 %int_1
OpStore %i_17 %528
%524 = OpLoad %int %i_17
%525 = OpIAdd %int %524 %int_1
OpStore %i_17 %525
OpBranch %261
%262 = OpLabel
OpBranch %254
%254 = OpLabel
%529 = OpLoad %int %i_16
%530 = OpIAdd %int %529 %int_1
OpStore %i_16 %530
%526 = OpLoad %int %i_16
%527 = OpIAdd %int %526 %int_1
OpStore %i_16 %527
OpBranch %252
%253 = OpLabel
OpBranch %245
%245 = OpLabel
%531 = OpLoad %int %i_15
%532 = OpIAdd %int %531 %int_1
OpStore %i_15 %532
%528 = OpLoad %int %i_15
%529 = OpIAdd %int %528 %int_1
OpStore %i_15 %529
OpBranch %243
%244 = OpLabel
OpBranch %236
%236 = OpLabel
%533 = OpLoad %int %i_14
%534 = OpIAdd %int %533 %int_1
OpStore %i_14 %534
%530 = OpLoad %int %i_14
%531 = OpIAdd %int %530 %int_1
OpStore %i_14 %531
OpBranch %234
%235 = OpLabel
OpBranch %227
%227 = OpLabel
%535 = OpLoad %int %i_13
%536 = OpIAdd %int %535 %int_1
OpStore %i_13 %536
%532 = OpLoad %int %i_13
%533 = OpIAdd %int %532 %int_1
OpStore %i_13 %533
OpBranch %225
%226 = OpLabel
OpBranch %218
%218 = OpLabel
%537 = OpLoad %int %i_12
%538 = OpIAdd %int %537 %int_1
OpStore %i_12 %538
%534 = OpLoad %int %i_12
%535 = OpIAdd %int %534 %int_1
OpStore %i_12 %535
OpBranch %216
%217 = OpLabel
OpBranch %209
%209 = OpLabel
%539 = OpLoad %int %i_11
%540 = OpIAdd %int %539 %int_1
OpStore %i_11 %540
%536 = OpLoad %int %i_11
%537 = OpIAdd %int %536 %int_1
OpStore %i_11 %537
OpBranch %207
%208 = OpLabel
OpBranch %200
%200 = OpLabel
%541 = OpLoad %int %i_10
%542 = OpIAdd %int %541 %int_1
OpStore %i_10 %542
%538 = OpLoad %int %i_10
%539 = OpIAdd %int %538 %int_1
OpStore %i_10 %539
OpBranch %198
%199 = OpLabel
OpBranch %191
%191 = OpLabel
%543 = OpLoad %int %i_9
%544 = OpIAdd %int %543 %int_1
OpStore %i_9 %544
%540 = OpLoad %int %i_9
%541 = OpIAdd %int %540 %int_1
OpStore %i_9 %541
OpBranch %189
%190 = OpLabel
OpBranch %182
%182 = OpLabel
%545 = OpLoad %int %i_8
%546 = OpIAdd %int %545 %int_1
OpStore %i_8 %546
%542 = OpLoad %int %i_8
%543 = OpIAdd %int %542 %int_1
OpStore %i_8 %543
OpBranch %180
%181 = OpLabel
OpBranch %173
%173 = OpLabel
%547 = OpLoad %int %i_7
%548 = OpIAdd %int %547 %int_1
OpStore %i_7 %548
%544 = OpLoad %int %i_7
%545 = OpIAdd %int %544 %int_1
OpStore %i_7 %545
OpBranch %171
%172 = OpLabel
OpBranch %164
%164 = OpLabel
%549 = OpLoad %int %i_6
%550 = OpIAdd %int %549 %int_1
OpStore %i_6 %550
%546 = OpLoad %int %i_6
%547 = OpIAdd %int %546 %int_1
OpStore %i_6 %547
OpBranch %162
%163 = OpLabel
OpBranch %155
%155 = OpLabel
%551 = OpLoad %int %i_5
%552 = OpIAdd %int %551 %int_1
OpStore %i_5 %552
%548 = OpLoad %int %i_5
%549 = OpIAdd %int %548 %int_1
OpStore %i_5 %549
OpBranch %153
%154 = OpLabel
OpBranch %146
%146 = OpLabel
%553 = OpLoad %int %i_4
%554 = OpIAdd %int %553 %int_1
OpStore %i_4 %554
%550 = OpLoad %int %i_4
%551 = OpIAdd %int %550 %int_1
OpStore %i_4 %551
OpBranch %144
%145 = OpLabel
OpBranch %137
%137 = OpLabel
%555 = OpLoad %int %i_3
%556 = OpIAdd %int %555 %int_1
OpStore %i_3 %556
%552 = OpLoad %int %i_3
%553 = OpIAdd %int %552 %int_1
OpStore %i_3 %553
OpBranch %135
%136 = OpLabel
OpBranch %128
%128 = OpLabel
%557 = OpLoad %int %i_2
%558 = OpIAdd %int %557 %int_1
OpStore %i_2 %558
%554 = OpLoad %int %i_2
%555 = OpIAdd %int %554 %int_1
OpStore %i_2 %555
OpBranch %126
%127 = OpLabel
OpBranch %119
%119 = OpLabel
%559 = OpLoad %int %i_1
%560 = OpIAdd %int %559 %int_1
OpStore %i_1 %560
%556 = OpLoad %int %i_1
%557 = OpIAdd %int %556 %int_1
OpStore %i_1 %557
OpBranch %117
%118 = OpLabel
OpBranch %108
%108 = OpLabel
%561 = OpLoad %int %i
%562 = OpIAdd %int %561 %int_1
OpStore %i %562
%558 = OpLoad %int %i
%559 = OpIAdd %int %558 %int_1
OpStore %i %559
OpBranch %106
%107 = OpLabel
OpStore %sum %float_0
OpStore %r %int_0
OpBranch %560
%560 = OpLabel
OpLoopMerge %561 %562 None
OpBranch %563
%563 = OpLabel
OpLoopMerge %564 %565 None
OpBranch %566
%566 = OpLabel
%567 = OpLoad %int %x_GLF_global_loop_count
%569 = OpSLessThan %bool %567 %int_100
OpSelectionMerge %570 None
OpBranchConditional %569 %571 %572
%571 = OpLabel
OpBranch %570
%572 = OpLabel
OpBranch %564
%570 = OpLabel
%573 = OpLoad %int %x_GLF_global_loop_count
%574 = OpIAdd %int %573 %int_1
OpStore %x_GLF_global_loop_count %574
%575 = OpLoad %int %r
%576 = OpAccessChain %_ptr_Function_float %m23 %int_0 %575
%577 = OpLoad %float %576
%578 = OpLoad %float %sum
%579 = OpFAdd %float %578 %577
OpStore %sum %579
%580 = OpLoad %int %r
%581 = OpAccessChain %_ptr_Function_float %m24 %int_0 %580
%582 = OpLoad %float %581
%583 = OpLoad %float %sum
%584 = OpFAdd %float %583 %582
OpStore %sum %584
%585 = OpLoad %int %r
%586 = OpAccessChain %_ptr_Function_float %m32 %int_0 %585
%587 = OpLoad %float %586
%588 = OpLoad %float %sum
%589 = OpFAdd %float %588 %587
OpStore %sum %589
%590 = OpLoad %int %r
%591 = OpAccessChain %_ptr_Function_float %m33 %int_0 %590
%592 = OpLoad %float %591
%593 = OpLoad %float %sum
%594 = OpFAdd %float %593 %592
OpStore %sum %594
%595 = OpLoad %int %r
%596 = OpAccessChain %_ptr_Function_float %m34 %int_0 %595
%597 = OpLoad %float %596
%598 = OpLoad %float %sum
%599 = OpFAdd %float %598 %597
OpStore %sum %599
%600 = OpLoad %int %r
%601 = OpAccessChain %_ptr_Function_float %m42 %int_0 %600
%602 = OpLoad %float %601
%603 = OpLoad %float %sum
%604 = OpFAdd %float %603 %602
OpStore %sum %604
%605 = OpLoad %int %r
%606 = OpAccessChain %_ptr_Function_float %m43 %int_0 %605
%607 = OpLoad %float %606
%608 = OpLoad %float %sum
%609 = OpFAdd %float %608 %607
OpStore %sum %609
%610 = OpLoad %int %r
%611 = OpAccessChain %_ptr_Function_float %m44 %int_0 %610
%612 = OpLoad %float %611
%613 = OpLoad %float %sum
%614 = OpFAdd %float %613 %612
OpStore %sum %614
OpBranch %565
%565 = OpLabel
%615 = OpLoad %int %r
%616 = OpIAdd %int %615 %int_1
OpStore %r %616
OpBranch %563
%564 = OpLabel
%617 = OpLoad %float %sum
%619 = OpFOrdEqual %bool %617 %float_8
OpSelectionMerge %620 None
OpBranchConditional %619 %621 %622
%621 = OpLabel
OpStore %x_GLF_color %623
OpBranch %620
%622 = OpLabel
%564 = OpLoad %int %x_GLF_global_loop_count
%566 = OpSLessThan %bool %564 %int_100
OpSelectionMerge %567 None
OpBranchConditional %566 %568 %569
%568 = OpLabel
OpBranch %567
%569 = OpLabel
OpBranch %561
%567 = OpLabel
%570 = OpLoad %int %x_GLF_global_loop_count
%571 = OpIAdd %int %570 %int_1
OpStore %x_GLF_global_loop_count %571
%572 = OpLoad %int %r
%573 = OpAccessChain %_ptr_Function_float %m23 %int_0 %572
%574 = OpLoad %float %573
%575 = OpLoad %float %sum
%576 = OpFAdd %float %575 %574
OpStore %sum %576
%577 = OpLoad %int %r
%578 = OpAccessChain %_ptr_Function_float %m24 %int_0 %577
%579 = OpLoad %float %578
%580 = OpLoad %float %sum
%581 = OpFAdd %float %580 %579
OpStore %sum %581
%582 = OpLoad %int %r
%583 = OpAccessChain %_ptr_Function_float %m32 %int_0 %582
%584 = OpLoad %float %583
%585 = OpLoad %float %sum
%586 = OpFAdd %float %585 %584
OpStore %sum %586
%587 = OpLoad %int %r
%588 = OpAccessChain %_ptr_Function_float %m33 %int_0 %587
%589 = OpLoad %float %588
%590 = OpLoad %float %sum
%591 = OpFAdd %float %590 %589
OpStore %sum %591
%592 = OpLoad %int %r
%593 = OpAccessChain %_ptr_Function_float %m34 %int_0 %592
%594 = OpLoad %float %593
%595 = OpLoad %float %sum
%596 = OpFAdd %float %595 %594
OpStore %sum %596
%597 = OpLoad %int %r
%598 = OpAccessChain %_ptr_Function_float %m42 %int_0 %597
%599 = OpLoad %float %598
%600 = OpLoad %float %sum
%601 = OpFAdd %float %600 %599
OpStore %sum %601
%602 = OpLoad %int %r
%603 = OpAccessChain %_ptr_Function_float %m43 %int_0 %602
%604 = OpLoad %float %603
%605 = OpLoad %float %sum
%606 = OpFAdd %float %605 %604
OpStore %sum %606
%607 = OpLoad %int %r
%608 = OpAccessChain %_ptr_Function_float %m44 %int_0 %607
%609 = OpLoad %float %608
%610 = OpLoad %float %sum
%611 = OpFAdd %float %610 %609
OpStore %sum %611
OpBranch %562
%562 = OpLabel
%612 = OpLoad %int %r
%613 = OpIAdd %int %612 %int_1
OpStore %r %613
OpBranch %560
%561 = OpLabel
%614 = OpLoad %float %sum
%616 = OpFOrdEqual %bool %614 %float_8
OpSelectionMerge %617 None
OpBranchConditional %616 %618 %619
%618 = OpLabel
OpStore %x_GLF_color %620
OpBranch %617
%619 = OpLabel
OpStore %x_GLF_color %97
OpBranch %620
%620 = OpLabel
OpBranch %617
%617 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %624
%tint_symbol_2 = OpFunction %void None %621
%tint_symbol = OpFunctionParameter %main_out
%628 = OpLabel
%629 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %629
%625 = OpLabel
%626 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %626
OpReturn
OpFunctionEnd
%main = OpFunction %void None %12
%631 = OpLabel
%632 = OpFunctionCall %void %main_1
%634 = OpLoad %v4float %x_GLF_color
%635 = OpCompositeConstruct %main_out %634
%633 = OpFunctionCall %void %tint_symbol_2 %635
%628 = OpLabel
%629 = OpFunctionCall %void %main_1
%631 = OpLoad %v4float %x_GLF_color
%632 = OpCompositeConstruct %main_out %631
%630 = OpFunctionCall %void %tint_symbol_2 %632
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 636
; Bound: 633
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -129,9 +127,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%int_100 = OpConstant %int 100
%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
%624 = OpTypeFunction %void %main_out
%621 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12
%15 = OpLabel
%m23 = OpVariable %_ptr_Function_mat2v3float Function %20
@ -773,415 +771,405 @@ SKIP: FAILED
%452 = OpLabel
%456 = OpLoad %int %x_GLF_global_loop_count
%458 = OpSLessThan %bool %456 %int_98
OpSelectionMerge %459 None
OpBranchConditional %458 %460 %461
%460 = OpLabel
OpBranch %459
%461 = OpLabel
OpBranch %451
%459 = OpLabel
OpBranch %450
OpBranchConditional %458 %450 %451
%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
%464 = OpAccessChain %_ptr_Function_float %m23 %462 %463
OpStore %464 %float_1
%464 = OpLoad %int %i_37
%465 = OpAccessChain %_ptr_Function_float %m24 %463 %464
OpStore %465 %float_1
%466 = 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
%469 = 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
%472 = 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
%475 = 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
%478 = 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
%481 = 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
%484 = OpLoad %int %i_37
%485 = OpLoad %int %i_37
%486 = OpAccessChain %_ptr_Function_float %m44 %484 %485
OpStore %486 %float_1
OpBranch %443
%443 = OpLabel
%487 = OpLoad %int %i_37
%488 = OpIAdd %int %487 %int_1
OpStore %i_37 %488
%484 = OpLoad %int %i_37
%485 = OpIAdd %int %484 %int_1
OpStore %i_37 %485
OpBranch %441
%442 = OpLabel
OpBranch %434
%434 = OpLabel
%489 = OpLoad %int %i_36
%490 = OpIAdd %int %489 %int_1
OpStore %i_36 %490
%486 = OpLoad %int %i_36
%487 = OpIAdd %int %486 %int_1
OpStore %i_36 %487
OpBranch %432
%433 = OpLabel
OpBranch %425
%425 = OpLabel
%491 = OpLoad %int %i_35
%492 = OpIAdd %int %491 %int_1
OpStore %i_35 %492
%488 = OpLoad %int %i_35
%489 = OpIAdd %int %488 %int_1
OpStore %i_35 %489
OpBranch %423
%424 = OpLabel
OpBranch %416
%416 = OpLabel
%493 = OpLoad %int %i_34
%494 = OpIAdd %int %493 %int_1
OpStore %i_34 %494
%490 = OpLoad %int %i_34
%491 = OpIAdd %int %490 %int_1
OpStore %i_34 %491
OpBranch %414
%415 = OpLabel
OpBranch %407
%407 = OpLabel
%495 = OpLoad %int %i_33
%496 = OpIAdd %int %495 %int_1
OpStore %i_33 %496
%492 = OpLoad %int %i_33
%493 = OpIAdd %int %492 %int_1
OpStore %i_33 %493
OpBranch %405
%406 = OpLabel
OpBranch %398
%398 = OpLabel
%497 = OpLoad %int %i_32
%498 = OpIAdd %int %497 %int_1
OpStore %i_32 %498
%494 = OpLoad %int %i_32
%495 = OpIAdd %int %494 %int_1
OpStore %i_32 %495
OpBranch %396
%397 = OpLabel
OpBranch %389
%389 = OpLabel
%499 = OpLoad %int %i_31
%500 = OpIAdd %int %499 %int_1
OpStore %i_31 %500
%496 = OpLoad %int %i_31
%497 = OpIAdd %int %496 %int_1
OpStore %i_31 %497
OpBranch %387
%388 = OpLabel
OpBranch %380
%380 = OpLabel
%501 = OpLoad %int %i_30
%502 = OpIAdd %int %501 %int_1
OpStore %i_30 %502
%498 = OpLoad %int %i_30
%499 = OpIAdd %int %498 %int_1
OpStore %i_30 %499
OpBranch %378
%379 = OpLabel
OpBranch %371
%371 = OpLabel
%503 = OpLoad %int %i_29
%504 = OpIAdd %int %503 %int_1
OpStore %i_29 %504
%500 = OpLoad %int %i_29
%501 = OpIAdd %int %500 %int_1
OpStore %i_29 %501
OpBranch %369
%370 = OpLabel
OpBranch %362
%362 = OpLabel
%505 = OpLoad %int %i_28
%506 = OpIAdd %int %505 %int_1
OpStore %i_28 %506
%502 = OpLoad %int %i_28
%503 = OpIAdd %int %502 %int_1
OpStore %i_28 %503
OpBranch %360
%361 = OpLabel
OpBranch %353
%353 = OpLabel
%507 = OpLoad %int %i_27
%508 = OpIAdd %int %507 %int_1
OpStore %i_27 %508
%504 = OpLoad %int %i_27
%505 = OpIAdd %int %504 %int_1
OpStore %i_27 %505
OpBranch %351
%352 = OpLabel
OpBranch %344
%344 = OpLabel
%509 = OpLoad %int %i_26
%510 = OpIAdd %int %509 %int_1
OpStore %i_26 %510
%506 = OpLoad %int %i_26
%507 = OpIAdd %int %506 %int_1
OpStore %i_26 %507
OpBranch %342
%343 = OpLabel
OpBranch %335
%335 = OpLabel
%511 = OpLoad %int %i_25
%512 = OpIAdd %int %511 %int_1
OpStore %i_25 %512
%508 = OpLoad %int %i_25
%509 = OpIAdd %int %508 %int_1
OpStore %i_25 %509
OpBranch %333
%334 = OpLabel
OpBranch %326
%326 = OpLabel
%513 = OpLoad %int %i_24
%514 = OpIAdd %int %513 %int_1
OpStore %i_24 %514
%510 = OpLoad %int %i_24
%511 = OpIAdd %int %510 %int_1
OpStore %i_24 %511
OpBranch %324
%325 = OpLabel
OpBranch %317
%317 = OpLabel
%515 = OpLoad %int %i_23
%516 = OpIAdd %int %515 %int_1
OpStore %i_23 %516
%512 = OpLoad %int %i_23
%513 = OpIAdd %int %512 %int_1
OpStore %i_23 %513
OpBranch %315
%316 = OpLabel
OpBranch %308
%308 = OpLabel
%517 = OpLoad %int %i_22
%518 = OpIAdd %int %517 %int_1
OpStore %i_22 %518
%514 = OpLoad %int %i_22
%515 = OpIAdd %int %514 %int_1
OpStore %i_22 %515
OpBranch %306
%307 = OpLabel
OpBranch %299
%299 = OpLabel
%519 = OpLoad %int %i_21
%520 = OpIAdd %int %519 %int_1
OpStore %i_21 %520
%516 = OpLoad %int %i_21
%517 = OpIAdd %int %516 %int_1
OpStore %i_21 %517
OpBranch %297
%298 = OpLabel
OpBranch %290
%290 = OpLabel
%521 = OpLoad %int %i_20
%522 = OpIAdd %int %521 %int_1
OpStore %i_20 %522
%518 = OpLoad %int %i_20
%519 = OpIAdd %int %518 %int_1
OpStore %i_20 %519
OpBranch %288
%289 = OpLabel
OpBranch %281
%281 = OpLabel
%523 = OpLoad %int %i_19
%524 = OpIAdd %int %523 %int_1
OpStore %i_19 %524
%520 = OpLoad %int %i_19
%521 = OpIAdd %int %520 %int_1
OpStore %i_19 %521
OpBranch %279
%280 = OpLabel
OpBranch %272
%272 = OpLabel
%525 = OpLoad %int %i_18
%526 = OpIAdd %int %525 %int_1
OpStore %i_18 %526
%522 = OpLoad %int %i_18
%523 = OpIAdd %int %522 %int_1
OpStore %i_18 %523
OpBranch %270
%271 = OpLabel
OpBranch %263
%263 = OpLabel
%527 = OpLoad %int %i_17
%528 = OpIAdd %int %527 %int_1
OpStore %i_17 %528
%524 = OpLoad %int %i_17
%525 = OpIAdd %int %524 %int_1
OpStore %i_17 %525
OpBranch %261
%262 = OpLabel
OpBranch %254
%254 = OpLabel
%529 = OpLoad %int %i_16
%530 = OpIAdd %int %529 %int_1
OpStore %i_16 %530
%526 = OpLoad %int %i_16
%527 = OpIAdd %int %526 %int_1
OpStore %i_16 %527
OpBranch %252
%253 = OpLabel
OpBranch %245
%245 = OpLabel
%531 = OpLoad %int %i_15
%532 = OpIAdd %int %531 %int_1
OpStore %i_15 %532
%528 = OpLoad %int %i_15
%529 = OpIAdd %int %528 %int_1
OpStore %i_15 %529
OpBranch %243
%244 = OpLabel
OpBranch %236
%236 = OpLabel
%533 = OpLoad %int %i_14
%534 = OpIAdd %int %533 %int_1
OpStore %i_14 %534
%530 = OpLoad %int %i_14
%531 = OpIAdd %int %530 %int_1
OpStore %i_14 %531
OpBranch %234
%235 = OpLabel
OpBranch %227
%227 = OpLabel
%535 = OpLoad %int %i_13
%536 = OpIAdd %int %535 %int_1
OpStore %i_13 %536
%532 = OpLoad %int %i_13
%533 = OpIAdd %int %532 %int_1
OpStore %i_13 %533
OpBranch %225
%226 = OpLabel
OpBranch %218
%218 = OpLabel
%537 = OpLoad %int %i_12
%538 = OpIAdd %int %537 %int_1
OpStore %i_12 %538
%534 = OpLoad %int %i_12
%535 = OpIAdd %int %534 %int_1
OpStore %i_12 %535
OpBranch %216
%217 = OpLabel
OpBranch %209
%209 = OpLabel
%539 = OpLoad %int %i_11
%540 = OpIAdd %int %539 %int_1
OpStore %i_11 %540
%536 = OpLoad %int %i_11
%537 = OpIAdd %int %536 %int_1
OpStore %i_11 %537
OpBranch %207
%208 = OpLabel
OpBranch %200
%200 = OpLabel
%541 = OpLoad %int %i_10
%542 = OpIAdd %int %541 %int_1
OpStore %i_10 %542
%538 = OpLoad %int %i_10
%539 = OpIAdd %int %538 %int_1
OpStore %i_10 %539
OpBranch %198
%199 = OpLabel
OpBranch %191
%191 = OpLabel
%543 = OpLoad %int %i_9
%544 = OpIAdd %int %543 %int_1
OpStore %i_9 %544
%540 = OpLoad %int %i_9
%541 = OpIAdd %int %540 %int_1
OpStore %i_9 %541
OpBranch %189
%190 = OpLabel
OpBranch %182
%182 = OpLabel
%545 = OpLoad %int %i_8
%546 = OpIAdd %int %545 %int_1
OpStore %i_8 %546
%542 = OpLoad %int %i_8
%543 = OpIAdd %int %542 %int_1
OpStore %i_8 %543
OpBranch %180
%181 = OpLabel
OpBranch %173
%173 = OpLabel
%547 = OpLoad %int %i_7
%548 = OpIAdd %int %547 %int_1
OpStore %i_7 %548
%544 = OpLoad %int %i_7
%545 = OpIAdd %int %544 %int_1
OpStore %i_7 %545
OpBranch %171
%172 = OpLabel
OpBranch %164
%164 = OpLabel
%549 = OpLoad %int %i_6
%550 = OpIAdd %int %549 %int_1
OpStore %i_6 %550
%546 = OpLoad %int %i_6
%547 = OpIAdd %int %546 %int_1
OpStore %i_6 %547
OpBranch %162
%163 = OpLabel
OpBranch %155
%155 = OpLabel
%551 = OpLoad %int %i_5
%552 = OpIAdd %int %551 %int_1
OpStore %i_5 %552
%548 = OpLoad %int %i_5
%549 = OpIAdd %int %548 %int_1
OpStore %i_5 %549
OpBranch %153
%154 = OpLabel
OpBranch %146
%146 = OpLabel
%553 = OpLoad %int %i_4
%554 = OpIAdd %int %553 %int_1
OpStore %i_4 %554
%550 = OpLoad %int %i_4
%551 = OpIAdd %int %550 %int_1
OpStore %i_4 %551
OpBranch %144
%145 = OpLabel
OpBranch %137
%137 = OpLabel
%555 = OpLoad %int %i_3
%556 = OpIAdd %int %555 %int_1
OpStore %i_3 %556
%552 = OpLoad %int %i_3
%553 = OpIAdd %int %552 %int_1
OpStore %i_3 %553
OpBranch %135
%136 = OpLabel
OpBranch %128
%128 = OpLabel
%557 = OpLoad %int %i_2
%558 = OpIAdd %int %557 %int_1
OpStore %i_2 %558
%554 = OpLoad %int %i_2
%555 = OpIAdd %int %554 %int_1
OpStore %i_2 %555
OpBranch %126
%127 = OpLabel
OpBranch %119
%119 = OpLabel
%559 = OpLoad %int %i_1
%560 = OpIAdd %int %559 %int_1
OpStore %i_1 %560
%556 = OpLoad %int %i_1
%557 = OpIAdd %int %556 %int_1
OpStore %i_1 %557
OpBranch %117
%118 = OpLabel
OpBranch %108
%108 = OpLabel
%561 = OpLoad %int %i
%562 = OpIAdd %int %561 %int_1
OpStore %i %562
%558 = OpLoad %int %i
%559 = OpIAdd %int %558 %int_1
OpStore %i %559
OpBranch %106
%107 = OpLabel
OpStore %sum %float_0
OpStore %r %int_0
OpBranch %560
%560 = OpLabel
OpLoopMerge %561 %562 None
OpBranch %563
%563 = OpLabel
OpLoopMerge %564 %565 None
OpBranch %566
%566 = OpLabel
%567 = OpLoad %int %x_GLF_global_loop_count
%569 = OpSLessThan %bool %567 %int_100
OpSelectionMerge %570 None
OpBranchConditional %569 %571 %572
%571 = OpLabel
OpBranch %570
%572 = OpLabel
OpBranch %564
%570 = OpLabel
%573 = OpLoad %int %x_GLF_global_loop_count
%574 = OpIAdd %int %573 %int_1
OpStore %x_GLF_global_loop_count %574
%575 = OpLoad %int %r
%576 = OpAccessChain %_ptr_Function_float %m23 %int_0 %575
%577 = OpLoad %float %576
%578 = OpLoad %float %sum
%579 = OpFAdd %float %578 %577
OpStore %sum %579
%580 = OpLoad %int %r
%581 = OpAccessChain %_ptr_Function_float %m24 %int_0 %580
%582 = OpLoad %float %581
%583 = OpLoad %float %sum
%584 = OpFAdd %float %583 %582
OpStore %sum %584
%585 = OpLoad %int %r
%586 = OpAccessChain %_ptr_Function_float %m32 %int_0 %585
%587 = OpLoad %float %586
%588 = OpLoad %float %sum
%589 = OpFAdd %float %588 %587
OpStore %sum %589
%590 = OpLoad %int %r
%591 = OpAccessChain %_ptr_Function_float %m33 %int_0 %590
%592 = OpLoad %float %591
%593 = OpLoad %float %sum
%594 = OpFAdd %float %593 %592
OpStore %sum %594
%595 = OpLoad %int %r
%596 = OpAccessChain %_ptr_Function_float %m34 %int_0 %595
%597 = OpLoad %float %596
%598 = OpLoad %float %sum
%599 = OpFAdd %float %598 %597
OpStore %sum %599
%600 = OpLoad %int %r
%601 = OpAccessChain %_ptr_Function_float %m42 %int_0 %600
%602 = OpLoad %float %601
%603 = OpLoad %float %sum
%604 = OpFAdd %float %603 %602
OpStore %sum %604
%605 = OpLoad %int %r
%606 = OpAccessChain %_ptr_Function_float %m43 %int_0 %605
%607 = OpLoad %float %606
%608 = OpLoad %float %sum
%609 = OpFAdd %float %608 %607
OpStore %sum %609
%610 = OpLoad %int %r
%611 = OpAccessChain %_ptr_Function_float %m44 %int_0 %610
%612 = OpLoad %float %611
%613 = OpLoad %float %sum
%614 = OpFAdd %float %613 %612
OpStore %sum %614
OpBranch %565
%565 = OpLabel
%615 = OpLoad %int %r
%616 = OpIAdd %int %615 %int_1
OpStore %r %616
OpBranch %563
%564 = OpLabel
%617 = OpLoad %float %sum
%619 = OpFOrdEqual %bool %617 %float_8
OpSelectionMerge %620 None
OpBranchConditional %619 %621 %622
%621 = OpLabel
OpStore %x_GLF_color %623
OpBranch %620
%622 = OpLabel
%564 = OpLoad %int %x_GLF_global_loop_count
%566 = OpSLessThan %bool %564 %int_100
OpSelectionMerge %567 None
OpBranchConditional %566 %568 %569
%568 = OpLabel
OpBranch %567
%569 = OpLabel
OpBranch %561
%567 = OpLabel
%570 = OpLoad %int %x_GLF_global_loop_count
%571 = OpIAdd %int %570 %int_1
OpStore %x_GLF_global_loop_count %571
%572 = OpLoad %int %r
%573 = OpAccessChain %_ptr_Function_float %m23 %int_0 %572
%574 = OpLoad %float %573
%575 = OpLoad %float %sum
%576 = OpFAdd %float %575 %574
OpStore %sum %576
%577 = OpLoad %int %r
%578 = OpAccessChain %_ptr_Function_float %m24 %int_0 %577
%579 = OpLoad %float %578
%580 = OpLoad %float %sum
%581 = OpFAdd %float %580 %579
OpStore %sum %581
%582 = OpLoad %int %r
%583 = OpAccessChain %_ptr_Function_float %m32 %int_0 %582
%584 = OpLoad %float %583
%585 = OpLoad %float %sum
%586 = OpFAdd %float %585 %584
OpStore %sum %586
%587 = OpLoad %int %r
%588 = OpAccessChain %_ptr_Function_float %m33 %int_0 %587
%589 = OpLoad %float %588
%590 = OpLoad %float %sum
%591 = OpFAdd %float %590 %589
OpStore %sum %591
%592 = OpLoad %int %r
%593 = OpAccessChain %_ptr_Function_float %m34 %int_0 %592
%594 = OpLoad %float %593
%595 = OpLoad %float %sum
%596 = OpFAdd %float %595 %594
OpStore %sum %596
%597 = OpLoad %int %r
%598 = OpAccessChain %_ptr_Function_float %m42 %int_0 %597
%599 = OpLoad %float %598
%600 = OpLoad %float %sum
%601 = OpFAdd %float %600 %599
OpStore %sum %601
%602 = OpLoad %int %r
%603 = OpAccessChain %_ptr_Function_float %m43 %int_0 %602
%604 = OpLoad %float %603
%605 = OpLoad %float %sum
%606 = OpFAdd %float %605 %604
OpStore %sum %606
%607 = OpLoad %int %r
%608 = OpAccessChain %_ptr_Function_float %m44 %int_0 %607
%609 = OpLoad %float %608
%610 = OpLoad %float %sum
%611 = OpFAdd %float %610 %609
OpStore %sum %611
OpBranch %562
%562 = OpLabel
%612 = OpLoad %int %r
%613 = OpIAdd %int %612 %int_1
OpStore %r %613
OpBranch %560
%561 = OpLabel
%614 = OpLoad %float %sum
%616 = OpFOrdEqual %bool %614 %float_8
OpSelectionMerge %617 None
OpBranchConditional %616 %618 %619
%618 = OpLabel
OpStore %x_GLF_color %620
OpBranch %617
%619 = OpLabel
OpStore %x_GLF_color %97
OpBranch %620
%620 = OpLabel
OpBranch %617
%617 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %624
%tint_symbol_2 = OpFunction %void None %621
%tint_symbol = OpFunctionParameter %main_out
%628 = OpLabel
%629 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %629
%625 = OpLabel
%626 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %626
OpReturn
OpFunctionEnd
%main = OpFunction %void None %12
%631 = OpLabel
%632 = OpFunctionCall %void %main_1
%634 = OpLoad %v4float %x_GLF_color
%635 = OpCompositeConstruct %main_out %634
%633 = OpFunctionCall %void %tint_symbol_2 %635
%628 = OpLabel
%629 = OpFunctionCall %void %main_1
%631 = OpLoad %v4float %x_GLF_color
%632 = OpCompositeConstruct %main_out %631
%630 = OpFunctionCall %void %tint_symbol_2 %632
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 358
; Bound: 355
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -93,7 +91,7 @@ SKIP: FAILED
%int_3 = OpConstant %int 3
%int_100 = OpConstant %int 100
%main_out = OpTypeStruct %v4float
%346 = OpTypeFunction %void %main_out
%343 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %23
%26 = OpLabel
%f = OpVariable %_ptr_Function_float Function %29
@ -418,206 +416,196 @@ SKIP: FAILED
%261 = OpLoad %int %260
%263 = OpISub %int %int_100 %261
%264 = OpSLessThan %bool %258 %263
OpSelectionMerge %265 None
OpBranchConditional %264 %266 %267
%266 = OpLabel
OpBranch %265
%267 = OpLabel
OpBranch %253
%265 = OpLabel
OpBranch %252
OpBranchConditional %264 %252 %253
%253 = OpLabel
%268 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0
%269 = OpLoad %float %268
%270 = OpLoad %float %f
%271 = OpFAdd %float %270 %269
OpStore %f %271
%265 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0
%266 = OpLoad %float %265
%267 = OpLoad %float %f
%268 = OpFAdd %float %267 %266
OpStore %f %268
OpBranch %243
%243 = OpLabel
%272 = OpLoad %int %i_14
%273 = OpIAdd %int %272 %int_1
OpStore %i_14 %273
%269 = OpLoad %int %i_14
%270 = OpIAdd %int %269 %int_1
OpStore %i_14 %270
OpBranch %241
%242 = OpLabel
OpBranch %230
%230 = OpLabel
%274 = OpLoad %int %i_13
%275 = OpIAdd %int %274 %int_1
OpStore %i_13 %275
%271 = OpLoad %int %i_13
%272 = OpIAdd %int %271 %int_1
OpStore %i_13 %272
OpBranch %228
%229 = OpLabel
OpBranch %217
%217 = OpLabel
%276 = OpLoad %int %i_12
%277 = OpIAdd %int %276 %int_1
OpStore %i_12 %277
%273 = OpLoad %int %i_12
%274 = OpIAdd %int %273 %int_1
OpStore %i_12 %274
OpBranch %215
%216 = OpLabel
OpBranch %203
%203 = OpLabel
%278 = OpLoad %int %i_11
%279 = OpIAdd %int %278 %int_1
OpStore %i_11 %279
%275 = OpLoad %int %i_11
%276 = OpIAdd %int %275 %int_1
OpStore %i_11 %276
OpBranch %201
%202 = OpLabel
OpBranch %190
%190 = OpLabel
%280 = OpLoad %int %i_10
%281 = OpIAdd %int %280 %int_1
OpStore %i_10 %281
%277 = OpLoad %int %i_10
%278 = OpIAdd %int %277 %int_1
OpStore %i_10 %278
OpBranch %188
%189 = OpLabel
OpBranch %177
%177 = OpLabel
%282 = OpLoad %int %i_9
%283 = OpIAdd %int %282 %int_1
OpStore %i_9 %283
%279 = OpLoad %int %i_9
%280 = OpIAdd %int %279 %int_1
OpStore %i_9 %280
OpBranch %175
%176 = OpLabel
OpBranch %164
%164 = OpLabel
%284 = OpLoad %int %i_8
%285 = OpIAdd %int %284 %int_1
OpStore %i_8 %285
%281 = OpLoad %int %i_8
%282 = OpIAdd %int %281 %int_1
OpStore %i_8 %282
OpBranch %162
%163 = OpLabel
OpBranch %151
%151 = OpLabel
%286 = OpLoad %int %i_7
%287 = OpIAdd %int %286 %int_1
OpStore %i_7 %287
%283 = OpLoad %int %i_7
%284 = OpIAdd %int %283 %int_1
OpStore %i_7 %284
OpBranch %149
%150 = OpLabel
OpBranch %138
%138 = OpLabel
%288 = OpLoad %int %i_6
%289 = OpIAdd %int %288 %int_1
OpStore %i_6 %289
%285 = OpLoad %int %i_6
%286 = OpIAdd %int %285 %int_1
OpStore %i_6 %286
OpBranch %136
%137 = OpLabel
OpBranch %125
%125 = OpLabel
%290 = OpLoad %int %i_5
%291 = OpIAdd %int %290 %int_1
OpStore %i_5 %291
%287 = OpLoad %int %i_5
%288 = OpIAdd %int %287 %int_1
OpStore %i_5 %288
OpBranch %123
%124 = OpLabel
OpBranch %112
%112 = OpLabel
%292 = OpLoad %int %i_4
%293 = OpIAdd %int %292 %int_1
OpStore %i_4 %293
%289 = OpLoad %int %i_4
%290 = OpIAdd %int %289 %int_1
OpStore %i_4 %290
OpBranch %110
%111 = OpLabel
OpBranch %99
%99 = OpLabel
%294 = OpLoad %int %i_3
%295 = OpIAdd %int %294 %int_1
OpStore %i_3 %295
%291 = OpLoad %int %i_3
%292 = OpIAdd %int %291 %int_1
OpStore %i_3 %292
OpBranch %97
%98 = OpLabel
OpBranch %86
%86 = OpLabel
%296 = OpLoad %int %i_2
%297 = OpIAdd %int %296 %int_1
OpStore %i_2 %297
%293 = OpLoad %int %i_2
%294 = OpIAdd %int %293 %int_1
OpStore %i_2 %294
OpBranch %84
%85 = OpLabel
OpBranch %73
%73 = OpLabel
%298 = OpLoad %int %i_1
%299 = OpIAdd %int %298 %int_1
OpStore %i_1 %299
%295 = OpLoad %int %i_1
%296 = OpIAdd %int %295 %int_1
OpStore %i_1 %296
OpBranch %71
%72 = OpLabel
OpBranch %59
%59 = OpLabel
%300 = OpLoad %int %i
%301 = OpIAdd %int %300 %int_1
OpStore %i %301
%297 = OpLoad %int %i
%298 = OpIAdd %int %297 %int_1
OpStore %i %298
OpBranch %57
%58 = OpLabel
%302 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1
%303 = OpLoad %float %302
OpStore %sum %303
%304 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%305 = OpLoad %int %304
OpStore %r %305
%299 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1
%300 = OpLoad %float %299
OpStore %sum %300
%301 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%302 = OpLoad %int %301
OpStore %r %302
OpBranch %303
%303 = OpLabel
OpLoopMerge %304 %305 None
OpBranch %306
%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
%311 = OpLabel
OpBranch %304
%309 = OpLabel
%310 = OpLoad %int %x_GLF_global_loop_count
%311 = OpSLessThan %bool %310 %int_100
OpSelectionMerge %312 None
OpBranchConditional %311 %313 %314
%313 = OpLabel
OpBranch %312
%314 = OpLabel
OpBranch %307
%312 = OpLabel
%315 = OpLoad %int %x_GLF_global_loop_count
%316 = OpIAdd %int %315 %int_1
OpStore %x_GLF_global_loop_count %316
%317 = OpLoad %float %f
%318 = OpLoad %float %sum
%319 = OpFAdd %float %318 %317
OpStore %sum %319
OpBranch %308
%308 = OpLabel
%320 = OpLoad %int %r
%321 = OpIAdd %int %320 %int_1
OpStore %r %321
OpBranch %306
%307 = OpLabel
%322 = OpLoad %float %sum
%323 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_2
%324 = OpLoad %float %323
%325 = OpFOrdEqual %bool %322 %324
OpSelectionMerge %326 None
OpBranchConditional %325 %327 %328
%327 = OpLabel
%329 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%330 = OpLoad %int %329
%331 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%332 = OpLoad %int %331
%333 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%334 = OpLoad %int %333
%335 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%336 = OpLoad %int %335
%337 = OpConvertSToF %float %330
%338 = OpConvertSToF %float %332
%339 = OpConvertSToF %float %334
%340 = OpConvertSToF %float %336
%341 = OpCompositeConstruct %v4float %337 %338 %339 %340
OpStore %x_GLF_color %341
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
%312 = OpLoad %int %x_GLF_global_loop_count
%313 = OpIAdd %int %312 %int_1
OpStore %x_GLF_global_loop_count %313
%314 = OpLoad %float %f
%315 = OpLoad %float %sum
%316 = OpFAdd %float %315 %314
OpStore %sum %316
OpBranch %305
%305 = OpLabel
%317 = OpLoad %int %r
%318 = OpIAdd %int %317 %int_1
OpStore %r %318
OpBranch %303
%304 = OpLabel
%319 = OpLoad %float %sum
%320 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_2
%321 = OpLoad %float %320
%322 = OpFOrdEqual %bool %319 %321
OpSelectionMerge %323 None
OpBranchConditional %322 %324 %325
%324 = OpLabel
%326 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%327 = OpLoad %int %326
%328 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%329 = OpLoad %int %328
%330 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%331 = OpLoad %int %330
%332 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%333 = OpLoad %int %332
%334 = OpConvertSToF %float %327
%335 = OpConvertSToF %float %329
%336 = OpConvertSToF %float %331
%337 = OpConvertSToF %float %333
%338 = OpCompositeConstruct %v4float %334 %335 %336 %337
OpStore %x_GLF_color %338
OpBranch %323
%325 = OpLabel
%339 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%340 = OpLoad %int %339
%341 = OpConvertSToF %float %340
%342 = OpCompositeConstruct %v4float %341 %341 %341 %341
OpStore %x_GLF_color %342
OpBranch %323
%323 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %346
%tint_symbol_2 = OpFunction %void None %343
%tint_symbol = OpFunctionParameter %main_out
%350 = OpLabel
%351 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %351
%347 = OpLabel
%348 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %348
OpReturn
OpFunctionEnd
%main = OpFunction %void None %23
%353 = OpLabel
%354 = OpFunctionCall %void %main_1
%356 = OpLoad %v4float %x_GLF_color
%357 = OpCompositeConstruct %main_out %356
%355 = OpFunctionCall %void %tint_symbol_2 %357
%350 = OpLabel
%351 = OpFunctionCall %void %main_1
%353 = OpLoad %v4float %x_GLF_color
%354 = OpCompositeConstruct %main_out %353
%352 = OpFunctionCall %void %tint_symbol_2 %354
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 358
; Bound: 355
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -93,7 +91,7 @@ SKIP: FAILED
%int_3 = OpConstant %int 3
%int_100 = OpConstant %int 100
%main_out = OpTypeStruct %v4float
%346 = OpTypeFunction %void %main_out
%343 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %23
%26 = OpLabel
%f = OpVariable %_ptr_Function_float Function %29
@ -418,206 +416,196 @@ SKIP: FAILED
%261 = OpLoad %int %260
%263 = OpISub %int %int_100 %261
%264 = OpSLessThan %bool %258 %263
OpSelectionMerge %265 None
OpBranchConditional %264 %266 %267
%266 = OpLabel
OpBranch %265
%267 = OpLabel
OpBranch %253
%265 = OpLabel
OpBranch %252
OpBranchConditional %264 %252 %253
%253 = OpLabel
%268 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0
%269 = OpLoad %float %268
%270 = OpLoad %float %f
%271 = OpFAdd %float %270 %269
OpStore %f %271
%265 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0
%266 = OpLoad %float %265
%267 = OpLoad %float %f
%268 = OpFAdd %float %267 %266
OpStore %f %268
OpBranch %243
%243 = OpLabel
%272 = OpLoad %int %i_14
%273 = OpIAdd %int %272 %int_1
OpStore %i_14 %273
%269 = OpLoad %int %i_14
%270 = OpIAdd %int %269 %int_1
OpStore %i_14 %270
OpBranch %241
%242 = OpLabel
OpBranch %230
%230 = OpLabel
%274 = OpLoad %int %i_13
%275 = OpIAdd %int %274 %int_1
OpStore %i_13 %275
%271 = OpLoad %int %i_13
%272 = OpIAdd %int %271 %int_1
OpStore %i_13 %272
OpBranch %228
%229 = OpLabel
OpBranch %217
%217 = OpLabel
%276 = OpLoad %int %i_12
%277 = OpIAdd %int %276 %int_1
OpStore %i_12 %277
%273 = OpLoad %int %i_12
%274 = OpIAdd %int %273 %int_1
OpStore %i_12 %274
OpBranch %215
%216 = OpLabel
OpBranch %203
%203 = OpLabel
%278 = OpLoad %int %i_11
%279 = OpIAdd %int %278 %int_1
OpStore %i_11 %279
%275 = OpLoad %int %i_11
%276 = OpIAdd %int %275 %int_1
OpStore %i_11 %276
OpBranch %201
%202 = OpLabel
OpBranch %190
%190 = OpLabel
%280 = OpLoad %int %i_10
%281 = OpIAdd %int %280 %int_1
OpStore %i_10 %281
%277 = OpLoad %int %i_10
%278 = OpIAdd %int %277 %int_1
OpStore %i_10 %278
OpBranch %188
%189 = OpLabel
OpBranch %177
%177 = OpLabel
%282 = OpLoad %int %i_9
%283 = OpIAdd %int %282 %int_1
OpStore %i_9 %283
%279 = OpLoad %int %i_9
%280 = OpIAdd %int %279 %int_1
OpStore %i_9 %280
OpBranch %175
%176 = OpLabel
OpBranch %164
%164 = OpLabel
%284 = OpLoad %int %i_8
%285 = OpIAdd %int %284 %int_1
OpStore %i_8 %285
%281 = OpLoad %int %i_8
%282 = OpIAdd %int %281 %int_1
OpStore %i_8 %282
OpBranch %162
%163 = OpLabel
OpBranch %151
%151 = OpLabel
%286 = OpLoad %int %i_7
%287 = OpIAdd %int %286 %int_1
OpStore %i_7 %287
%283 = OpLoad %int %i_7
%284 = OpIAdd %int %283 %int_1
OpStore %i_7 %284
OpBranch %149
%150 = OpLabel
OpBranch %138
%138 = OpLabel
%288 = OpLoad %int %i_6
%289 = OpIAdd %int %288 %int_1
OpStore %i_6 %289
%285 = OpLoad %int %i_6
%286 = OpIAdd %int %285 %int_1
OpStore %i_6 %286
OpBranch %136
%137 = OpLabel
OpBranch %125
%125 = OpLabel
%290 = OpLoad %int %i_5
%291 = OpIAdd %int %290 %int_1
OpStore %i_5 %291
%287 = OpLoad %int %i_5
%288 = OpIAdd %int %287 %int_1
OpStore %i_5 %288
OpBranch %123
%124 = OpLabel
OpBranch %112
%112 = OpLabel
%292 = OpLoad %int %i_4
%293 = OpIAdd %int %292 %int_1
OpStore %i_4 %293
%289 = OpLoad %int %i_4
%290 = OpIAdd %int %289 %int_1
OpStore %i_4 %290
OpBranch %110
%111 = OpLabel
OpBranch %99
%99 = OpLabel
%294 = OpLoad %int %i_3
%295 = OpIAdd %int %294 %int_1
OpStore %i_3 %295
%291 = OpLoad %int %i_3
%292 = OpIAdd %int %291 %int_1
OpStore %i_3 %292
OpBranch %97
%98 = OpLabel
OpBranch %86
%86 = OpLabel
%296 = OpLoad %int %i_2
%297 = OpIAdd %int %296 %int_1
OpStore %i_2 %297
%293 = OpLoad %int %i_2
%294 = OpIAdd %int %293 %int_1
OpStore %i_2 %294
OpBranch %84
%85 = OpLabel
OpBranch %73
%73 = OpLabel
%298 = OpLoad %int %i_1
%299 = OpIAdd %int %298 %int_1
OpStore %i_1 %299
%295 = OpLoad %int %i_1
%296 = OpIAdd %int %295 %int_1
OpStore %i_1 %296
OpBranch %71
%72 = OpLabel
OpBranch %59
%59 = OpLabel
%300 = OpLoad %int %i
%301 = OpIAdd %int %300 %int_1
OpStore %i %301
%297 = OpLoad %int %i
%298 = OpIAdd %int %297 %int_1
OpStore %i %298
OpBranch %57
%58 = OpLabel
%302 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1
%303 = OpLoad %float %302
OpStore %sum %303
%304 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%305 = OpLoad %int %304
OpStore %r %305
%299 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1
%300 = OpLoad %float %299
OpStore %sum %300
%301 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%302 = OpLoad %int %301
OpStore %r %302
OpBranch %303
%303 = OpLabel
OpLoopMerge %304 %305 None
OpBranch %306
%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
%311 = OpLabel
OpBranch %304
%309 = OpLabel
%310 = OpLoad %int %x_GLF_global_loop_count
%311 = OpSLessThan %bool %310 %int_100
OpSelectionMerge %312 None
OpBranchConditional %311 %313 %314
%313 = OpLabel
OpBranch %312
%314 = OpLabel
OpBranch %307
%312 = OpLabel
%315 = OpLoad %int %x_GLF_global_loop_count
%316 = OpIAdd %int %315 %int_1
OpStore %x_GLF_global_loop_count %316
%317 = OpLoad %float %f
%318 = OpLoad %float %sum
%319 = OpFAdd %float %318 %317
OpStore %sum %319
OpBranch %308
%308 = OpLabel
%320 = OpLoad %int %r
%321 = OpIAdd %int %320 %int_1
OpStore %r %321
OpBranch %306
%307 = OpLabel
%322 = OpLoad %float %sum
%323 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_2
%324 = OpLoad %float %323
%325 = OpFOrdEqual %bool %322 %324
OpSelectionMerge %326 None
OpBranchConditional %325 %327 %328
%327 = OpLabel
%329 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%330 = OpLoad %int %329
%331 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%332 = OpLoad %int %331
%333 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%334 = OpLoad %int %333
%335 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%336 = OpLoad %int %335
%337 = OpConvertSToF %float %330
%338 = OpConvertSToF %float %332
%339 = OpConvertSToF %float %334
%340 = OpConvertSToF %float %336
%341 = OpCompositeConstruct %v4float %337 %338 %339 %340
OpStore %x_GLF_color %341
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
%312 = OpLoad %int %x_GLF_global_loop_count
%313 = OpIAdd %int %312 %int_1
OpStore %x_GLF_global_loop_count %313
%314 = OpLoad %float %f
%315 = OpLoad %float %sum
%316 = OpFAdd %float %315 %314
OpStore %sum %316
OpBranch %305
%305 = OpLabel
%317 = OpLoad %int %r
%318 = OpIAdd %int %317 %int_1
OpStore %r %318
OpBranch %303
%304 = OpLabel
%319 = OpLoad %float %sum
%320 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_2
%321 = OpLoad %float %320
%322 = OpFOrdEqual %bool %319 %321
OpSelectionMerge %323 None
OpBranchConditional %322 %324 %325
%324 = OpLabel
%326 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%327 = OpLoad %int %326
%328 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%329 = OpLoad %int %328
%330 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%331 = OpLoad %int %330
%332 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%333 = OpLoad %int %332
%334 = OpConvertSToF %float %327
%335 = OpConvertSToF %float %329
%336 = OpConvertSToF %float %331
%337 = OpConvertSToF %float %333
%338 = OpCompositeConstruct %v4float %334 %335 %336 %337
OpStore %x_GLF_color %338
OpBranch %323
%325 = OpLabel
%339 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%340 = OpLoad %int %339
%341 = OpConvertSToF %float %340
%342 = OpCompositeConstruct %v4float %341 %341 %341 %341
OpStore %x_GLF_color %342
OpBranch %323
%323 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %346
%tint_symbol_2 = OpFunction %void None %343
%tint_symbol = OpFunctionParameter %main_out
%350 = OpLabel
%351 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %351
%347 = OpLabel
%348 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %348
OpReturn
OpFunctionEnd
%main = OpFunction %void None %23
%353 = OpLabel
%354 = OpFunctionCall %void %main_1
%356 = OpLoad %v4float %x_GLF_color
%357 = OpCompositeConstruct %main_out %356
%355 = OpFunctionCall %void %tint_symbol_2 %357
%350 = OpLabel
%351 = OpFunctionCall %void %main_1
%353 = OpLoad %v4float %x_GLF_color
%354 = OpCompositeConstruct %main_out %353
%352 = OpFunctionCall %void %tint_symbol_2 %354
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 107
; Bound: 104
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -69,7 +67,7 @@ SKIP: FAILED
%float_0 = OpConstant %float 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float
%95 = OpTypeFunction %void %main_out
%92 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %19
%22 = OpLabel
%a = OpVariable %_ptr_Function_float Function %25
@ -137,46 +135,36 @@ SKIP: FAILED
%75 = OpLoad %float %a
%77 = OpFOrdEqual %bool %75 %float_0
%76 = OpLogicalNot %bool %77
OpSelectionMerge %78 None
OpBranchConditional %76 %79 %80
%79 = OpLabel
OpBranch %78
%80 = OpLabel
OpBranch %36
%78 = OpLabel
OpBranch %35
OpBranchConditional %76 %35 %36
%36 = OpLabel
%82 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%83 = OpLoad %int %82
%84 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%85 = OpLoad %int %84
%86 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%87 = OpLoad %int %86
%88 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%89 = OpLoad %int %88
%90 = OpConvertSToF %float %83
%91 = OpConvertSToF %float %85
%92 = OpConvertSToF %float %87
%93 = OpConvertSToF %float %89
%94 = OpCompositeConstruct %v4float %90 %91 %92 %93
OpStore %x_GLF_color %94
%79 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%80 = OpLoad %int %79
%81 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%82 = OpLoad %int %81
%83 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%84 = OpLoad %int %83
%85 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%86 = OpLoad %int %85
%87 = OpConvertSToF %float %80
%88 = OpConvertSToF %float %82
%89 = OpConvertSToF %float %84
%90 = OpConvertSToF %float %86
%91 = OpCompositeConstruct %v4float %87 %88 %89 %90
OpStore %x_GLF_color %91
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %95
%tint_symbol_2 = OpFunction %void None %92
%tint_symbol = OpFunctionParameter %main_out
%99 = OpLabel
%100 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %100
%96 = OpLabel
%97 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %97
OpReturn
OpFunctionEnd
%main = OpFunction %void None %19
%102 = OpLabel
%103 = OpFunctionCall %void %main_1
%105 = OpLoad %v4float %x_GLF_color
%106 = OpCompositeConstruct %main_out %105
%104 = OpFunctionCall %void %tint_symbol_2 %106
%99 = OpLabel
%100 = OpFunctionCall %void %main_1
%102 = OpLoad %v4float %x_GLF_color
%103 = OpCompositeConstruct %main_out %102
%101 = OpFunctionCall %void %tint_symbol_2 %103
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 107
; Bound: 104
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -69,7 +67,7 @@ SKIP: FAILED
%float_0 = OpConstant %float 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float
%95 = OpTypeFunction %void %main_out
%92 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %19
%22 = OpLabel
%a = OpVariable %_ptr_Function_float Function %25
@ -137,46 +135,36 @@ SKIP: FAILED
%75 = OpLoad %float %a
%77 = OpFOrdEqual %bool %75 %float_0
%76 = OpLogicalNot %bool %77
OpSelectionMerge %78 None
OpBranchConditional %76 %79 %80
%79 = OpLabel
OpBranch %78
%80 = OpLabel
OpBranch %36
%78 = OpLabel
OpBranch %35
OpBranchConditional %76 %35 %36
%36 = OpLabel
%82 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%83 = OpLoad %int %82
%84 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%85 = OpLoad %int %84
%86 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%87 = OpLoad %int %86
%88 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%89 = OpLoad %int %88
%90 = OpConvertSToF %float %83
%91 = OpConvertSToF %float %85
%92 = OpConvertSToF %float %87
%93 = OpConvertSToF %float %89
%94 = OpCompositeConstruct %v4float %90 %91 %92 %93
OpStore %x_GLF_color %94
%79 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%80 = OpLoad %int %79
%81 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%82 = OpLoad %int %81
%83 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
%84 = OpLoad %int %83
%85 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
%86 = OpLoad %int %85
%87 = OpConvertSToF %float %80
%88 = OpConvertSToF %float %82
%89 = OpConvertSToF %float %84
%90 = OpConvertSToF %float %86
%91 = OpCompositeConstruct %v4float %87 %88 %89 %90
OpStore %x_GLF_color %91
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %95
%tint_symbol_2 = OpFunction %void None %92
%tint_symbol = OpFunctionParameter %main_out
%99 = OpLabel
%100 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %100
%96 = OpLabel
%97 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %97
OpReturn
OpFunctionEnd
%main = OpFunction %void None %19
%102 = OpLabel
%103 = OpFunctionCall %void %main_1
%105 = OpLoad %v4float %x_GLF_color
%106 = OpCompositeConstruct %main_out %105
%104 = OpFunctionCall %void %tint_symbol_2 %106
%99 = OpLabel
%100 = OpFunctionCall %void %main_1
%102 = OpLoad %v4float %x_GLF_color
%103 = OpCompositeConstruct %main_out %102
%101 = OpFunctionCall %void %tint_symbol_2 %103
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 134
; Bound: 131
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -78,7 +76,7 @@ SKIP: FAILED
%_ptr_Private_float = OpTypePointer Private %float
%_ptr_Uniform_float = OpTypePointer Uniform %float
%main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out
%118 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %23
%26 = OpLabel
%a = OpVariable %_ptr_Function_int Function %29
@ -149,86 +147,76 @@ SKIP: FAILED
%82 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%83 = OpLoad %int %82
%84 = OpSLessThan %bool %81 %83
OpSelectionMerge %85 None
OpBranchConditional %84 %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %66
%85 = OpLabel
OpBranch %65
OpBranchConditional %84 %65 %66
%66 = OpLabel
%88 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%89 = OpLoad %float %88
%90 = OpAccessChain %_ptr_Uniform_float %x_11 %uint_0 %int_0
%91 = OpLoad %float %90
%92 = OpFOrdLessThan %bool %89 %91
OpSelectionMerge %93 None
OpBranchConditional %92 %94 %93
%94 = OpLabel
%85 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%86 = OpLoad %float %85
%87 = OpAccessChain %_ptr_Uniform_float %x_11 %uint_0 %int_0
%88 = OpLoad %float %87
%89 = OpFOrdLessThan %bool %86 %88
OpSelectionMerge %90 None
OpBranchConditional %89 %91 %90
%91 = OpLabel
OpBranch %55
%93 = OpLabel
%90 = OpLabel
OpBranch %56
%56 = OpLabel
%95 = OpLoad %int %j
%96 = OpIAdd %int %95 %int_1
OpStore %j %96
%92 = OpLoad %int %j
%93 = OpIAdd %int %92 %int_1
OpStore %j %93
OpBranch %54
%55 = OpLabel
OpBranch %41
%41 = OpLabel
%97 = OpLoad %int %i
%98 = OpIAdd %int %97 %int_1
OpStore %i %98
%94 = OpLoad %int %i
%95 = OpIAdd %int %94 %int_1
OpStore %i %95
OpBranch %39
%40 = OpLabel
%99 = OpLoad %int %a
%100 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%101 = OpLoad %int %100
%102 = OpIEqual %bool %99 %101
OpSelectionMerge %103 None
OpBranchConditional %102 %104 %105
%104 = OpLabel
%106 = OpLoad %int %a
%107 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%108 = OpLoad %int %107
%109 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%110 = OpLoad %int %109
%111 = OpLoad %int %a
%112 = OpConvertSToF %float %106
%113 = OpConvertSToF %float %108
%114 = OpConvertSToF %float %110
%115 = OpConvertSToF %float %111
%116 = OpCompositeConstruct %v4float %112 %113 %114 %115
OpStore %x_GLF_color %116
OpBranch %103
%105 = OpLabel
%117 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%118 = OpLoad %int %117
%119 = OpConvertSToF %float %118
%120 = OpCompositeConstruct %v4float %119 %119 %119 %119
OpStore %x_GLF_color %120
OpBranch %103
%103 = OpLabel
%96 = OpLoad %int %a
%97 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%98 = OpLoad %int %97
%99 = OpIEqual %bool %96 %98
OpSelectionMerge %100 None
OpBranchConditional %99 %101 %102
%101 = OpLabel
%103 = OpLoad %int %a
%104 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%105 = OpLoad %int %104
%106 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%107 = OpLoad %int %106
%108 = OpLoad %int %a
%109 = OpConvertSToF %float %103
%110 = OpConvertSToF %float %105
%111 = OpConvertSToF %float %107
%112 = OpConvertSToF %float %108
%113 = OpCompositeConstruct %v4float %109 %110 %111 %112
OpStore %x_GLF_color %113
OpBranch %100
%102 = OpLabel
%114 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%115 = OpLoad %int %114
%116 = OpConvertSToF %float %115
%117 = OpCompositeConstruct %v4float %116 %116 %116 %116
OpStore %x_GLF_color %117
OpBranch %100
%100 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121
%tint_symbol_3 = OpFunction %void None %118
%tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126
%122 = OpLabel
%123 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %123
OpReturn
OpFunctionEnd
%main = OpFunction %void None %23
%128 = OpLabel
%129 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129
%130 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132
%131 = OpFunctionCall %void %tint_symbol_3 %133
%125 = OpLabel
%126 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %126
%127 = OpFunctionCall %void %main_1
%129 = OpLoad %v4float %x_GLF_color
%130 = OpCompositeConstruct %main_out %129
%128 = OpFunctionCall %void %tint_symbol_3 %130
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 134
; Bound: 131
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -78,7 +76,7 @@ SKIP: FAILED
%_ptr_Private_float = OpTypePointer Private %float
%_ptr_Uniform_float = OpTypePointer Uniform %float
%main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out
%118 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %23
%26 = OpLabel
%a = OpVariable %_ptr_Function_int Function %29
@ -149,86 +147,76 @@ SKIP: FAILED
%82 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%83 = OpLoad %int %82
%84 = OpSLessThan %bool %81 %83
OpSelectionMerge %85 None
OpBranchConditional %84 %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %66
%85 = OpLabel
OpBranch %65
OpBranchConditional %84 %65 %66
%66 = OpLabel
%88 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%89 = OpLoad %float %88
%90 = OpAccessChain %_ptr_Uniform_float %x_11 %uint_0 %int_0
%91 = OpLoad %float %90
%92 = OpFOrdLessThan %bool %89 %91
OpSelectionMerge %93 None
OpBranchConditional %92 %94 %93
%94 = OpLabel
%85 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%86 = OpLoad %float %85
%87 = OpAccessChain %_ptr_Uniform_float %x_11 %uint_0 %int_0
%88 = OpLoad %float %87
%89 = OpFOrdLessThan %bool %86 %88
OpSelectionMerge %90 None
OpBranchConditional %89 %91 %90
%91 = OpLabel
OpBranch %55
%93 = OpLabel
%90 = OpLabel
OpBranch %56
%56 = OpLabel
%95 = OpLoad %int %j
%96 = OpIAdd %int %95 %int_1
OpStore %j %96
%92 = OpLoad %int %j
%93 = OpIAdd %int %92 %int_1
OpStore %j %93
OpBranch %54
%55 = OpLabel
OpBranch %41
%41 = OpLabel
%97 = OpLoad %int %i
%98 = OpIAdd %int %97 %int_1
OpStore %i %98
%94 = OpLoad %int %i
%95 = OpIAdd %int %94 %int_1
OpStore %i %95
OpBranch %39
%40 = OpLabel
%99 = OpLoad %int %a
%100 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%101 = OpLoad %int %100
%102 = OpIEqual %bool %99 %101
OpSelectionMerge %103 None
OpBranchConditional %102 %104 %105
%104 = OpLabel
%106 = OpLoad %int %a
%107 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%108 = OpLoad %int %107
%109 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%110 = OpLoad %int %109
%111 = OpLoad %int %a
%112 = OpConvertSToF %float %106
%113 = OpConvertSToF %float %108
%114 = OpConvertSToF %float %110
%115 = OpConvertSToF %float %111
%116 = OpCompositeConstruct %v4float %112 %113 %114 %115
OpStore %x_GLF_color %116
OpBranch %103
%105 = OpLabel
%117 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%118 = OpLoad %int %117
%119 = OpConvertSToF %float %118
%120 = OpCompositeConstruct %v4float %119 %119 %119 %119
OpStore %x_GLF_color %120
OpBranch %103
%103 = OpLabel
%96 = OpLoad %int %a
%97 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
%98 = OpLoad %int %97
%99 = OpIEqual %bool %96 %98
OpSelectionMerge %100 None
OpBranchConditional %99 %101 %102
%101 = OpLabel
%103 = OpLoad %int %a
%104 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%105 = OpLoad %int %104
%106 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%107 = OpLoad %int %106
%108 = OpLoad %int %a
%109 = OpConvertSToF %float %103
%110 = OpConvertSToF %float %105
%111 = OpConvertSToF %float %107
%112 = OpConvertSToF %float %108
%113 = OpCompositeConstruct %v4float %109 %110 %111 %112
OpStore %x_GLF_color %113
OpBranch %100
%102 = OpLabel
%114 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
%115 = OpLoad %int %114
%116 = OpConvertSToF %float %115
%117 = OpCompositeConstruct %v4float %116 %116 %116 %116
OpStore %x_GLF_color %117
OpBranch %100
%100 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121
%tint_symbol_3 = OpFunction %void None %118
%tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126
%122 = OpLabel
%123 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %123
OpReturn
OpFunctionEnd
%main = OpFunction %void None %23
%128 = OpLabel
%129 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129
%130 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132
%131 = OpFunctionCall %void %tint_symbol_3 %133
%125 = OpLabel
%126 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %126
%127 = OpFunctionCall %void %main_1
%129 = OpLoad %v4float %x_GLF_color
%130 = OpCompositeConstruct %main_out %129
%128 = OpFunctionCall %void %tint_symbol_3 %130
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 93
; Bound: 90
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -72,10 +70,10 @@ SKIP: FAILED
%float_0 = OpConstant %float 0
%false = OpConstantFalse %bool
%float_1 = OpConstant %float 1
%79 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%80 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%76 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%77 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%81 = OpTypeFunction %void %main_out
%78 = OpTypeFunction %void %main_out
%func_struct_S_i1_i11_ = OpFunction %void None %12
%arg = OpFunctionParameter %_ptr_Function_S
%18 = OpLabel
@ -128,43 +126,33 @@ SKIP: FAILED
OpStore %a %float_0
OpBranch %41
%41 = OpLabel
OpSelectionMerge %70 None
OpBranchConditional %false %71 %72
%71 = OpLabel
OpBranch %70
%72 = OpLabel
OpBranch %40
%70 = OpLabel
OpBranch %39
OpBranchConditional %false %39 %40
%40 = OpLabel
%73 = OpLoad %float %a
%74 = OpFOrdEqual %bool %73 %float_5
OpSelectionMerge %75 None
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpStore %x_GLF_color %79
OpBranch %75
%77 = OpLabel
OpStore %x_GLF_color %80
OpBranch %75
%75 = OpLabel
%70 = OpLoad %float %a
%71 = OpFOrdEqual %bool %70 %float_5
OpSelectionMerge %72 None
OpBranchConditional %71 %73 %74
%73 = OpLabel
OpStore %x_GLF_color %76
OpBranch %72
%74 = OpLabel
OpStore %x_GLF_color %77
OpBranch %72
%72 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %81
%tint_symbol_2 = OpFunction %void None %78
%tint_symbol = OpFunctionParameter %main_out
%85 = OpLabel
%86 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %86
%82 = OpLabel
%83 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %83
OpReturn
OpFunctionEnd
%main = OpFunction %void None %25
%88 = OpLabel
%89 = OpFunctionCall %void %main_1
%91 = OpLoad %v4float %x_GLF_color
%92 = OpCompositeConstruct %main_out %91
%90 = OpFunctionCall %void %tint_symbol_2 %92
%85 = OpLabel
%86 = OpFunctionCall %void %main_1
%88 = OpLoad %v4float %x_GLF_color
%89 = OpCompositeConstruct %main_out %88
%87 = OpFunctionCall %void %tint_symbol_2 %89
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 93
; Bound: 90
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -72,10 +70,10 @@ SKIP: FAILED
%float_0 = OpConstant %float 0
%false = OpConstantFalse %bool
%float_1 = OpConstant %float 1
%79 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%80 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%76 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%77 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%81 = OpTypeFunction %void %main_out
%78 = OpTypeFunction %void %main_out
%func_struct_S_i1_i11_ = OpFunction %void None %12
%arg = OpFunctionParameter %_ptr_Function_S
%18 = OpLabel
@ -128,43 +126,33 @@ SKIP: FAILED
OpStore %a %float_0
OpBranch %41
%41 = OpLabel
OpSelectionMerge %70 None
OpBranchConditional %false %71 %72
%71 = OpLabel
OpBranch %70
%72 = OpLabel
OpBranch %40
%70 = OpLabel
OpBranch %39
OpBranchConditional %false %39 %40
%40 = OpLabel
%73 = OpLoad %float %a
%74 = OpFOrdEqual %bool %73 %float_5
OpSelectionMerge %75 None
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpStore %x_GLF_color %79
OpBranch %75
%77 = OpLabel
OpStore %x_GLF_color %80
OpBranch %75
%75 = OpLabel
%70 = OpLoad %float %a
%71 = OpFOrdEqual %bool %70 %float_5
OpSelectionMerge %72 None
OpBranchConditional %71 %73 %74
%73 = OpLabel
OpStore %x_GLF_color %76
OpBranch %72
%74 = OpLabel
OpStore %x_GLF_color %77
OpBranch %72
%72 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %81
%tint_symbol_2 = OpFunction %void None %78
%tint_symbol = OpFunctionParameter %main_out
%85 = OpLabel
%86 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %86
%82 = OpLabel
%83 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %83
OpReturn
OpFunctionEnd
%main = OpFunction %void None %25
%88 = OpLabel
%89 = OpFunctionCall %void %main_1
%91 = OpLoad %v4float %x_GLF_color
%92 = OpCompositeConstruct %main_out %91
%90 = OpFunctionCall %void %tint_symbol_2 %92
%85 = OpLabel
%86 = OpFunctionCall %void %main_1
%88 = OpLoad %v4float %x_GLF_color
%89 = OpCompositeConstruct %main_out %88
%87 = OpFunctionCall %void %tint_symbol_2 %89
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 72
; Bound: 69
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -50,7 +48,7 @@ SKIP: FAILED
%int_1 = OpConstant %int 1
%bool = OpTypeBool
%main_out = OpTypeStruct %v4float
%60 = OpTypeFunction %void %main_out
%57 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%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
%55 = OpLoad %int %54
%56 = OpSGreaterThan %bool %53 %55
OpSelectionMerge %57 None
OpBranchConditional %56 %58 %59
%58 = OpLabel
OpBranch %57
%59 = OpLabel
OpBranch %45
%57 = OpLabel
OpBranch %44
OpBranchConditional %56 %44 %45
%45 = OpLabel
OpReturn
%42 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %60
%tint_symbol_2 = OpFunction %void None %57
%tint_symbol = OpFunctionParameter %main_out
%64 = OpLabel
%65 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %65
%61 = OpLabel
%62 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %62
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%67 = OpLabel
%68 = OpFunctionCall %void %main_1
%70 = OpLoad %v4float %x_GLF_color
%71 = OpCompositeConstruct %main_out %70
%69 = OpFunctionCall %void %tint_symbol_2 %71
%64 = OpLabel
%65 = OpFunctionCall %void %main_1
%67 = OpLoad %v4float %x_GLF_color
%68 = OpCompositeConstruct %main_out %67
%66 = OpFunctionCall %void %tint_symbol_2 %68
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 72
; Bound: 69
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -50,7 +48,7 @@ SKIP: FAILED
%int_1 = OpConstant %int 1
%bool = OpTypeBool
%main_out = OpTypeStruct %v4float
%60 = OpTypeFunction %void %main_out
%57 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%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
%55 = OpLoad %int %54
%56 = OpSGreaterThan %bool %53 %55
OpSelectionMerge %57 None
OpBranchConditional %56 %58 %59
%58 = OpLabel
OpBranch %57
%59 = OpLabel
OpBranch %45
%57 = OpLabel
OpBranch %44
OpBranchConditional %56 %44 %45
%45 = OpLabel
OpReturn
%42 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %60
%tint_symbol_2 = OpFunction %void None %57
%tint_symbol = OpFunctionParameter %main_out
%64 = OpLabel
%65 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %65
%61 = OpLabel
%62 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %62
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%67 = OpLabel
%68 = OpFunctionCall %void %main_1
%70 = OpLoad %v4float %x_GLF_color
%71 = OpCompositeConstruct %main_out %70
%69 = OpFunctionCall %void %tint_symbol_2 %71
%64 = OpLabel
%65 = OpFunctionCall %void %main_1
%67 = OpLoad %v4float %x_GLF_color
%68 = OpCompositeConstruct %main_out %67
%66 = OpFunctionCall %void %tint_symbol_2 %68
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 82
; Bound: 79
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -71,7 +69,7 @@ SKIP: FAILED
%_ptr_Function_float = OpTypePointer Function %float
%_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float
%70 = OpTypeFunction %void %main_out
%67 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%i = OpVariable %_ptr_Function_int Function %21
@ -110,48 +108,38 @@ SKIP: FAILED
%50 = OpLabel
OpBranch %44
%44 = OpLabel
OpSelectionMerge %55 None
OpBranchConditional %false %56 %57
%56 = OpLabel
OpBranch %55
%57 = OpLabel
OpBranch %43
%55 = OpLabel
OpBranch %42
OpBranchConditional %false %42 %43
%43 = OpLabel
OpBranch %29
%29 = OpLabel
%58 = OpLoad %int %i
%59 = OpIAdd %int %58 %int_1
OpStore %i %59
%55 = OpLoad %int %i
%56 = OpIAdd %int %55 %int_1
OpStore %i %56
OpBranch %27
%28 = OpLabel
%60 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0
%61 = OpLoad %int %60
%64 = OpAccessChain %_ptr_Function_float %v %uint_1
%65 = OpConvertSToF %float %61
OpStore %64 %65
%66 = OpAccessChain %_ptr_Function_float %v %uint_1
%67 = OpLoad %float %66
%69 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
OpStore %69 %67
%57 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0
%58 = OpLoad %int %57
%61 = OpAccessChain %_ptr_Function_float %v %uint_1
%62 = OpConvertSToF %float %58
OpStore %61 %62
%63 = OpAccessChain %_ptr_Function_float %v %uint_1
%64 = OpLoad %float %63
%66 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
OpStore %66 %64
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %70
%tint_symbol_2 = OpFunction %void None %67
%tint_symbol = OpFunctionParameter %main_out
%74 = OpLabel
%75 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %75
%71 = OpLabel
%72 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %72
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%77 = OpLabel
%78 = OpFunctionCall %void %main_1
%80 = OpLoad %v4float %x_GLF_color
%81 = OpCompositeConstruct %main_out %80
%79 = OpFunctionCall %void %tint_symbol_2 %81
%74 = OpLabel
%75 = OpFunctionCall %void %main_1
%77 = OpLoad %v4float %x_GLF_color
%78 = OpCompositeConstruct %main_out %77
%76 = OpFunctionCall %void %tint_symbol_2 %78
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 82
; Bound: 79
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -71,7 +69,7 @@ SKIP: FAILED
%_ptr_Function_float = OpTypePointer Function %float
%_ptr_Private_float = OpTypePointer Private %float
%main_out = OpTypeStruct %v4float
%70 = OpTypeFunction %void %main_out
%67 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%i = OpVariable %_ptr_Function_int Function %21
@ -110,48 +108,38 @@ SKIP: FAILED
%50 = OpLabel
OpBranch %44
%44 = OpLabel
OpSelectionMerge %55 None
OpBranchConditional %false %56 %57
%56 = OpLabel
OpBranch %55
%57 = OpLabel
OpBranch %43
%55 = OpLabel
OpBranch %42
OpBranchConditional %false %42 %43
%43 = OpLabel
OpBranch %29
%29 = OpLabel
%58 = OpLoad %int %i
%59 = OpIAdd %int %58 %int_1
OpStore %i %59
%55 = OpLoad %int %i
%56 = OpIAdd %int %55 %int_1
OpStore %i %56
OpBranch %27
%28 = OpLabel
%60 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0
%61 = OpLoad %int %60
%64 = OpAccessChain %_ptr_Function_float %v %uint_1
%65 = OpConvertSToF %float %61
OpStore %64 %65
%66 = OpAccessChain %_ptr_Function_float %v %uint_1
%67 = OpLoad %float %66
%69 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
OpStore %69 %67
%57 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0
%58 = OpLoad %int %57
%61 = OpAccessChain %_ptr_Function_float %v %uint_1
%62 = OpConvertSToF %float %58
OpStore %61 %62
%63 = OpAccessChain %_ptr_Function_float %v %uint_1
%64 = OpLoad %float %63
%66 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
OpStore %66 %64
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %70
%tint_symbol_2 = OpFunction %void None %67
%tint_symbol = OpFunctionParameter %main_out
%74 = OpLabel
%75 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %75
%71 = OpLabel
%72 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %72
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%77 = OpLabel
%78 = OpFunctionCall %void %main_1
%80 = OpLoad %v4float %x_GLF_color
%81 = OpCompositeConstruct %main_out %80
%79 = OpFunctionCall %void %tint_symbol_2 %81
%74 = OpLabel
%75 = OpFunctionCall %void %main_1
%77 = OpLoad %v4float %x_GLF_color
%78 = OpCompositeConstruct %main_out %77
%76 = OpFunctionCall %void %tint_symbol_2 %78
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 112
; Bound: 106
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -79,7 +77,7 @@ SKIP: FAILED
%true = OpConstantTrue %bool
%_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float
%100 = OpTypeFunction %void %main_out
%94 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22
%25 = OpLabel
%i = OpVariable %_ptr_Function_int Function %28
@ -106,109 +104,92 @@ SKIP: FAILED
OpStore %x_GLF_color %51
OpBranch %46
%46 = OpLabel
OpSelectionMerge %53 None
OpBranchConditional %true %54 %55
%54 = OpLabel
OpBranch %53
%55 = OpLabel
OpBranch %45
%53 = OpLabel
OpBranch %44
OpBranchConditional %true %44 %45
%45 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %53
%53 = OpLabel
OpLoopMerge %54 %55 None
OpBranch %56
%56 = OpLabel
OpLoopMerge %57 %58 None
OpBranch %59
%59 = OpLabel
OpBranch %57
%57 = OpLabel
OpLoopMerge %58 %59 None
OpBranch %60
%60 = OpLabel
OpLoopMerge %61 %62 None
OpBranch %63
%63 = OpLabel
OpSelectionMerge %64 None
OpBranchConditional %true %65 %66
%65 = OpLabel
OpBranch %64
%66 = OpLabel
OpSelectionMerge %61 None
OpBranchConditional %true %62 %63
%62 = OpLabel
OpBranch %61
%64 = OpLabel
%68 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%69 = OpLoad %int %68
OpStore %i %69
%63 = OpLabel
OpBranch %58
%61 = OpLabel
%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
%70 = OpLabel
OpLoopMerge %71 %72 None
OpBranch %73
%73 = OpLabel
%74 = OpLoad %int %i
%75 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%76 = OpLoad %int %75
%77 = OpSLessThan %bool %74 %76
OpSelectionMerge %78 None
OpBranchConditional %77 %79 %80
%79 = OpLabel
OpBranch %78
%80 = OpLabel
OpBranch %71
%78 = OpLabel
%81 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%82 = OpLoad %float %81
%83 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%84 = OpLoad %float %83
%85 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%86 = OpLoad %float %85
%87 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%88 = OpLoad %float %87
%89 = OpCompositeConstruct %v4float %82 %84 %86 %88
OpStore %x_GLF_color %89
OpBranch %72
%72 = OpLabel
%90 = OpLoad %int %i
%91 = OpIAdd %int %90 %int_1
OpStore %i %91
OpBranch %70
%71 = OpLabel
OpBranch %61
%62 = OpLabel
OpBranch %60
%61 = OpLabel
%71 = OpLoad %int %i
%72 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%73 = OpLoad %int %72
%74 = OpSLessThan %bool %71 %73
OpSelectionMerge %75 None
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpBranch %75
%77 = OpLabel
OpBranch %68
%75 = OpLabel
%78 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%79 = OpLoad %float %78
%80 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%81 = OpLoad %float %80
%82 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%83 = OpLoad %float %82
%84 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%85 = OpLoad %float %84
%86 = OpCompositeConstruct %v4float %79 %81 %83 %85
OpStore %x_GLF_color %86
OpBranch %69
%69 = OpLabel
%87 = OpLoad %int %i
%88 = OpIAdd %int %87 %int_1
OpStore %i %88
OpBranch %67
%68 = OpLabel
OpBranch %58
%58 = 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
%59 = OpLabel
OpBranch %57
%97 = OpLabel
OpBranch %56
%57 = OpLabel
%58 = OpLabel
OpBranch %55
%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
%41 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %100
%tint_symbol_2 = OpFunction %void None %94
%tint_symbol = OpFunctionParameter %main_out
%104 = OpLabel
%105 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %105
%98 = OpLabel
%99 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %99
OpReturn
OpFunctionEnd
%main = OpFunction %void None %22
%107 = OpLabel
%108 = OpFunctionCall %void %main_1
%110 = OpLoad %v4float %x_GLF_color
%111 = OpCompositeConstruct %main_out %110
%109 = OpFunctionCall %void %tint_symbol_2 %111
%101 = OpLabel
%102 = OpFunctionCall %void %main_1
%104 = OpLoad %v4float %x_GLF_color
%105 = OpCompositeConstruct %main_out %104
%103 = OpFunctionCall %void %tint_symbol_2 %105
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 112
; Bound: 106
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -79,7 +77,7 @@ SKIP: FAILED
%true = OpConstantTrue %bool
%_ptr_Uniform_int = OpTypePointer Uniform %int
%main_out = OpTypeStruct %v4float
%100 = OpTypeFunction %void %main_out
%94 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22
%25 = OpLabel
%i = OpVariable %_ptr_Function_int Function %28
@ -106,109 +104,92 @@ SKIP: FAILED
OpStore %x_GLF_color %51
OpBranch %46
%46 = OpLabel
OpSelectionMerge %53 None
OpBranchConditional %true %54 %55
%54 = OpLabel
OpBranch %53
%55 = OpLabel
OpBranch %45
%53 = OpLabel
OpBranch %44
OpBranchConditional %true %44 %45
%45 = OpLabel
OpBranch %41
%43 = OpLabel
OpBranch %53
%53 = OpLabel
OpLoopMerge %54 %55 None
OpBranch %56
%56 = OpLabel
OpLoopMerge %57 %58 None
OpBranch %59
%59 = OpLabel
OpBranch %57
%57 = OpLabel
OpLoopMerge %58 %59 None
OpBranch %60
%60 = OpLabel
OpLoopMerge %61 %62 None
OpBranch %63
%63 = OpLabel
OpSelectionMerge %64 None
OpBranchConditional %true %65 %66
%65 = OpLabel
OpBranch %64
%66 = OpLabel
OpSelectionMerge %61 None
OpBranchConditional %true %62 %63
%62 = OpLabel
OpBranch %61
%64 = OpLabel
%68 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
%69 = OpLoad %int %68
OpStore %i %69
%63 = OpLabel
OpBranch %58
%61 = OpLabel
%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
%70 = OpLabel
OpLoopMerge %71 %72 None
OpBranch %73
%73 = OpLabel
%74 = OpLoad %int %i
%75 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%76 = OpLoad %int %75
%77 = OpSLessThan %bool %74 %76
OpSelectionMerge %78 None
OpBranchConditional %77 %79 %80
%79 = OpLabel
OpBranch %78
%80 = OpLabel
OpBranch %71
%78 = OpLabel
%81 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%82 = OpLoad %float %81
%83 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%84 = OpLoad %float %83
%85 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%86 = OpLoad %float %85
%87 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%88 = OpLoad %float %87
%89 = OpCompositeConstruct %v4float %82 %84 %86 %88
OpStore %x_GLF_color %89
OpBranch %72
%72 = OpLabel
%90 = OpLoad %int %i
%91 = OpIAdd %int %90 %int_1
OpStore %i %91
OpBranch %70
%71 = OpLabel
OpBranch %61
%62 = OpLabel
OpBranch %60
%61 = OpLabel
%71 = OpLoad %int %i
%72 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
%73 = OpLoad %int %72
%74 = OpSLessThan %bool %71 %73
OpSelectionMerge %75 None
OpBranchConditional %74 %76 %77
%76 = OpLabel
OpBranch %75
%77 = OpLabel
OpBranch %68
%75 = OpLabel
%78 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%79 = OpLoad %float %78
%80 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%81 = OpLoad %float %80
%82 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
%83 = OpLoad %float %82
%84 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
%85 = OpLoad %float %84
%86 = OpCompositeConstruct %v4float %79 %81 %83 %85
OpStore %x_GLF_color %86
OpBranch %69
%69 = OpLabel
%87 = OpLoad %int %i
%88 = OpIAdd %int %87 %int_1
OpStore %i %88
OpBranch %67
%68 = OpLabel
OpBranch %58
%58 = 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
%59 = OpLabel
OpBranch %57
%97 = OpLabel
OpBranch %56
%57 = OpLabel
%58 = OpLabel
OpBranch %55
%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
%41 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %100
%tint_symbol_2 = OpFunction %void None %94
%tint_symbol = OpFunctionParameter %main_out
%104 = OpLabel
%105 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %105
%98 = OpLabel
%99 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %99
OpReturn
OpFunctionEnd
%main = OpFunction %void None %22
%107 = OpLabel
%108 = OpFunctionCall %void %main_1
%110 = OpLoad %v4float %x_GLF_color
%111 = OpCompositeConstruct %main_out %110
%109 = OpFunctionCall %void %tint_symbol_2 %111
%101 = OpLabel
%102 = OpFunctionCall %void %main_1
%104 = OpLoad %v4float %x_GLF_color
%105 = OpCompositeConstruct %main_out %104
%103 = OpFunctionCall %void %tint_symbol_2 %105
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 134
; Bound: 131
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -79,10 +77,10 @@ SKIP: FAILED
%79 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_1
%90 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
%_ptr_Private_float = OpTypePointer Private %float
%119 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%120 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%116 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%117 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out
%118 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%v = OpVariable %_ptr_Function_v2float Function %21
@ -173,67 +171,57 @@ SKIP: FAILED
%50 = OpLabel
%93 = OpLoad %int %one
%94 = OpSLessThan %bool %93 %int_0
OpSelectionMerge %95 None
OpBranchConditional %94 %96 %97
%96 = OpLabel
OpBranch %95
%97 = OpLabel
OpBranch %49
%95 = OpLabel
OpBranch %48
OpBranchConditional %94 %48 %49
%49 = OpLabel
%101 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%102 = OpLoad %float %101
%103 = OpFOrdGreaterThanEqual %bool %102 %float_0
OpSelectionMerge %104 None
OpBranchConditional %103 %105 %106
%105 = OpLabel
%107 = OpAccessChain %_ptr_Function_float %v %uint_1
%108 = OpLoad %float %107
%109 = OpFOrdEqual %bool %108 %float_1
OpStore %x_103_phi %109
OpSelectionMerge %110 None
OpBranchConditional %109 %111 %110
%111 = OpLabel
%112 = OpAccessChain %_ptr_Function_float %floats %int_1
%113 = OpLoad %float %112
%114 = OpFOrdEqual %bool %113 %float_1
OpStore %x_102 %114
%115 = OpLoad %bool %x_102
OpStore %x_103_phi %115
OpBranch %110
%110 = OpLabel
%116 = OpLoad %bool %x_103_phi
OpSelectionMerge %117 None
OpBranchConditional %116 %118 %117
%118 = OpLabel
OpStore %x_GLF_color %119
OpBranch %117
%117 = OpLabel
OpBranch %104
%106 = OpLabel
OpStore %x_GLF_color %120
OpBranch %104
%104 = OpLabel
%98 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%99 = OpLoad %float %98
%100 = OpFOrdGreaterThanEqual %bool %99 %float_0
OpSelectionMerge %101 None
OpBranchConditional %100 %102 %103
%102 = OpLabel
%104 = OpAccessChain %_ptr_Function_float %v %uint_1
%105 = OpLoad %float %104
%106 = OpFOrdEqual %bool %105 %float_1
OpStore %x_103_phi %106
OpSelectionMerge %107 None
OpBranchConditional %106 %108 %107
%108 = OpLabel
%109 = OpAccessChain %_ptr_Function_float %floats %int_1
%110 = OpLoad %float %109
%111 = OpFOrdEqual %bool %110 %float_1
OpStore %x_102 %111
%112 = OpLoad %bool %x_102
OpStore %x_103_phi %112
OpBranch %107
%107 = OpLabel
%113 = OpLoad %bool %x_103_phi
OpSelectionMerge %114 None
OpBranchConditional %113 %115 %114
%115 = OpLabel
OpStore %x_GLF_color %116
OpBranch %114
%114 = OpLabel
OpBranch %101
%103 = OpLabel
OpStore %x_GLF_color %117
OpBranch %101
%101 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121
%tint_symbol_3 = OpFunction %void None %118
%tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126
%122 = OpLabel
%123 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %123
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%128 = OpLabel
%129 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129
%130 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132
%131 = OpFunctionCall %void %tint_symbol_3 %133
%125 = OpLabel
%126 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %126
%127 = OpFunctionCall %void %main_1
%129 = OpLoad %v4float %x_GLF_color
%130 = OpCompositeConstruct %main_out %129
%128 = OpFunctionCall %void %tint_symbol_3 %130
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 134
; Bound: 131
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -79,10 +77,10 @@ SKIP: FAILED
%79 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_1
%90 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
%_ptr_Private_float = OpTypePointer Private %float
%119 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%120 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%116 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%117 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%121 = OpTypeFunction %void %main_out
%118 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%v = OpVariable %_ptr_Function_v2float Function %21
@ -173,67 +171,57 @@ SKIP: FAILED
%50 = OpLabel
%93 = OpLoad %int %one
%94 = OpSLessThan %bool %93 %int_0
OpSelectionMerge %95 None
OpBranchConditional %94 %96 %97
%96 = OpLabel
OpBranch %95
%97 = OpLabel
OpBranch %49
%95 = OpLabel
OpBranch %48
OpBranchConditional %94 %48 %49
%49 = OpLabel
%101 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%102 = OpLoad %float %101
%103 = OpFOrdGreaterThanEqual %bool %102 %float_0
OpSelectionMerge %104 None
OpBranchConditional %103 %105 %106
%105 = OpLabel
%107 = OpAccessChain %_ptr_Function_float %v %uint_1
%108 = OpLoad %float %107
%109 = OpFOrdEqual %bool %108 %float_1
OpStore %x_103_phi %109
OpSelectionMerge %110 None
OpBranchConditional %109 %111 %110
%111 = OpLabel
%112 = OpAccessChain %_ptr_Function_float %floats %int_1
%113 = OpLoad %float %112
%114 = OpFOrdEqual %bool %113 %float_1
OpStore %x_102 %114
%115 = OpLoad %bool %x_102
OpStore %x_103_phi %115
OpBranch %110
%110 = OpLabel
%116 = OpLoad %bool %x_103_phi
OpSelectionMerge %117 None
OpBranchConditional %116 %118 %117
%118 = OpLabel
OpStore %x_GLF_color %119
OpBranch %117
%117 = OpLabel
OpBranch %104
%106 = OpLabel
OpStore %x_GLF_color %120
OpBranch %104
%104 = OpLabel
%98 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%99 = OpLoad %float %98
%100 = OpFOrdGreaterThanEqual %bool %99 %float_0
OpSelectionMerge %101 None
OpBranchConditional %100 %102 %103
%102 = OpLabel
%104 = OpAccessChain %_ptr_Function_float %v %uint_1
%105 = OpLoad %float %104
%106 = OpFOrdEqual %bool %105 %float_1
OpStore %x_103_phi %106
OpSelectionMerge %107 None
OpBranchConditional %106 %108 %107
%108 = OpLabel
%109 = OpAccessChain %_ptr_Function_float %floats %int_1
%110 = OpLoad %float %109
%111 = OpFOrdEqual %bool %110 %float_1
OpStore %x_102 %111
%112 = OpLoad %bool %x_102
OpStore %x_103_phi %112
OpBranch %107
%107 = OpLabel
%113 = OpLoad %bool %x_103_phi
OpSelectionMerge %114 None
OpBranchConditional %113 %115 %114
%115 = OpLabel
OpStore %x_GLF_color %116
OpBranch %114
%114 = OpLabel
OpBranch %101
%103 = OpLabel
OpStore %x_GLF_color %117
OpBranch %101
%101 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %121
%tint_symbol_3 = OpFunction %void None %118
%tint_symbol_1 = OpFunctionParameter %main_out
%125 = OpLabel
%126 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %126
%122 = OpLabel
%123 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %123
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%128 = OpLabel
%129 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %129
%130 = OpFunctionCall %void %main_1
%132 = OpLoad %v4float %x_GLF_color
%133 = OpCompositeConstruct %main_out %132
%131 = OpFunctionCall %void %tint_symbol_3 %133
%125 = OpLabel
%126 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %126
%127 = OpFunctionCall %void %main_1
%129 = OpLoad %v4float %x_GLF_color
%130 = OpCompositeConstruct %main_out %129
%128 = OpFunctionCall %void %tint_symbol_3 %130
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 134
; Bound: 131
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -214,22 +212,12 @@ SKIP: FAILED
%125 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
%126 = OpLoad %float %125
%127 = OpFOrdGreaterThan %bool %124 %126
OpSelectionMerge %128 None
OpBranchConditional %127 %129 %130
%129 = OpLabel
OpBranch %128
%130 = OpLabel
OpBranch %67
%128 = OpLabel
OpBranch %66
OpBranchConditional %127 %66 %67
%67 = OpLabel
OpReturn
OpFunctionEnd
%main = OpFunction %void None %10
%132 = OpLabel
%133 = OpFunctionCall %void %main_1
%129 = OpLabel
%130 = OpFunctionCall %void %main_1
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 134
; Bound: 131
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -214,22 +212,12 @@ SKIP: FAILED
%125 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
%126 = OpLoad %float %125
%127 = OpFOrdGreaterThan %bool %124 %126
OpSelectionMerge %128 None
OpBranchConditional %127 %129 %130
%129 = OpLabel
OpBranch %128
%130 = OpLabel
OpBranch %67
%128 = OpLabel
OpBranch %66
OpBranchConditional %127 %66 %67
%67 = OpLabel
OpReturn
OpFunctionEnd
%main = OpFunction %void None %10
%132 = OpLabel
%133 = OpFunctionCall %void %main_1
%129 = OpLabel
%130 = OpFunctionCall %void %main_1
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 71
; Bound: 68
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -59,9 +57,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%true = OpConstantTrue %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
%58 = OpTypeFunction %void %main_out
%55 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%x_46_phi = OpVariable %_ptr_Function_bool Function %26
@ -97,45 +95,35 @@ SKIP: FAILED
OpBranch %28
%29 = OpLabel
OpStore %x_46_phi %false
OpSelectionMerge %51 None
OpBranchConditional %false %52 %53
%52 = OpLabel
OpBranch %51
%53 = OpLabel
OpBranch %28
%51 = OpLabel
OpBranch %27
OpBranchConditional %false %27 %28
%28 = OpLabel
%54 = OpLoad %bool %x_46_phi
OpSelectionMerge %55 None
OpBranchConditional %54 %56 %55
%56 = OpLabel
%51 = OpLoad %bool %x_46_phi
OpSelectionMerge %52 None
OpBranchConditional %51 %53 %52
%53 = OpLabel
OpBranch %20
%55 = OpLabel
%52 = OpLabel
OpBranch %20
%21 = OpLabel
OpBranch %19
%20 = OpLabel
OpStore %x_GLF_color %57
OpStore %x_GLF_color %54
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %58
%tint_symbol_3 = OpFunction %void None %55
%tint_symbol_1 = OpFunctionParameter %main_out
%62 = OpLabel
%63 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %63
%59 = OpLabel
%60 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %60
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%65 = OpLabel
%66 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %66
%67 = OpFunctionCall %void %main_1
%69 = OpLoad %v4float %x_GLF_color
%70 = OpCompositeConstruct %main_out %69
%68 = OpFunctionCall %void %tint_symbol_3 %70
%62 = OpLabel
%63 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %63
%64 = OpFunctionCall %void %main_1
%66 = OpLoad %v4float %x_GLF_color
%67 = OpCompositeConstruct %main_out %66
%65 = OpFunctionCall %void %tint_symbol_3 %67
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 71
; Bound: 68
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -59,9 +57,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%true = OpConstantTrue %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
%58 = OpTypeFunction %void %main_out
%55 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%x_46_phi = OpVariable %_ptr_Function_bool Function %26
@ -97,45 +95,35 @@ SKIP: FAILED
OpBranch %28
%29 = OpLabel
OpStore %x_46_phi %false
OpSelectionMerge %51 None
OpBranchConditional %false %52 %53
%52 = OpLabel
OpBranch %51
%53 = OpLabel
OpBranch %28
%51 = OpLabel
OpBranch %27
OpBranchConditional %false %27 %28
%28 = OpLabel
%54 = OpLoad %bool %x_46_phi
OpSelectionMerge %55 None
OpBranchConditional %54 %56 %55
%56 = OpLabel
%51 = OpLoad %bool %x_46_phi
OpSelectionMerge %52 None
OpBranchConditional %51 %53 %52
%53 = OpLabel
OpBranch %20
%55 = OpLabel
%52 = OpLabel
OpBranch %20
%21 = OpLabel
OpBranch %19
%20 = OpLabel
OpStore %x_GLF_color %57
OpStore %x_GLF_color %54
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %58
%tint_symbol_3 = OpFunction %void None %55
%tint_symbol_1 = OpFunctionParameter %main_out
%62 = OpLabel
%63 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %63
%59 = OpLabel
%60 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %60
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%65 = OpLabel
%66 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %66
%67 = OpFunctionCall %void %main_1
%69 = OpLoad %v4float %x_GLF_color
%70 = OpCompositeConstruct %main_out %69
%68 = OpFunctionCall %void %tint_symbol_3 %70
%62 = OpLabel
%63 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %63
%64 = OpFunctionCall %void %main_1
%66 = OpLoad %v4float %x_GLF_color
%67 = OpCompositeConstruct %main_out %66
%65 = OpFunctionCall %void %tint_symbol_3 %67
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 63
; Bound: 60
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -56,9 +54,9 @@ SKIP: FAILED
%_ptr_Private_float = OpTypePointer Private %float
%float_0 = OpConstant %float 0
%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
%50 = OpTypeFunction %void %main_out
%47 = OpTypeFunction %void %main_out
%f_ = OpFunction %void None %15
%18 = OpLabel
OpBranch %19
@ -86,40 +84,30 @@ SKIP: FAILED
%32 = OpLabel
OpKill
%21 = OpLabel
OpSelectionMerge %43 None
OpBranchConditional %false %44 %45
%44 = OpLabel
OpBranch %43
%45 = OpLabel
OpBranch %20
%43 = OpLabel
OpBranch %19
OpBranchConditional %false %19 %20
%20 = OpLabel
OpReturn
OpFunctionEnd
%main_1 = OpFunction %void None %15
%47 = OpLabel
%48 = OpFunctionCall %void %f_
OpStore %x_GLF_color %49
%44 = OpLabel
%45 = OpFunctionCall %void %f_
OpStore %x_GLF_color %46
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %50
%tint_symbol_3 = OpFunction %void None %47
%tint_symbol_1 = OpFunctionParameter %main_out
%54 = OpLabel
%55 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %55
%51 = OpLabel
%52 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %52
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%57 = OpLabel
%58 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %58
%59 = OpFunctionCall %void %main_1
%61 = OpLoad %v4float %x_GLF_color
%62 = OpCompositeConstruct %main_out %61
%60 = OpFunctionCall %void %tint_symbol_3 %62
%54 = OpLabel
%55 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %55
%56 = OpFunctionCall %void %main_1
%58 = OpLoad %v4float %x_GLF_color
%59 = OpCompositeConstruct %main_out %58
%57 = OpFunctionCall %void %tint_symbol_3 %59
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 63
; Bound: 60
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -56,9 +54,9 @@ SKIP: FAILED
%_ptr_Private_float = OpTypePointer Private %float
%float_0 = OpConstant %float 0
%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
%50 = OpTypeFunction %void %main_out
%47 = OpTypeFunction %void %main_out
%f_ = OpFunction %void None %15
%18 = OpLabel
OpBranch %19
@ -86,40 +84,30 @@ SKIP: FAILED
%32 = OpLabel
OpKill
%21 = OpLabel
OpSelectionMerge %43 None
OpBranchConditional %false %44 %45
%44 = OpLabel
OpBranch %43
%45 = OpLabel
OpBranch %20
%43 = OpLabel
OpBranch %19
OpBranchConditional %false %19 %20
%20 = OpLabel
OpReturn
OpFunctionEnd
%main_1 = OpFunction %void None %15
%47 = OpLabel
%48 = OpFunctionCall %void %f_
OpStore %x_GLF_color %49
%44 = OpLabel
%45 = OpFunctionCall %void %f_
OpStore %x_GLF_color %46
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %50
%tint_symbol_3 = OpFunction %void None %47
%tint_symbol_1 = OpFunctionParameter %main_out
%54 = OpLabel
%55 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %55
%51 = OpLabel
%52 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %52
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%57 = OpLabel
%58 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %58
%59 = OpFunctionCall %void %main_1
%61 = OpLoad %v4float %x_GLF_color
%62 = OpCompositeConstruct %main_out %61
%60 = OpFunctionCall %void %tint_symbol_3 %62
%54 = OpLabel
%55 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %55
%56 = OpFunctionCall %void %main_1
%58 = OpLoad %v4float %x_GLF_color
%59 = OpCompositeConstruct %main_out %58
%57 = OpFunctionCall %void %tint_symbol_3 %59
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 94
; Bound: 88
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -56,13 +54,13 @@ SKIP: FAILED
%bool = OpTypeBool
%int_100 = OpConstant %int 100
%void = OpTypeVoid
%69 = OpTypeFunction %void
%63 = OpTypeFunction %void
%float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0
%80 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%81 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%74 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%75 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%main_out = OpTypeStruct %v4float
%82 = OpTypeFunction %void %main_out
%76 = OpTypeFunction %void %main_out
%func_ = OpFunction %int None %12
%15 = OpLabel
%loop_count = OpVariable %_ptr_Function_int Function %18
@ -116,62 +114,45 @@ SKIP: FAILED
OpStore %x_45_phi %56
%57 = OpLoad %int %x_39
%59 = OpSLessThan %bool %57 %int_100
OpSelectionMerge %60 None
OpBranchConditional %59 %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %31
%60 = OpLabel
OpBranch %30
OpBranchConditional %59 %30 %31
%31 = OpLabel
OpBranch %23
%23 = OpLabel
%63 = OpLoad %int %x_39
OpStore %x_38_phi %63
%64 = OpLoad %int %x_39
%65 = OpSLessThan %bool %64 %int_100
OpSelectionMerge %66 None
OpBranchConditional %65 %67 %68
%67 = OpLabel
OpBranch %66
%68 = OpLabel
OpBranch %22
%66 = OpLabel
OpBranch %21
%60 = OpLoad %int %x_39
OpStore %x_38_phi %60
%61 = OpLoad %int %x_39
%62 = OpSLessThan %bool %61 %int_100
OpBranchConditional %62 %21 %22
%22 = OpLabel
OpReturnValue %int_0
OpFunctionEnd
%main_1 = OpFunction %void None %69
%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
%main_1 = OpFunction %void None %63
%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 %82
%tint_symbol_2 = OpFunction %void None %76
%tint_symbol = OpFunctionParameter %main_out
%86 = OpLabel
%87 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %87
%80 = OpLabel
%81 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %81
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
%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
1:1: The continue construct with the continue target 23[%23] is not post dominated by the back-edge block 66[%66]
%66 = OpLabel

View File

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

View File

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

View File

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

View File

@ -1,9 +1,7 @@
SKIP: FAILED
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 125
; Bound: 122
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -74,9 +72,9 @@ SKIP: FAILED
%int_17 = OpConstant %int 17
%uint_1 = OpConstant %uint 1
%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
%113 = OpTypeFunction %void %main_out
%110 = OpTypeFunction %void %main_out
%binarySearch_struct_BinarySearchObject_i1_10_1_ = OpFunction %int None %12
%obj = OpFunctionParameter %_ptr_Function_BinarySearchObject
%21 = OpLabel
@ -178,43 +176,33 @@ SKIP: FAILED
%100 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
%101 = OpLoad %float %100
%103 = OpFOrdGreaterThan %bool %float_0 %101
OpSelectionMerge %104 None
OpBranchConditional %103 %105 %106
%105 = OpLabel
OpBranch %104
%106 = OpLabel
OpBranch %96
%104 = OpLabel
OpBranch %95
OpBranchConditional %103 %95 %96
%96 = OpLabel
OpBranch %61
%61 = OpLabel
%107 = OpLoad %int %i
%108 = OpIAdd %int %107 %int_1
OpStore %i %108
%104 = OpLoad %int %i
%105 = OpIAdd %int %104 %int_1
OpStore %i %105
OpBranch %59
%60 = OpLabel
%109 = OpLoad %BinarySearchObject %obj_1
OpStore %param %109
%110 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param
OpStore %x_GLF_color %112
%106 = OpLoad %BinarySearchObject %obj_1
OpStore %param %106
%107 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param
OpStore %x_GLF_color %109
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %113
%tint_symbol_2 = OpFunction %void None %110
%tint_symbol = OpFunctionParameter %main_out
%117 = OpLabel
%118 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %118
%114 = OpLabel
%115 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %115
OpReturn
OpFunctionEnd
%main = OpFunction %void None %50
%120 = OpLabel
%121 = OpFunctionCall %void %main_1
%123 = OpLoad %v4float %x_GLF_color
%124 = OpCompositeConstruct %main_out %123
%122 = OpFunctionCall %void %tint_symbol_2 %124
%117 = OpLabel
%118 = OpFunctionCall %void %main_1
%120 = OpLoad %v4float %x_GLF_color
%121 = OpCompositeConstruct %main_out %120
%119 = OpFunctionCall %void %tint_symbol_2 %121
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 125
; Bound: 122
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -74,9 +72,9 @@ SKIP: FAILED
%int_17 = OpConstant %int 17
%uint_1 = OpConstant %uint 1
%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
%113 = OpTypeFunction %void %main_out
%110 = OpTypeFunction %void %main_out
%binarySearch_struct_BinarySearchObject_i1_10_1_ = OpFunction %int None %12
%obj = OpFunctionParameter %_ptr_Function_BinarySearchObject
%21 = OpLabel
@ -178,43 +176,33 @@ SKIP: FAILED
%100 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
%101 = OpLoad %float %100
%103 = OpFOrdGreaterThan %bool %float_0 %101
OpSelectionMerge %104 None
OpBranchConditional %103 %105 %106
%105 = OpLabel
OpBranch %104
%106 = OpLabel
OpBranch %96
%104 = OpLabel
OpBranch %95
OpBranchConditional %103 %95 %96
%96 = OpLabel
OpBranch %61
%61 = OpLabel
%107 = OpLoad %int %i
%108 = OpIAdd %int %107 %int_1
OpStore %i %108
%104 = OpLoad %int %i
%105 = OpIAdd %int %104 %int_1
OpStore %i %105
OpBranch %59
%60 = OpLabel
%109 = OpLoad %BinarySearchObject %obj_1
OpStore %param %109
%110 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param
OpStore %x_GLF_color %112
%106 = OpLoad %BinarySearchObject %obj_1
OpStore %param %106
%107 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param
OpStore %x_GLF_color %109
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %113
%tint_symbol_2 = OpFunction %void None %110
%tint_symbol = OpFunctionParameter %main_out
%117 = OpLabel
%118 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %118
%114 = OpLabel
%115 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %115
OpReturn
OpFunctionEnd
%main = OpFunction %void None %50
%120 = OpLabel
%121 = OpFunctionCall %void %main_1
%123 = OpLoad %v4float %x_GLF_color
%124 = OpCompositeConstruct %main_out %123
%122 = OpFunctionCall %void %tint_symbol_2 %124
%117 = OpLabel
%118 = OpFunctionCall %void %main_1
%120 = OpLoad %v4float %x_GLF_color
%121 = OpCompositeConstruct %main_out %120
%119 = OpFunctionCall %void %tint_symbol_2 %121
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 145
; Bound: 140
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -69,9 +67,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%int_1 = OpConstant %int 1
%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
%133 = OpTypeFunction %void %main_out
%128 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12
%15 = OpLabel
%i = OpVariable %_ptr_Function_int Function %19
@ -173,90 +171,75 @@ SKIP: FAILED
%98 = OpLoad %int %msb10
%99 = OpLoad %int %msb10
%101 = OpSGreaterThanEqual %bool %97 %int_0
OpSelectionMerge %102 None
OpBranchConditional %101 %103 %102
%103 = OpLabel
%105 = OpSLessThan %bool %98 %int_9
OpBranch %102
%102 = OpLabel
%106 = OpPhi %bool %101 %96 %105 %103
%100 = OpSelect %int %106 %99 %int_0
%103 = OpSLessThan %bool %98 %int_9
%104 = OpLogicalAnd %bool %101 %103
%100 = OpSelect %int %104 %99 %int_0
%106 = OpAccessChain %_ptr_Function_float %donor_replacementGLF_dead5sums %100
%107 = OpLoad %float %106
%108 = OpAccessChain %_ptr_Function_float %donor_replacementGLF_dead5sums %100
%109 = OpLoad %float %108
%110 = OpAccessChain %_ptr_Function_float %donor_replacementGLF_dead5sums %100
%112 = OpFAdd %float %109 %float_1
OpStore %110 %112
%110 = OpFAdd %float %107 %float_1
OpStore %108 %110
OpBranch %94
%95 = OpLabel
OpBranch %94
%94 = OpLabel
OpBranch %85
%85 = OpLabel
%113 = OpLoad %int %GLF_dead5r
%115 = OpIAdd %int %113 %int_1
OpStore %GLF_dead5r %115
%111 = OpLoad %int %GLF_dead5r
%113 = OpIAdd %int %111 %int_1
OpStore %GLF_dead5r %113
OpBranch %83
%84 = OpLabel
OpBranch %75
%75 = OpLabel
%116 = OpLoad %int %GLF_dead5c
%117 = OpIAdd %int %116 %int_1
OpStore %GLF_dead5c %117
%114 = OpLoad %int %GLF_dead5c
%115 = OpIAdd %int %114 %int_1
OpStore %GLF_dead5c %115
OpBranch %73
%74 = OpLabel
%118 = OpLoad %int %msb10
%119 = OpIAdd %int %118 %int_1
OpStore %msb10 %119
%116 = OpLoad %int %msb10
%117 = OpIAdd %int %116 %int_1
OpStore %msb10 %117
OpBranch %66
%66 = OpLabel
%120 = OpLoad %int %GLF_dead5rows
%121 = OpIAdd %int %120 %int_1
OpStore %GLF_dead5rows %121
%118 = OpLoad %int %GLF_dead5rows
%119 = OpIAdd %int %118 %int_1
OpStore %GLF_dead5rows %119
OpBranch %64
%65 = OpLabel
OpBranch %56
%56 = OpLabel
%122 = OpLoad %int %GLF_dead5cols
%123 = OpIAdd %int %122 %int_1
OpStore %GLF_dead5cols %123
%120 = OpLoad %int %GLF_dead5cols
%121 = OpIAdd %int %120 %int_1
OpStore %GLF_dead5cols %121
OpBranch %54
%55 = OpLabel
OpBranch %51
%51 = OpLabel
%124 = OpLoad %int %i
%125 = OpIAdd %int %124 %int_1
OpStore %i %125
%122 = OpLoad %int %i
%123 = OpIAdd %int %122 %int_1
OpStore %i %123
OpBranch %34
%34 = OpLabel
%126 = OpLoad %int %i
%128 = OpSLessThan %bool %126 %int_200
OpSelectionMerge %129 None
OpBranchConditional %128 %130 %131
%130 = OpLabel
OpBranch %129
%131 = OpLabel
OpBranch %33
%129 = OpLabel
OpBranch %32
%124 = OpLoad %int %i
%126 = OpSLessThan %bool %124 %int_200
OpBranchConditional %126 %32 %33
%33 = OpLabel
OpStore %x_GLF_color %132
OpStore %x_GLF_color %127
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %133
%tint_symbol_2 = OpFunction %void None %128
%tint_symbol = OpFunctionParameter %main_out
%137 = OpLabel
%138 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %138
%132 = OpLabel
%133 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %133
OpReturn
OpFunctionEnd
%main = OpFunction %void None %12
%140 = OpLabel
%141 = OpFunctionCall %void %main_1
%143 = OpLoad %v4float %x_GLF_color
%144 = OpCompositeConstruct %main_out %143
%142 = OpFunctionCall %void %tint_symbol_2 %144
%135 = OpLabel
%136 = OpFunctionCall %void %main_1
%138 = OpLoad %v4float %x_GLF_color
%139 = OpCompositeConstruct %main_out %138
%137 = OpFunctionCall %void %tint_symbol_2 %139
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 145
; Bound: 142
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -69,9 +67,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%int_1 = OpConstant %int 1
%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
%133 = OpTypeFunction %void %main_out
%130 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12
%15 = OpLabel
%i = OpVariable %_ptr_Function_int Function %19
@ -230,33 +228,23 @@ SKIP: FAILED
%34 = OpLabel
%126 = OpLoad %int %i
%128 = OpSLessThan %bool %126 %int_200
OpSelectionMerge %129 None
OpBranchConditional %128 %130 %131
%130 = OpLabel
OpBranch %129
%131 = OpLabel
OpBranch %33
%129 = OpLabel
OpBranch %32
OpBranchConditional %128 %32 %33
%33 = OpLabel
OpStore %x_GLF_color %132
OpStore %x_GLF_color %129
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %133
%tint_symbol_2 = OpFunction %void None %130
%tint_symbol = OpFunctionParameter %main_out
%137 = OpLabel
%138 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %138
%134 = OpLabel
%135 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %135
OpReturn
OpFunctionEnd
%main = OpFunction %void None %12
%140 = OpLabel
%141 = OpFunctionCall %void %main_1
%143 = OpLoad %v4float %x_GLF_color
%144 = OpCompositeConstruct %main_out %143
%142 = OpFunctionCall %void %tint_symbol_2 %144
%137 = OpLabel
%138 = OpFunctionCall %void %main_1
%140 = OpLoad %v4float %x_GLF_color
%141 = OpCompositeConstruct %main_out %140
%139 = OpFunctionCall %void %tint_symbol_2 %141
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 120
; Bound: 117
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -81,9 +79,9 @@ SKIP: FAILED
%true = OpConstantTrue %bool
%_ptr_Function_float = OpTypePointer Function %float
%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
%108 = OpTypeFunction %void %main_out
%105 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12
%15 = OpLabel
%x_36 = OpVariable %_ptr_Function_bool Function %20
@ -134,105 +132,95 @@ SKIP: FAILED
OpStore %x_40_phi %58
%59 = OpLoad %v3float %x_43
OpStore %x_42_phi %59
OpSelectionMerge %60 None
OpBranchConditional %false %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %40
%60 = OpLabel
OpBranch %39
OpBranchConditional %false %39 %40
%40 = OpLabel
OpStore %x_36 %false
%63 = OpLoad %bool %x_40
OpStore %x_56_phi %63
%60 = OpLoad %bool %x_40
OpStore %x_56_phi %60
OpStore %x_58_phi %false
OpBranch %61
%61 = OpLabel
OpLoopMerge %62 %63 None
OpBranch %64
%64 = OpLabel
OpLoopMerge %65 %66 None
OpBranch %67
%67 = OpLabel
%74 = OpLoad %bool %x_56_phi
%75 = OpLoad %bool %x_58_phi
%71 = OpLoad %bool %x_56_phi
%72 = OpLoad %bool %x_58_phi
OpStore %x_7 %int_0
OpStore %x_62_phi %74
OpStore %x_62_phi %71
OpStore %x_64_phi %false
OpStore %x_65_phi %int_0
OpBranch %74
%74 = OpLabel
OpLoopMerge %75 %76 None
OpBranch %77
%77 = OpLabel
OpLoopMerge %78 %79 None
OpBranch %80
%80 = OpLabel
%81 = OpLoad %bool %x_62_phi
OpStore %x_62 %81
%82 = OpLoad %bool %x_64_phi
%83 = OpLoad %int %x_65_phi
%85 = OpSLessThan %bool %int_0 %int_1
%86 = OpLoad %bool %x_62
OpStore %x_70_phi %86
%78 = OpLoad %bool %x_62_phi
OpStore %x_62 %78
%79 = OpLoad %bool %x_64_phi
%80 = OpLoad %int %x_65_phi
%82 = OpSLessThan %bool %int_0 %int_1
%83 = OpLoad %bool %x_62
OpStore %x_70_phi %83
OpStore %x_71_phi %false
OpSelectionMerge %88 None
OpBranchConditional %true %89 %90
%89 = OpLabel
OpBranch %88
%90 = OpLabel
OpBranch %78
%88 = OpLabel
OpSelectionMerge %85 None
OpBranchConditional %true %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %75
%85 = OpLabel
OpStore %x_36 %true
OpStore %x_37 %true
OpStore %x_70_phi %true
OpStore %x_71_phi %true
OpBranch %78
%79 = OpLabel
OpBranch %75
%76 = OpLabel
OpStore %x_62_phi %false
OpStore %x_64_phi %false
OpStore %x_65_phi %int_0
OpBranch %77
%78 = OpLabel
%91 = OpLoad %bool %x_70_phi
%92 = OpLoad %bool %x_71_phi
OpSelectionMerge %93 None
OpBranchConditional %true %94 %93
%94 = OpLabel
OpBranch %65
%93 = OpLabel
OpBranch %74
%75 = OpLabel
%88 = OpLoad %bool %x_70_phi
%89 = OpLoad %bool %x_71_phi
OpSelectionMerge %90 None
OpBranchConditional %true %91 %90
%91 = OpLabel
OpBranch %62
%90 = OpLabel
OpStore %x_36 %true
OpBranch %65
%66 = OpLabel
OpBranch %62
%63 = OpLabel
OpStore %x_56_phi %false
OpStore %x_58_phi %false
OpBranch %64
%65 = OpLabel
OpBranch %61
%62 = OpLabel
OpStore %x_38 %true
%95 = OpSelect %float %true %float_1 %float_0
%97 = OpAccessChain %_ptr_Function_float %x_43 %uint_0
%98 = OpLoad %float %97
%99 = OpAccessChain %_ptr_Function_float %x_43 %uint_1
%92 = OpSelect %float %true %float_1 %float_0
%94 = OpAccessChain %_ptr_Function_float %x_43 %uint_0
%95 = OpLoad %float %94
%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
%102 = OpAccessChain %_ptr_Function_float %x_43 %uint_2
%103 = OpLoad %float %102
%104 = OpCompositeConstruct %v4float %98 %100 %103 %float_1
%105 = OpCompositeConstruct %v4float %95 %95 %95 %95
%106 = OpFAdd %v4float %104 %105
OpStore %x_GLF_color %106
OpStore %x_GLF_color %107
%101 = OpCompositeConstruct %v4float %95 %97 %100 %float_1
%102 = OpCompositeConstruct %v4float %92 %92 %92 %92
%103 = OpFAdd %v4float %101 %102
OpStore %x_GLF_color %103
OpStore %x_GLF_color %104
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %108
%tint_symbol_2 = OpFunction %void None %105
%tint_symbol = OpFunctionParameter %main_out
%112 = OpLabel
%113 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %113
%109 = OpLabel
%110 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %110
OpReturn
OpFunctionEnd
%main = OpFunction %void None %12
%115 = OpLabel
%116 = OpFunctionCall %void %main_1
%118 = OpLoad %v4float %x_GLF_color
%119 = OpCompositeConstruct %main_out %118
%117 = OpFunctionCall %void %tint_symbol_2 %119
%112 = OpLabel
%113 = OpFunctionCall %void %main_1
%115 = OpLoad %v4float %x_GLF_color
%116 = OpCompositeConstruct %main_out %115
%114 = OpFunctionCall %void %tint_symbol_2 %116
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 120
; Bound: 117
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -81,9 +79,9 @@ SKIP: FAILED
%true = OpConstantTrue %bool
%_ptr_Function_float = OpTypePointer Function %float
%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
%108 = OpTypeFunction %void %main_out
%105 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %12
%15 = OpLabel
%x_36 = OpVariable %_ptr_Function_bool Function %20
@ -134,105 +132,95 @@ SKIP: FAILED
OpStore %x_40_phi %58
%59 = OpLoad %v3float %x_43
OpStore %x_42_phi %59
OpSelectionMerge %60 None
OpBranchConditional %false %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %40
%60 = OpLabel
OpBranch %39
OpBranchConditional %false %39 %40
%40 = OpLabel
OpStore %x_36 %false
%63 = OpLoad %bool %x_40
OpStore %x_56_phi %63
%60 = OpLoad %bool %x_40
OpStore %x_56_phi %60
OpStore %x_58_phi %false
OpBranch %61
%61 = OpLabel
OpLoopMerge %62 %63 None
OpBranch %64
%64 = OpLabel
OpLoopMerge %65 %66 None
OpBranch %67
%67 = OpLabel
%74 = OpLoad %bool %x_56_phi
%75 = OpLoad %bool %x_58_phi
%71 = OpLoad %bool %x_56_phi
%72 = OpLoad %bool %x_58_phi
OpStore %x_7 %int_0
OpStore %x_62_phi %74
OpStore %x_62_phi %71
OpStore %x_64_phi %false
OpStore %x_65_phi %int_0
OpBranch %74
%74 = OpLabel
OpLoopMerge %75 %76 None
OpBranch %77
%77 = OpLabel
OpLoopMerge %78 %79 None
OpBranch %80
%80 = OpLabel
%81 = OpLoad %bool %x_62_phi
OpStore %x_62 %81
%82 = OpLoad %bool %x_64_phi
%83 = OpLoad %int %x_65_phi
%85 = OpSLessThan %bool %int_0 %int_1
%86 = OpLoad %bool %x_62
OpStore %x_70_phi %86
%78 = OpLoad %bool %x_62_phi
OpStore %x_62 %78
%79 = OpLoad %bool %x_64_phi
%80 = OpLoad %int %x_65_phi
%82 = OpSLessThan %bool %int_0 %int_1
%83 = OpLoad %bool %x_62
OpStore %x_70_phi %83
OpStore %x_71_phi %false
OpSelectionMerge %88 None
OpBranchConditional %true %89 %90
%89 = OpLabel
OpBranch %88
%90 = OpLabel
OpBranch %78
%88 = OpLabel
OpSelectionMerge %85 None
OpBranchConditional %true %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %75
%85 = OpLabel
OpStore %x_36 %true
OpStore %x_37 %true
OpStore %x_70_phi %true
OpStore %x_71_phi %true
OpBranch %78
%79 = OpLabel
OpBranch %75
%76 = OpLabel
OpStore %x_62_phi %false
OpStore %x_64_phi %false
OpStore %x_65_phi %int_0
OpBranch %77
%78 = OpLabel
%91 = OpLoad %bool %x_70_phi
%92 = OpLoad %bool %x_71_phi
OpSelectionMerge %93 None
OpBranchConditional %true %94 %93
%94 = OpLabel
OpBranch %65
%93 = OpLabel
OpBranch %74
%75 = OpLabel
%88 = OpLoad %bool %x_70_phi
%89 = OpLoad %bool %x_71_phi
OpSelectionMerge %90 None
OpBranchConditional %true %91 %90
%91 = OpLabel
OpBranch %62
%90 = OpLabel
OpStore %x_36 %true
OpBranch %65
%66 = OpLabel
OpBranch %62
%63 = OpLabel
OpStore %x_56_phi %false
OpStore %x_58_phi %false
OpBranch %64
%65 = OpLabel
OpBranch %61
%62 = OpLabel
OpStore %x_38 %true
%95 = OpSelect %float %true %float_1 %float_0
%97 = OpAccessChain %_ptr_Function_float %x_43 %uint_0
%98 = OpLoad %float %97
%99 = OpAccessChain %_ptr_Function_float %x_43 %uint_1
%92 = OpSelect %float %true %float_1 %float_0
%94 = OpAccessChain %_ptr_Function_float %x_43 %uint_0
%95 = OpLoad %float %94
%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
%102 = OpAccessChain %_ptr_Function_float %x_43 %uint_2
%103 = OpLoad %float %102
%104 = OpCompositeConstruct %v4float %98 %100 %103 %float_1
%105 = OpCompositeConstruct %v4float %95 %95 %95 %95
%106 = OpFAdd %v4float %104 %105
OpStore %x_GLF_color %106
OpStore %x_GLF_color %107
%101 = OpCompositeConstruct %v4float %95 %97 %100 %float_1
%102 = OpCompositeConstruct %v4float %92 %92 %92 %92
%103 = OpFAdd %v4float %101 %102
OpStore %x_GLF_color %103
OpStore %x_GLF_color %104
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %108
%tint_symbol_2 = OpFunction %void None %105
%tint_symbol = OpFunctionParameter %main_out
%112 = OpLabel
%113 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %113
%109 = OpLabel
%110 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %110
OpReturn
OpFunctionEnd
%main = OpFunction %void None %12
%115 = OpLabel
%116 = OpFunctionCall %void %main_1
%118 = OpLoad %v4float %x_GLF_color
%119 = OpCompositeConstruct %main_out %118
%117 = OpFunctionCall %void %tint_symbol_2 %119
%112 = OpLabel
%113 = OpFunctionCall %void %main_1
%115 = OpLoad %v4float %x_GLF_color
%116 = OpCompositeConstruct %main_out %115
%114 = OpFunctionCall %void %tint_symbol_2 %116
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 141
; Bound: 138
; Schema: 0
OpCapability Shader
%39 = OpExtInstImport "GLSL.std.450"
@ -81,7 +79,7 @@ SKIP: FAILED
%_ptr_Function_float = OpTypePointer Function %float
%uint_2 = OpConstant %uint 2
%main_out = OpTypeStruct %v4float
%128 = OpTypeFunction %void %main_out
%125 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%x_42 = OpVariable %_ptr_Function_v4float Function %5
@ -207,46 +205,36 @@ SKIP: FAILED
%119 = OpLoad %v4float %x_42
OpStore %x_41_phi %119
%120 = OpSLessThan %bool %36 %int_0
OpSelectionMerge %121 None
OpBranchConditional %120 %122 %123
%122 = OpLabel
OpBranch %121
%123 = OpLabel
OpBranch %45
%121 = OpLabel
OpBranch %44
OpBranchConditional %120 %44 %45
%45 = OpLabel
%124 = OpLoad %bool %x_39
OpSelectionMerge %125 None
OpBranchConditional %124 %126 %125
%126 = OpLabel
%121 = OpLoad %bool %x_39
OpSelectionMerge %122 None
OpBranchConditional %121 %123 %122
%123 = OpLabel
OpBranch %20
%125 = OpLabel
%127 = OpLoad %v4float %x_42
OpStore %x_GLF_color %127
%122 = OpLabel
%124 = OpLoad %v4float %x_42
OpStore %x_GLF_color %124
OpBranch %20
%21 = OpLabel
OpBranch %19
%20 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %128
%tint_symbol_3 = OpFunction %void None %125
%tint_symbol_1 = OpFunctionParameter %main_out
%132 = OpLabel
%133 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %133
%129 = OpLabel
%130 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %130
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%135 = OpLabel
%136 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %136
%137 = OpFunctionCall %void %main_1
%139 = OpLoad %v4float %x_GLF_color
%140 = OpCompositeConstruct %main_out %139
%138 = OpFunctionCall %void %tint_symbol_3 %140
%132 = OpLabel
%133 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %133
%134 = OpFunctionCall %void %main_1
%136 = OpLoad %v4float %x_GLF_color
%137 = OpCompositeConstruct %main_out %136
%135 = OpFunctionCall %void %tint_symbol_3 %137
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 141
; Bound: 138
; Schema: 0
OpCapability Shader
%39 = OpExtInstImport "GLSL.std.450"
@ -81,7 +79,7 @@ SKIP: FAILED
%_ptr_Function_float = OpTypePointer Function %float
%uint_2 = OpConstant %uint 2
%main_out = OpTypeStruct %v4float
%128 = OpTypeFunction %void %main_out
%125 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%x_42 = OpVariable %_ptr_Function_v4float Function %5
@ -207,46 +205,36 @@ SKIP: FAILED
%119 = OpLoad %v4float %x_42
OpStore %x_41_phi %119
%120 = OpSLessThan %bool %36 %int_0
OpSelectionMerge %121 None
OpBranchConditional %120 %122 %123
%122 = OpLabel
OpBranch %121
%123 = OpLabel
OpBranch %45
%121 = OpLabel
OpBranch %44
OpBranchConditional %120 %44 %45
%45 = OpLabel
%124 = OpLoad %bool %x_39
OpSelectionMerge %125 None
OpBranchConditional %124 %126 %125
%126 = OpLabel
%121 = OpLoad %bool %x_39
OpSelectionMerge %122 None
OpBranchConditional %121 %123 %122
%123 = OpLabel
OpBranch %20
%125 = OpLabel
%127 = OpLoad %v4float %x_42
OpStore %x_GLF_color %127
%122 = OpLabel
%124 = OpLoad %v4float %x_42
OpStore %x_GLF_color %124
OpBranch %20
%21 = OpLabel
OpBranch %19
%20 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %128
%tint_symbol_3 = OpFunction %void None %125
%tint_symbol_1 = OpFunctionParameter %main_out
%132 = OpLabel
%133 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %133
%129 = OpLabel
%130 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %130
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%135 = OpLabel
%136 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %136
%137 = OpFunctionCall %void %main_1
%139 = OpLoad %v4float %x_GLF_color
%140 = OpCompositeConstruct %main_out %139
%138 = OpFunctionCall %void %tint_symbol_3 %140
%132 = OpLabel
%133 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %133
%134 = OpFunctionCall %void %main_1
%136 = OpLoad %v4float %x_GLF_color
%137 = OpCompositeConstruct %main_out %136
%135 = OpFunctionCall %void %tint_symbol_3 %137
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 112
; Bound: 109
; Schema: 0
OpCapability Shader
%44 = OpExtInstImport "GLSL.std.450"
@ -74,9 +72,9 @@ SKIP: FAILED
%int_0 = OpConstant %int 0
%int_6 = OpConstant %int 6
%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
%99 = OpTypeFunction %void %main_out
%96 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18
%21 = OpLabel
%lv = OpVariable %_ptr_Function_float Function %8
@ -134,70 +132,60 @@ SKIP: FAILED
%77 = OpLabel
OpBranch %76
%76 = OpLabel
OpSelectionMerge %79 None
OpBranchConditional %true %80 %81
%80 = OpLabel
OpBranch %79
%81 = OpLabel
OpBranch %75
%79 = OpLabel
OpBranch %74
OpBranchConditional %true %74 %75
%75 = OpLabel
OpBranch %72
%72 = OpLabel
OpStore %GLF_live5r %int_0
OpBranch %80
%80 = OpLabel
OpLoopMerge %81 %82 None
OpBranch %83
%83 = OpLabel
OpLoopMerge %84 %85 None
OpBranch %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
OpSelectionMerge %84 None
OpBranchConditional %true %85 %86
%85 = OpLabel
OpBranch %83
OpBranch %84
%86 = OpLabel
OpBranch %81
%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
%66 = OpLabel
OpBranch %57
%57 = OpLabel
OpBranch %51
%51 = OpLabel
OpStore %x_GLF_color %98
OpStore %x_GLF_color %95
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %99
%tint_symbol_3 = OpFunction %void None %96
%tint_symbol_1 = OpFunctionParameter %main_out
%103 = OpLabel
%104 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %104
%100 = OpLabel
%101 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %101
OpReturn
OpFunctionEnd
%main = OpFunction %void None %18
%106 = OpLabel
%107 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %107
%108 = OpFunctionCall %void %main_1
%110 = OpLoad %v4float %x_GLF_color
%111 = OpCompositeConstruct %main_out %110
%109 = OpFunctionCall %void %tint_symbol_3 %111
%103 = OpLabel
%104 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %104
%105 = OpFunctionCall %void %main_1
%107 = OpLoad %v4float %x_GLF_color
%108 = OpCompositeConstruct %main_out %107
%106 = OpFunctionCall %void %tint_symbol_3 %108
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 112
; Bound: 109
; Schema: 0
OpCapability Shader
%44 = OpExtInstImport "GLSL.std.450"
@ -74,9 +72,9 @@ SKIP: FAILED
%int_0 = OpConstant %int 0
%int_6 = OpConstant %int 6
%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
%99 = OpTypeFunction %void %main_out
%96 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %18
%21 = OpLabel
%lv = OpVariable %_ptr_Function_float Function %8
@ -134,70 +132,60 @@ SKIP: FAILED
%77 = OpLabel
OpBranch %76
%76 = OpLabel
OpSelectionMerge %79 None
OpBranchConditional %true %80 %81
%80 = OpLabel
OpBranch %79
%81 = OpLabel
OpBranch %75
%79 = OpLabel
OpBranch %74
OpBranchConditional %true %74 %75
%75 = OpLabel
OpBranch %72
%72 = OpLabel
OpStore %GLF_live5r %int_0
OpBranch %80
%80 = OpLabel
OpLoopMerge %81 %82 None
OpBranch %83
%83 = OpLabel
OpLoopMerge %84 %85 None
OpBranch %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
OpSelectionMerge %84 None
OpBranchConditional %true %85 %86
%85 = OpLabel
OpBranch %83
OpBranch %84
%86 = OpLabel
OpBranch %81
%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
%66 = OpLabel
OpBranch %57
%57 = OpLabel
OpBranch %51
%51 = OpLabel
OpStore %x_GLF_color %98
OpStore %x_GLF_color %95
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %99
%tint_symbol_3 = OpFunction %void None %96
%tint_symbol_1 = OpFunctionParameter %main_out
%103 = OpLabel
%104 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %104
%100 = OpLabel
%101 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %101
OpReturn
OpFunctionEnd
%main = OpFunction %void None %18
%106 = OpLabel
%107 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %107
%108 = OpFunctionCall %void %main_1
%110 = OpLoad %v4float %x_GLF_color
%111 = OpCompositeConstruct %main_out %110
%109 = OpFunctionCall %void %tint_symbol_3 %111
%103 = OpLabel
%104 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %104
%105 = OpFunctionCall %void %main_1
%107 = OpLoad %v4float %x_GLF_color
%108 = OpCompositeConstruct %main_out %107
%106 = OpFunctionCall %void %tint_symbol_3 %108
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 509
; Bound: 506
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -117,9 +115,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%489 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%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
%496 = OpTypeFunction %void %main_out
%493 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22
%25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28
@ -741,35 +739,25 @@ SKIP: FAILED
OpBranch %87
%87 = OpLabel
%490 = OpLoad %bool %canwalk
OpSelectionMerge %491 None
OpBranchConditional %490 %492 %493
%492 = OpLabel
OpBranch %491
%493 = OpLabel
OpBranch %86
%491 = OpLabel
OpBranch %85
OpBranchConditional %490 %85 %86
%86 = OpLabel
OpStore %x_GLF_color %495
OpStore %x_GLF_color %492
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %496
%tint_symbol_3 = OpFunction %void None %493
%tint_symbol_1 = OpFunctionParameter %main_out
%500 = OpLabel
%501 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %501
%497 = OpLabel
%498 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %498
OpReturn
OpFunctionEnd
%main = OpFunction %void None %22
%503 = OpLabel
%504 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %504
%505 = OpFunctionCall %void %main_1
%507 = OpLoad %v4float %x_GLF_color
%508 = OpCompositeConstruct %main_out %507
%506 = OpFunctionCall %void %tint_symbol_3 %508
%500 = OpLabel
%501 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %501
%502 = OpFunctionCall %void %main_1
%504 = OpLoad %v4float %x_GLF_color
%505 = OpCompositeConstruct %main_out %504
%503 = OpFunctionCall %void %tint_symbol_3 %505
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 509
; Bound: 506
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -117,9 +115,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%489 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%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
%496 = OpTypeFunction %void %main_out
%493 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22
%25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28
@ -741,35 +739,25 @@ SKIP: FAILED
OpBranch %87
%87 = OpLabel
%490 = OpLoad %bool %canwalk
OpSelectionMerge %491 None
OpBranchConditional %490 %492 %493
%492 = OpLabel
OpBranch %491
%493 = OpLabel
OpBranch %86
%491 = OpLabel
OpBranch %85
OpBranchConditional %490 %85 %86
%86 = OpLabel
OpStore %x_GLF_color %495
OpStore %x_GLF_color %492
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %496
%tint_symbol_3 = OpFunction %void None %493
%tint_symbol_1 = OpFunctionParameter %main_out
%500 = OpLabel
%501 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %501
%497 = OpLabel
%498 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %498
OpReturn
OpFunctionEnd
%main = OpFunction %void None %22
%503 = OpLabel
%504 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %504
%505 = OpFunctionCall %void %main_1
%507 = OpLoad %v4float %x_GLF_color
%508 = OpCompositeConstruct %main_out %507
%506 = OpFunctionCall %void %tint_symbol_3 %508
%500 = OpLabel
%501 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %501
%502 = OpFunctionCall %void %main_1
%504 = OpLoad %v4float %x_GLF_color
%505 = OpCompositeConstruct %main_out %504
%503 = OpFunctionCall %void %tint_symbol_3 %505
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 520
; Bound: 517
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -123,9 +121,9 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%float_1 = OpConstant %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
%507 = OpTypeFunction %void %main_out
%504 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %28
%31 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %34
@ -757,35 +755,25 @@ SKIP: FAILED
OpBranch %96
%96 = OpLabel
%502 = OpLoad %bool %canwalk
OpSelectionMerge %503 None
OpBranchConditional %502 %504 %505
%504 = OpLabel
OpBranch %503
%505 = OpLabel
OpBranch %95
%503 = OpLabel
OpBranch %94
OpBranchConditional %502 %94 %95
%95 = OpLabel
OpStore %x_GLF_color %506
OpStore %x_GLF_color %503
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %507
%tint_symbol_3 = OpFunction %void None %504
%tint_symbol_1 = OpFunctionParameter %main_out
%511 = OpLabel
%512 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %512
%508 = OpLabel
%509 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %509
OpReturn
OpFunctionEnd
%main = OpFunction %void None %28
%514 = OpLabel
%515 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %515
%516 = OpFunctionCall %void %main_1
%518 = OpLoad %v4float %x_GLF_color
%519 = OpCompositeConstruct %main_out %518
%517 = OpFunctionCall %void %tint_symbol_3 %519
%511 = OpLabel
%512 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %512
%513 = OpFunctionCall %void %main_1
%515 = OpLoad %v4float %x_GLF_color
%516 = OpCompositeConstruct %main_out %515
%514 = OpFunctionCall %void %tint_symbol_3 %516
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 520
; Bound: 517
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -123,9 +121,9 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%float_1 = OpConstant %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
%507 = OpTypeFunction %void %main_out
%504 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %28
%31 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %34
@ -757,35 +755,25 @@ SKIP: FAILED
OpBranch %96
%96 = OpLabel
%502 = OpLoad %bool %canwalk
OpSelectionMerge %503 None
OpBranchConditional %502 %504 %505
%504 = OpLabel
OpBranch %503
%505 = OpLabel
OpBranch %95
%503 = OpLabel
OpBranch %94
OpBranchConditional %502 %94 %95
%95 = OpLabel
OpStore %x_GLF_color %506
OpStore %x_GLF_color %503
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %507
%tint_symbol_3 = OpFunction %void None %504
%tint_symbol_1 = OpFunctionParameter %main_out
%511 = OpLabel
%512 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %512
%508 = OpLabel
%509 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %509
OpReturn
OpFunctionEnd
%main = OpFunction %void None %28
%514 = OpLabel
%515 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %515
%516 = OpFunctionCall %void %main_1
%518 = OpLoad %v4float %x_GLF_color
%519 = OpCompositeConstruct %main_out %518
%517 = OpFunctionCall %void %tint_symbol_3 %519
%511 = OpLabel
%512 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %512
%513 = OpFunctionCall %void %main_1
%515 = OpLoad %v4float %x_GLF_color
%516 = OpCompositeConstruct %main_out %515
%514 = OpFunctionCall %void %tint_symbol_3 %516
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 419
; Bound: 412
; Schema: 0
OpCapability Shader
%180 = OpExtInstImport "GLSL.std.450"
%176 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft
@ -97,12 +95,12 @@ SKIP: FAILED
%bool = OpTypeBool
%_ptr_Private_int = OpTypePointer Private %int
%int_10 = OpConstant %int 10
%135 = OpTypeFunction %void
%131 = OpTypeFunction %void
%int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2
%_ptr_Function_float = OpTypePointer Function %float
%204 = OpConstantNull %float
%200 = OpConstantNull %float
%uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%int_n5 = OpConstant %int -5
@ -132,7 +130,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%406 = OpTypeFunction %void %main_out
%399 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -159,129 +157,119 @@ SKIP: FAILED
%54 = OpLoad %int %j
%56 = OpLoad %int %to
%57 = OpSLessThanEqual %bool %51 %53
OpSelectionMerge %59 None
OpBranchConditional %57 %60 %59
%60 = OpLabel
%61 = OpSLessThanEqual %bool %54 %56
OpBranch %59
%59 = OpLabel
%62 = OpPhi %bool %57 %50 %61 %60
OpSelectionMerge %63 None
OpBranchConditional %62 %64 %65
%64 = OpLabel
OpBranch %63
%65 = OpLabel
OpBranch %48
%59 = OpSLessThanEqual %bool %54 %56
%60 = OpLogicalAnd %bool %57 %59
OpSelectionMerge %61 None
OpBranchConditional %60 %62 %63
%62 = OpLabel
OpBranch %61
%63 = OpLabel
%66 = OpLoad %int %i
%68 = OpAccessChain %_ptr_Private_int %data %66
%69 = OpLoad %int %68
%70 = OpLoad %int %j
%71 = OpAccessChain %_ptr_Private_int %data %70
%72 = OpLoad %int %71
%73 = OpSLessThan %bool %69 %72
OpSelectionMerge %74 None
OpBranchConditional %73 %75 %76
%75 = OpLabel
%77 = OpLoad %int %k
OpBranch %48
%61 = OpLabel
%64 = OpLoad %int %i
%66 = OpAccessChain %_ptr_Private_int %data %64
%67 = OpLoad %int %66
%68 = OpLoad %int %j
%69 = OpAccessChain %_ptr_Private_int %data %68
%70 = OpLoad %int %69
%71 = OpSLessThan %bool %67 %70
OpSelectionMerge %72 None
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
OpStore %k %78
%79 = OpLoad %int %i
%80 = OpIAdd %int %79 %int_1
OpStore %i %80
%81 = OpAccessChain %_ptr_Private_int %data %79
%82 = OpLoad %int %81
%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
OpStore %i %78
%79 = OpAccessChain %_ptr_Private_int %data %77
%80 = OpLoad %int %79
%81 = OpAccessChain %_ptr_Private_int %temp %75
OpStore %81 %80
OpBranch %72
%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
%49 = OpLabel
OpBranch %47
%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
%91 = OpLabel
OpLoopMerge %92 %93 None
OpBranch %94
%94 = OpLabel
%95 = OpLoad %int %i
%96 = OpLoad %int %i
%98 = OpLoad %int %mid
%100 = OpSLessThan %bool %95 %int_10
OpSelectionMerge %101 None
OpBranchConditional %100 %102 %101
%102 = OpLabel
%103 = OpSLessThanEqual %bool %96 %98
OpBranch %101
%101 = OpLabel
%104 = OpPhi %bool %100 %94 %103 %102
OpSelectionMerge %105 None
OpBranchConditional %104 %106 %107
%106 = OpLabel
OpBranch %105
%107 = OpLabel
OpBranch %92
%105 = OpLabel
%108 = OpLoad %int %k
%109 = OpIAdd %int %108 %int_1
OpStore %k %109
%110 = OpLoad %int %i
%111 = OpIAdd %int %110 %int_1
OpStore %i %111
%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
OpBranch %89
%90 = OpLabel
%112 = OpLoad %int %from
OpStore %i_1 %112
OpBranch %113
%113 = OpLabel
OpLoopMerge %114 %115 None
OpBranch %116
%116 = OpLabel
%117 = OpLoad %int %i_1
%119 = OpLoad %int %to
%120 = OpSLessThanEqual %bool %117 %119
OpSelectionMerge %121 None
OpBranchConditional %120 %122 %123
%122 = OpLabel
OpBranch %121
%123 = OpLabel
OpBranch %114
%121 = OpLabel
%124 = OpLoad %int %i_1
%125 = OpLoad %int %i_1
%126 = OpAccessChain %_ptr_Private_int %temp %125
%127 = OpLoad %int %126
%128 = OpAccessChain %_ptr_Private_int %data %124
OpStore %128 %127
OpBranch %115
%115 = OpLabel
%129 = OpLoad %int %i_1
%130 = OpAccessChain %_ptr_Private_int %temp %129
%131 = OpLoad %int %130
%132 = OpAccessChain %_ptr_Private_int %data %128
OpStore %132 %131
OpBranch %119
%119 = OpLabel
%133 = OpLoad %int %i_1
%134 = OpIAdd %int %133 %int_1
OpStore %i_1 %134
OpBranch %117
%118 = OpLabel
%130 = OpIAdd %int %129 %int_1
OpStore %i_1 %130
OpBranch %113
%114 = OpLabel
OpReturn
OpFunctionEnd
%mergeSort_ = OpFunction %void None %135
%137 = OpLabel
%mergeSort_ = OpFunction %void None %131
%133 = OpLabel
%low = OpVariable %_ptr_Function_int Function %35
%high = OpVariable %_ptr_Function_int Function %35
%m = OpVariable %_ptr_Function_int Function %35
@ -295,366 +283,356 @@ SKIP: FAILED
OpStore %low %int_0
OpStore %high %int_9
OpStore %m %int_1
OpBranch %150
%150 = OpLabel
OpLoopMerge %151 %152 None
OpBranch %146
%146 = OpLabel
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
%155 = OpLabel
OpBranch %147
%153 = OpLabel
%154 = OpLoad %int %m
%155 = OpLoad %int %high
%156 = OpSLessThanEqual %bool %154 %155
OpSelectionMerge %157 None
OpBranchConditional %156 %158 %159
%158 = OpLabel
%156 = OpLoad %int %low
OpStore %i_2 %156
OpBranch %157
%159 = OpLabel
OpBranch %151
%157 = OpLabel
%160 = OpLoad %int %low
OpStore %i_2 %160
OpBranch %161
%161 = OpLabel
OpLoopMerge %162 %163 None
OpLoopMerge %158 %159 None
OpBranch %160
%160 = OpLabel
%161 = OpLoad %int %i_2
%162 = OpLoad %int %high
%163 = OpSLessThan %bool %161 %162
OpSelectionMerge %164 None
OpBranchConditional %163 %165 %166
%165 = OpLabel
OpBranch %164
%166 = OpLabel
OpBranch %158
%164 = OpLabel
%165 = OpLoad %int %i_2
%166 = OpLoad %int %high
%167 = OpSLessThan %bool %165 %166
OpSelectionMerge %168 None
OpBranchConditional %167 %169 %170
%169 = OpLabel
OpBranch %168
%170 = OpLabel
OpBranch %162
%168 = OpLabel
%171 = OpLoad %int %i_2
OpStore %from_1 %171
%167 = OpLoad %int %i_2
OpStore %from_1 %167
%168 = OpLoad %int %i_2
%169 = OpLoad %int %m
%170 = OpIAdd %int %168 %169
%171 = OpISub %int %170 %int_1
OpStore %mid_1 %171
%172 = OpLoad %int %i_2
%173 = OpLoad %int %m
%174 = OpIAdd %int %172 %173
%175 = OpISub %int %174 %int_1
OpStore %mid_1 %175
%176 = OpLoad %int %i_2
%177 = OpLoad %int %m
%178 = OpLoad %int %high
%182 = OpIMul %int %int_2 %177
%183 = OpIAdd %int %176 %182
%184 = OpISub %int %183 %int_1
%179 = OpExtInst %int %180 SMin %184 %178
OpStore %to_1 %179
%185 = OpLoad %int %from_1
OpStore %param %185
%186 = OpLoad %int %mid_1
OpStore %param_1 %186
%187 = OpLoad %int %to_1
OpStore %param_2 %187
%188 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
OpBranch %163
%163 = OpLabel
%174 = OpLoad %int %high
%178 = OpIMul %int %int_2 %173
%179 = OpIAdd %int %172 %178
%180 = OpISub %int %179 %int_1
%175 = OpExtInst %int %176 SMin %180 %174
OpStore %to_1 %175
%181 = OpLoad %int %from_1
OpStore %param %181
%182 = OpLoad %int %mid_1
OpStore %param_1 %182
%183 = OpLoad %int %to_1
OpStore %param_2 %183
%184 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
OpBranch %159
%159 = OpLabel
%188 = OpLoad %int %m
%189 = OpLoad %int %i_2
%190 = OpIMul %int %int_2 %188
%191 = OpIAdd %int %189 %190
OpStore %i_2 %191
OpBranch %157
%158 = OpLabel
OpBranch %148
%148 = OpLabel
%192 = OpLoad %int %m
%193 = OpLoad %int %i_2
%194 = OpIMul %int %int_2 %192
%195 = OpIAdd %int %193 %194
OpStore %i_2 %195
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
%193 = OpIMul %int %int_2 %192
OpStore %m %193
OpBranch %146
%147 = OpLabel
OpReturn
OpFunctionEnd
%main_1 = OpFunction %void None %135
%199 = OpLabel
%main_1 = OpFunction %void None %131
%195 = OpLabel
%i_3 = OpVariable %_ptr_Function_int Function %35
%j_1 = OpVariable %_ptr_Function_int Function %35
%grey = OpVariable %_ptr_Function_float Function %204
%207 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%208 = OpLoad %float %207
%209 = OpConvertFToS %int %208
OpStore %i_3 %209
OpBranch %210
%210 = OpLabel
OpLoopMerge %211 %212 None
OpBranch %213
%grey = OpVariable %_ptr_Function_float Function %200
%203 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%204 = OpLoad %float %203
%205 = OpConvertFToS %int %204
OpStore %i_3 %205
OpBranch %206
%206 = OpLabel
OpLoopMerge %207 %208 None
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
%214 = OpLoad %int %i_3
OpSelectionMerge %215 None
OpSwitch %214 %216 9 %217 8 %218 7 %219 6 %220 5 %221 4 %222 3 %223 2 %224 1 %225 0 %226
%223 = OpLoad %int %i_3
%224 = OpAccessChain %_ptr_Private_int %data %223
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
%227 = OpLoad %int %i_3
%228 = OpAccessChain %_ptr_Private_int %data %227
OpStore %228 %int_n5
OpBranch %215
%235 = OpLoad %int %i_3
%236 = OpAccessChain %_ptr_Private_int %data %235
OpStore %236 %int_n1
OpBranch %211
%218 = OpLabel
%230 = OpLoad %int %i_3
%231 = OpAccessChain %_ptr_Private_int %data %230
OpStore %231 %int_n4
OpBranch %215
%238 = OpLoad %int %i_3
%239 = OpAccessChain %_ptr_Private_int %data %238
OpStore %239 %int_0
OpBranch %211
%219 = OpLabel
%233 = OpLoad %int %i_3
%234 = OpAccessChain %_ptr_Private_int %data %233
OpStore %234 %int_n3
OpBranch %215
%240 = OpLoad %int %i_3
%241 = OpAccessChain %_ptr_Private_int %data %240
OpStore %241 %int_1
OpBranch %211
%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
%243 = OpAccessChain %_ptr_Private_int %data %242
OpStore %243 %int_0
OpBranch %215
%223 = OpLabel
OpStore %243 %int_2
OpBranch %211
%221 = OpLabel
%244 = OpLoad %int %i_3
%245 = OpAccessChain %_ptr_Private_int %data %244
OpStore %245 %int_1
OpBranch %215
%224 = OpLabel
%246 = OpLoad %int %i_3
%247 = OpAccessChain %_ptr_Private_int %data %246
OpStore %247 %int_2
OpBranch %215
%225 = 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
OpStore %245 %int_3
OpBranch %211
%222 = OpLabel
%247 = OpLoad %int %i_3
%248 = OpAccessChain %_ptr_Private_int %data %247
OpStore %248 %int_4
OpBranch %211
%212 = OpLabel
OpBranch %211
%258 = OpLabel
OpBranch %210
%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
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
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
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
OpBranch %260
%262 = OpLabel
%277 = OpFunctionCall %void %mergeSort_
%280 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%281 = OpLoad %float %280
%282 = OpConvertFToS %int %281
%284 = OpSLessThan %bool %282 %int_30
OpSelectionMerge %285 None
OpBranchConditional %284 %286 %287
%286 = OpLabel
%288 = OpAccessChain %_ptr_Private_int %data %int_0
%289 = OpLoad %int %288
%291 = OpConvertSToF %float %289
%293 = OpFDiv %float %291 %float_10
%294 = OpFAdd %float %float_0_5 %293
OpStore %grey %294
OpBranch %285
%287 = OpLabel
%295 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%296 = OpLoad %float %295
%297 = OpConvertFToS %int %296
%299 = OpSLessThan %bool %297 %int_60
OpSelectionMerge %300 None
OpBranchConditional %299 %301 %302
%301 = OpLabel
%303 = OpAccessChain %_ptr_Private_int %data %int_1
%304 = OpLoad %int %303
%305 = OpConvertSToF %float %304
%306 = OpFDiv %float %305 %float_10
%307 = OpFAdd %float %float_0_5 %306
OpStore %grey %307
OpBranch %300
%302 = OpLabel
%308 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%309 = OpLoad %float %308
%310 = OpConvertFToS %int %309
%312 = OpSLessThan %bool %310 %int_90
OpSelectionMerge %313 None
OpBranchConditional %312 %314 %315
%314 = OpLabel
%316 = OpAccessChain %_ptr_Private_int %data %int_2
%317 = OpLoad %int %316
%318 = OpConvertSToF %float %317
%319 = OpFDiv %float %318 %float_10
%320 = OpFAdd %float %float_0_5 %319
OpStore %grey %320
OpBranch %313
%315 = OpLabel
%321 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%322 = OpLoad %float %321
%323 = OpConvertFToS %int %322
%325 = OpSLessThan %bool %323 %int_120
OpSelectionMerge %326 None
OpBranchConditional %325 %327 %328
%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
OpBranch %255
%260 = OpLabel
%263 = OpLoad %int %j_1
%264 = OpLoad %int %j_1
%265 = OpAccessChain %_ptr_Private_int %data %264
%266 = OpLoad %int %265
%267 = OpAccessChain %_ptr_Private_int %temp %263
OpStore %267 %266
OpBranch %256
%256 = OpLabel
%268 = OpLoad %int %j_1
%269 = OpIAdd %int %268 %int_1
OpStore %j_1 %269
OpBranch %254
%255 = OpLabel
%270 = OpFunctionCall %void %mergeSort_
%273 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%274 = OpLoad %float %273
%275 = OpConvertFToS %int %274
%277 = OpSLessThan %bool %275 %int_30
OpSelectionMerge %278 None
OpBranchConditional %277 %279 %280
%279 = OpLabel
%281 = OpAccessChain %_ptr_Private_int %data %int_0
%282 = OpLoad %int %281
%284 = OpConvertSToF %float %282
%286 = OpFDiv %float %284 %float_10
%287 = OpFAdd %float %float_0_5 %286
OpStore %grey %287
OpBranch %278
%280 = OpLabel
%288 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%289 = OpLoad %float %288
%290 = OpConvertFToS %int %289
%292 = OpSLessThan %bool %290 %int_60
OpSelectionMerge %293 None
OpBranchConditional %292 %294 %295
%294 = OpLabel
%296 = OpAccessChain %_ptr_Private_int %data %int_1
%297 = OpLoad %int %296
%298 = OpConvertSToF %float %297
%299 = OpFDiv %float %298 %float_10
%300 = OpFAdd %float %float_0_5 %299
OpStore %grey %300
OpBranch %293
%295 = OpLabel
%301 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%302 = OpLoad %float %301
%303 = OpConvertFToS %int %302
%305 = OpSLessThan %bool %303 %int_90
OpSelectionMerge %306 None
OpBranchConditional %305 %307 %308
%307 = OpLabel
%309 = OpAccessChain %_ptr_Private_int %data %int_2
%310 = OpLoad %int %309
%311 = OpConvertSToF %float %310
%312 = OpFDiv %float %311 %float_10
%313 = OpFAdd %float %float_0_5 %312
OpStore %grey %313
OpBranch %306
%308 = OpLabel
%314 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%315 = OpLoad %float %314
%316 = OpConvertFToS %int %315
%318 = OpSLessThan %bool %316 %int_120
OpSelectionMerge %319 None
OpBranchConditional %318 %320 %321
%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
%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
%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
%351 = OpAccessChain %_ptr_Private_int %data %int_5
%352 = OpLoad %int %351
%353 = OpConvertSToF %float %352
%354 = OpFDiv %float %353 %float_10
%355 = OpFAdd %float %float_0_5 %354
OpStore %grey %355
OpBranch %347
%349 = OpLabel
%356 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%357 = OpLoad %float %356
%358 = OpConvertFToS %int %357
%360 = OpSLessThan %bool %358 %int_210
OpSelectionMerge %361 None
OpBranchConditional %360 %362 %363
%362 = OpLabel
%365 = OpAccessChain %_ptr_Private_int %data %int_6
%366 = OpLoad %int %365
%367 = OpConvertSToF %float %366
%368 = OpFDiv %float %367 %float_10
%369 = OpFAdd %float %float_0_5 %368
OpStore %grey %369
OpBranch %361
%363 = OpLabel
%370 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%371 = OpLoad %float %370
%372 = OpConvertFToS %int %371
%374 = OpSLessThan %bool %372 %int_240
OpSelectionMerge %375 None
OpBranchConditional %374 %376 %377
%376 = OpLabel
%379 = OpAccessChain %_ptr_Private_int %data %int_7
%380 = OpLoad %int %379
%381 = OpConvertSToF %float %380
%382 = OpFDiv %float %381 %float_10
%383 = OpFAdd %float %float_0_5 %382
OpStore %grey %383
OpBranch %375
%377 = OpLabel
%384 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%385 = OpLoad %float %384
%386 = OpConvertFToS %int %385
%388 = OpSLessThan %bool %386 %int_270
OpSelectionMerge %389 None
OpBranchConditional %388 %390 %391
%390 = OpLabel
%393 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%344 = OpAccessChain %_ptr_Private_int %data %int_5
%345 = OpLoad %int %344
%346 = OpConvertSToF %float %345
%347 = OpFDiv %float %346 %float_10
%348 = OpFAdd %float %float_0_5 %347
OpStore %grey %348
OpBranch %340
%342 = OpLabel
%349 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%350 = OpLoad %float %349
%351 = OpConvertFToS %int %350
%353 = OpSLessThan %bool %351 %int_210
OpSelectionMerge %354 None
OpBranchConditional %353 %355 %356
%355 = OpLabel
%358 = OpAccessChain %_ptr_Private_int %data %int_6
%359 = OpLoad %int %358
%360 = OpConvertSToF %float %359
%361 = OpFDiv %float %360 %float_10
%362 = OpFAdd %float %float_0_5 %361
OpStore %grey %362
OpBranch %354
%356 = OpLabel
%363 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%364 = OpLoad %float %363
%365 = OpConvertFToS %int %364
%367 = OpSLessThan %bool %365 %int_240
OpSelectionMerge %368 None
OpBranchConditional %367 %369 %370
%369 = OpLabel
%372 = OpAccessChain %_ptr_Private_int %data %int_7
%373 = OpLoad %int %372
%374 = OpConvertSToF %float %373
%375 = OpFDiv %float %374 %float_10
%376 = OpFAdd %float %float_0_5 %375
OpStore %grey %376
OpBranch %368
%370 = OpLabel
%377 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%378 = OpLoad %float %377
%379 = OpConvertFToS %int %378
%381 = OpSLessThan %bool %379 %int_270
OpSelectionMerge %382 None
OpBranchConditional %381 %383 %384
%383 = OpLabel
%386 = OpAccessChain %_ptr_Private_int %data %int_8
%387 = OpLoad %int %386
%388 = OpConvertSToF %float %387
%389 = OpFDiv %float %388 %float_10
%390 = OpFAdd %float %float_0_5 %389
OpStore %grey %390
OpBranch %382
%384 = OpLabel
OpKill
%389 = OpLabel
OpBranch %375
%375 = OpLabel
OpBranch %361
%361 = OpLabel
OpBranch %347
%347 = OpLabel
OpBranch %339
%339 = OpLabel
OpBranch %326
%326 = OpLabel
OpBranch %313
%313 = OpLabel
OpBranch %300
%300 = OpLabel
OpBranch %285
%285 = OpLabel
%398 = OpLoad %float %grey
%400 = OpCompositeConstruct %v3float %398 %398 %398
%401 = OpCompositeExtract %float %400 0
%402 = OpCompositeExtract %float %400 1
%403 = OpCompositeExtract %float %400 2
%405 = OpCompositeConstruct %v4float %401 %402 %403 %float_1
OpStore %x_GLF_color %405
%382 = OpLabel
OpBranch %368
%368 = OpLabel
OpBranch %354
%354 = OpLabel
OpBranch %340
%340 = OpLabel
OpBranch %332
%332 = OpLabel
OpBranch %319
%319 = OpLabel
OpBranch %306
%306 = OpLabel
OpBranch %293
%293 = OpLabel
OpBranch %278
%278 = OpLabel
%391 = OpLoad %float %grey
%393 = OpCompositeConstruct %v3float %391 %391 %391
%394 = OpCompositeExtract %float %393 0
%395 = OpCompositeExtract %float %393 1
%396 = OpCompositeExtract %float %393 2
%398 = OpCompositeConstruct %v4float %394 %395 %396 %float_1
OpStore %x_GLF_color %398
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %406
%tint_symbol_3 = OpFunction %void None %399
%tint_symbol_1 = OpFunctionParameter %main_out
%410 = OpLabel
%411 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %411
%403 = OpLabel
%404 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %404
OpReturn
OpFunctionEnd
%main = OpFunction %void None %135
%413 = OpLabel
%414 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %414
%415 = OpFunctionCall %void %main_1
%417 = OpLoad %v4float %x_GLF_color
%418 = OpCompositeConstruct %main_out %417
%416 = OpFunctionCall %void %tint_symbol_3 %418
%main = OpFunction %void None %131
%406 = OpLabel
%407 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %407
%408 = OpFunctionCall %void %main_1
%410 = OpLoad %v4float %x_GLF_color
%411 = OpCompositeConstruct %main_out %410
%409 = OpFunctionCall %void %tint_symbol_3 %411
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 419
; Bound: 416
; Schema: 0
OpCapability Shader
%180 = OpExtInstImport "GLSL.std.450"
@ -132,7 +130,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%406 = OpTypeFunction %void %main_out
%403 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -444,217 +442,207 @@ SKIP: FAILED
%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
%258 = OpLabel
OpBranch %210
OpBranchConditional %257 %210 %211
%211 = OpLabel
OpStore %j_1 %int_0
OpBranch %258
%258 = OpLabel
OpLoopMerge %259 %260 None
OpBranch %261
%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
%266 = OpLabel
OpBranch %259
%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
%277 = OpFunctionCall %void %mergeSort_
%280 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%281 = OpLoad %float %280
%282 = OpConvertFToS %int %281
%284 = OpSLessThan %bool %282 %int_30
OpSelectionMerge %285 None
OpBranchConditional %284 %286 %287
%286 = OpLabel
%288 = OpAccessChain %_ptr_Private_int %data %int_0
%289 = OpLoad %int %288
%291 = OpConvertSToF %float %289
%293 = OpFDiv %float %291 %float_10
%294 = OpFAdd %float %float_0_5 %293
OpStore %grey %294
OpBranch %285
%287 = OpLabel
%295 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%296 = OpLoad %float %295
%297 = OpConvertFToS %int %296
%299 = OpSLessThan %bool %297 %int_60
OpSelectionMerge %300 None
OpBranchConditional %299 %301 %302
%301 = OpLabel
%303 = OpAccessChain %_ptr_Private_int %data %int_1
%304 = OpLoad %int %303
%305 = OpConvertSToF %float %304
%306 = OpFDiv %float %305 %float_10
%307 = OpFAdd %float %float_0_5 %306
OpStore %grey %307
OpBranch %300
%302 = OpLabel
%308 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%309 = OpLoad %float %308
%310 = OpConvertFToS %int %309
%312 = OpSLessThan %bool %310 %int_90
OpSelectionMerge %313 None
OpBranchConditional %312 %314 %315
%314 = OpLabel
%316 = OpAccessChain %_ptr_Private_int %data %int_2
%317 = OpLoad %int %316
%318 = OpConvertSToF %float %317
%319 = OpFDiv %float %318 %float_10
%320 = OpFAdd %float %float_0_5 %319
OpStore %grey %320
OpBranch %313
%315 = OpLabel
%321 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%322 = OpLoad %float %321
%323 = OpConvertFToS %int %322
%325 = OpSLessThan %bool %323 %int_120
OpSelectionMerge %326 None
OpBranchConditional %325 %327 %328
%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
%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
%274 = OpFunctionCall %void %mergeSort_
%277 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%278 = OpLoad %float %277
%279 = OpConvertFToS %int %278
%281 = OpSLessThan %bool %279 %int_30
OpSelectionMerge %282 None
OpBranchConditional %281 %283 %284
%283 = OpLabel
%285 = OpAccessChain %_ptr_Private_int %data %int_0
%286 = OpLoad %int %285
%288 = OpConvertSToF %float %286
%290 = OpFDiv %float %288 %float_10
%291 = OpFAdd %float %float_0_5 %290
OpStore %grey %291
OpBranch %282
%284 = OpLabel
%292 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%293 = OpLoad %float %292
%294 = OpConvertFToS %int %293
%296 = OpSLessThan %bool %294 %int_60
OpSelectionMerge %297 None
OpBranchConditional %296 %298 %299
%298 = OpLabel
%300 = OpAccessChain %_ptr_Private_int %data %int_1
%301 = OpLoad %int %300
%302 = OpConvertSToF %float %301
%303 = OpFDiv %float %302 %float_10
%304 = OpFAdd %float %float_0_5 %303
OpStore %grey %304
OpBranch %297
%299 = OpLabel
%305 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%306 = OpLoad %float %305
%307 = OpConvertFToS %int %306
%309 = OpSLessThan %bool %307 %int_90
OpSelectionMerge %310 None
OpBranchConditional %309 %311 %312
%311 = OpLabel
%313 = OpAccessChain %_ptr_Private_int %data %int_2
%314 = OpLoad %int %313
%315 = OpConvertSToF %float %314
%316 = OpFDiv %float %315 %float_10
%317 = OpFAdd %float %float_0_5 %316
OpStore %grey %317
OpBranch %310
%312 = OpLabel
%318 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%319 = OpLoad %float %318
%320 = OpConvertFToS %int %319
%322 = OpSLessThan %bool %320 %int_120
OpSelectionMerge %323 None
OpBranchConditional %322 %324 %325
%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
%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
%351 = OpAccessChain %_ptr_Private_int %data %int_5
%352 = OpLoad %int %351
%353 = OpConvertSToF %float %352
%354 = OpFDiv %float %353 %float_10
%355 = OpFAdd %float %float_0_5 %354
OpStore %grey %355
OpBranch %347
%349 = OpLabel
%356 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%357 = OpLoad %float %356
%358 = OpConvertFToS %int %357
%360 = OpSLessThan %bool %358 %int_210
OpSelectionMerge %361 None
OpBranchConditional %360 %362 %363
%362 = OpLabel
%365 = OpAccessChain %_ptr_Private_int %data %int_6
%366 = OpLoad %int %365
%367 = OpConvertSToF %float %366
%368 = OpFDiv %float %367 %float_10
%369 = OpFAdd %float %float_0_5 %368
OpStore %grey %369
OpBranch %361
%363 = OpLabel
%370 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%371 = OpLoad %float %370
%372 = OpConvertFToS %int %371
%374 = OpSLessThan %bool %372 %int_240
OpSelectionMerge %375 None
OpBranchConditional %374 %376 %377
%376 = OpLabel
%379 = OpAccessChain %_ptr_Private_int %data %int_7
%380 = OpLoad %int %379
%381 = OpConvertSToF %float %380
%382 = OpFDiv %float %381 %float_10
%383 = OpFAdd %float %float_0_5 %382
OpStore %grey %383
OpBranch %375
%377 = OpLabel
%384 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%385 = OpLoad %float %384
%386 = OpConvertFToS %int %385
%388 = OpSLessThan %bool %386 %int_270
OpSelectionMerge %389 None
OpBranchConditional %388 %390 %391
%390 = OpLabel
%393 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%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
%348 = OpAccessChain %_ptr_Private_int %data %int_5
%349 = OpLoad %int %348
%350 = OpConvertSToF %float %349
%351 = OpFDiv %float %350 %float_10
%352 = OpFAdd %float %float_0_5 %351
OpStore %grey %352
OpBranch %344
%346 = OpLabel
%353 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%354 = OpLoad %float %353
%355 = OpConvertFToS %int %354
%357 = OpSLessThan %bool %355 %int_210
OpSelectionMerge %358 None
OpBranchConditional %357 %359 %360
%359 = OpLabel
%362 = OpAccessChain %_ptr_Private_int %data %int_6
%363 = OpLoad %int %362
%364 = OpConvertSToF %float %363
%365 = OpFDiv %float %364 %float_10
%366 = OpFAdd %float %float_0_5 %365
OpStore %grey %366
OpBranch %358
%360 = OpLabel
%367 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%368 = OpLoad %float %367
%369 = OpConvertFToS %int %368
%371 = OpSLessThan %bool %369 %int_240
OpSelectionMerge %372 None
OpBranchConditional %371 %373 %374
%373 = OpLabel
%376 = OpAccessChain %_ptr_Private_int %data %int_7
%377 = OpLoad %int %376
%378 = OpConvertSToF %float %377
%379 = OpFDiv %float %378 %float_10
%380 = OpFAdd %float %float_0_5 %379
OpStore %grey %380
OpBranch %372
%374 = OpLabel
%381 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%382 = OpLoad %float %381
%383 = OpConvertFToS %int %382
%385 = OpSLessThan %bool %383 %int_270
OpSelectionMerge %386 None
OpBranchConditional %385 %387 %388
%387 = OpLabel
%390 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%389 = OpLabel
OpBranch %375
%375 = OpLabel
OpBranch %361
%361 = OpLabel
OpBranch %347
%347 = OpLabel
OpBranch %339
%339 = OpLabel
OpBranch %326
%326 = OpLabel
OpBranch %313
%313 = OpLabel
OpBranch %300
%300 = OpLabel
OpBranch %285
%285 = OpLabel
%398 = OpLoad %float %grey
%400 = OpCompositeConstruct %v3float %398 %398 %398
%401 = OpCompositeExtract %float %400 0
%402 = OpCompositeExtract %float %400 1
%403 = OpCompositeExtract %float %400 2
%405 = OpCompositeConstruct %v4float %401 %402 %403 %float_1
OpStore %x_GLF_color %405
%386 = OpLabel
OpBranch %372
%372 = OpLabel
OpBranch %358
%358 = OpLabel
OpBranch %344
%344 = OpLabel
OpBranch %336
%336 = OpLabel
OpBranch %323
%323 = OpLabel
OpBranch %310
%310 = OpLabel
OpBranch %297
%297 = OpLabel
OpBranch %282
%282 = OpLabel
%395 = OpLoad %float %grey
%397 = OpCompositeConstruct %v3float %395 %395 %395
%398 = OpCompositeExtract %float %397 0
%399 = OpCompositeExtract %float %397 1
%400 = OpCompositeExtract %float %397 2
%402 = OpCompositeConstruct %v4float %398 %399 %400 %float_1
OpStore %x_GLF_color %402
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %406
%tint_symbol_3 = OpFunction %void None %403
%tint_symbol_1 = OpFunctionParameter %main_out
%410 = OpLabel
%411 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %411
%407 = OpLabel
%408 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %408
OpReturn
OpFunctionEnd
%main = OpFunction %void None %135
%413 = OpLabel
%414 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %414
%415 = OpFunctionCall %void %main_1
%417 = OpLoad %v4float %x_GLF_color
%418 = OpCompositeConstruct %main_out %417
%416 = OpFunctionCall %void %tint_symbol_3 %418
%410 = OpLabel
%411 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %411
%412 = OpFunctionCall %void %main_1
%414 = OpLoad %v4float %x_GLF_color
%415 = OpCompositeConstruct %main_out %414
%413 = OpFunctionCall %void %tint_symbol_3 %415
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 423
; Bound: 416
; Schema: 0
OpCapability Shader
%180 = OpExtInstImport "GLSL.std.450"
%176 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft
@ -97,12 +95,12 @@ SKIP: FAILED
%bool = OpTypeBool
%_ptr_Private_int = OpTypePointer Private %int
%int_10 = OpConstant %int 10
%135 = OpTypeFunction %void
%131 = OpTypeFunction %void
%int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2
%_ptr_Function_float = OpTypePointer Function %float
%204 = OpConstantNull %float
%200 = OpConstantNull %float
%uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%int_n5 = OpConstant %int -5
@ -133,7 +131,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%410 = OpTypeFunction %void %main_out
%403 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -160,129 +158,119 @@ SKIP: FAILED
%54 = OpLoad %int %j
%56 = OpLoad %int %to
%57 = OpSLessThanEqual %bool %51 %53
OpSelectionMerge %59 None
OpBranchConditional %57 %60 %59
%60 = OpLabel
%61 = OpSLessThanEqual %bool %54 %56
OpBranch %59
%59 = OpLabel
%62 = OpPhi %bool %57 %50 %61 %60
OpSelectionMerge %63 None
OpBranchConditional %62 %64 %65
%64 = OpLabel
OpBranch %63
%65 = OpLabel
OpBranch %48
%59 = OpSLessThanEqual %bool %54 %56
%60 = OpLogicalAnd %bool %57 %59
OpSelectionMerge %61 None
OpBranchConditional %60 %62 %63
%62 = OpLabel
OpBranch %61
%63 = OpLabel
%66 = OpLoad %int %i
%68 = OpAccessChain %_ptr_Private_int %data %66
%69 = OpLoad %int %68
%70 = OpLoad %int %j
%71 = OpAccessChain %_ptr_Private_int %data %70
%72 = OpLoad %int %71
%73 = OpSLessThan %bool %69 %72
OpSelectionMerge %74 None
OpBranchConditional %73 %75 %76
%75 = OpLabel
%77 = OpLoad %int %k
OpBranch %48
%61 = OpLabel
%64 = OpLoad %int %i
%66 = OpAccessChain %_ptr_Private_int %data %64
%67 = OpLoad %int %66
%68 = OpLoad %int %j
%69 = OpAccessChain %_ptr_Private_int %data %68
%70 = OpLoad %int %69
%71 = OpSLessThan %bool %67 %70
OpSelectionMerge %72 None
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
OpStore %k %78
%79 = OpLoad %int %i
%80 = OpIAdd %int %79 %int_1
OpStore %i %80
%81 = OpAccessChain %_ptr_Private_int %data %79
%82 = OpLoad %int %81
%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
OpStore %i %78
%79 = OpAccessChain %_ptr_Private_int %data %77
%80 = OpLoad %int %79
%81 = OpAccessChain %_ptr_Private_int %temp %75
OpStore %81 %80
OpBranch %72
%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
%49 = OpLabel
OpBranch %47
%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
%91 = OpLabel
OpLoopMerge %92 %93 None
OpBranch %94
%94 = OpLabel
%95 = OpLoad %int %i
%96 = OpLoad %int %i
%98 = OpLoad %int %mid
%100 = OpSLessThan %bool %95 %int_10
OpSelectionMerge %101 None
OpBranchConditional %100 %102 %101
%102 = OpLabel
%103 = OpSLessThanEqual %bool %96 %98
OpBranch %101
%101 = OpLabel
%104 = OpPhi %bool %100 %94 %103 %102
OpSelectionMerge %105 None
OpBranchConditional %104 %106 %107
%106 = OpLabel
OpBranch %105
%107 = OpLabel
OpBranch %92
%105 = OpLabel
%108 = OpLoad %int %k
%109 = OpIAdd %int %108 %int_1
OpStore %k %109
%110 = OpLoad %int %i
%111 = OpIAdd %int %110 %int_1
OpStore %i %111
%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
OpBranch %89
%90 = OpLabel
%112 = OpLoad %int %from
OpStore %i_1 %112
OpBranch %113
%113 = OpLabel
OpLoopMerge %114 %115 None
OpBranch %116
%116 = OpLabel
%117 = OpLoad %int %i_1
%119 = OpLoad %int %to
%120 = OpSLessThanEqual %bool %117 %119
OpSelectionMerge %121 None
OpBranchConditional %120 %122 %123
%122 = OpLabel
OpBranch %121
%123 = OpLabel
OpBranch %114
%121 = OpLabel
%124 = OpLoad %int %i_1
%125 = OpLoad %int %i_1
%126 = OpAccessChain %_ptr_Private_int %temp %125
%127 = OpLoad %int %126
%128 = OpAccessChain %_ptr_Private_int %data %124
OpStore %128 %127
OpBranch %115
%115 = OpLabel
%129 = OpLoad %int %i_1
%130 = OpAccessChain %_ptr_Private_int %temp %129
%131 = OpLoad %int %130
%132 = OpAccessChain %_ptr_Private_int %data %128
OpStore %132 %131
OpBranch %119
%119 = OpLabel
%133 = OpLoad %int %i_1
%134 = OpIAdd %int %133 %int_1
OpStore %i_1 %134
OpBranch %117
%118 = OpLabel
%130 = OpIAdd %int %129 %int_1
OpStore %i_1 %130
OpBranch %113
%114 = OpLabel
OpReturn
OpFunctionEnd
%mergeSort_ = OpFunction %void None %135
%137 = OpLabel
%mergeSort_ = OpFunction %void None %131
%133 = OpLabel
%low = OpVariable %_ptr_Function_int Function %35
%high = OpVariable %_ptr_Function_int Function %35
%m = OpVariable %_ptr_Function_int Function %35
@ -296,373 +284,363 @@ SKIP: FAILED
OpStore %low %int_0
OpStore %high %int_9
OpStore %m %int_1
OpBranch %150
%150 = OpLabel
OpLoopMerge %151 %152 None
OpBranch %146
%146 = OpLabel
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
%155 = OpLabel
OpBranch %147
%153 = OpLabel
%154 = OpLoad %int %m
%155 = OpLoad %int %high
%156 = OpSLessThanEqual %bool %154 %155
OpSelectionMerge %157 None
OpBranchConditional %156 %158 %159
%158 = OpLabel
%156 = OpLoad %int %low
OpStore %i_2 %156
OpBranch %157
%159 = OpLabel
OpBranch %151
%157 = OpLabel
%160 = OpLoad %int %low
OpStore %i_2 %160
OpBranch %161
%161 = OpLabel
OpLoopMerge %162 %163 None
OpLoopMerge %158 %159 None
OpBranch %160
%160 = OpLabel
%161 = OpLoad %int %i_2
%162 = OpLoad %int %high
%163 = OpSLessThan %bool %161 %162
OpSelectionMerge %164 None
OpBranchConditional %163 %165 %166
%165 = OpLabel
OpBranch %164
%166 = OpLabel
OpBranch %158
%164 = OpLabel
%165 = OpLoad %int %i_2
%166 = OpLoad %int %high
%167 = OpSLessThan %bool %165 %166
OpSelectionMerge %168 None
OpBranchConditional %167 %169 %170
%169 = OpLabel
OpBranch %168
%170 = OpLabel
OpBranch %162
%168 = OpLabel
%171 = OpLoad %int %i_2
OpStore %from_1 %171
%167 = OpLoad %int %i_2
OpStore %from_1 %167
%168 = OpLoad %int %i_2
%169 = OpLoad %int %m
%170 = OpIAdd %int %168 %169
%171 = OpISub %int %170 %int_1
OpStore %mid_1 %171
%172 = OpLoad %int %i_2
%173 = OpLoad %int %m
%174 = OpIAdd %int %172 %173
%175 = OpISub %int %174 %int_1
OpStore %mid_1 %175
%176 = OpLoad %int %i_2
%177 = OpLoad %int %m
%178 = OpLoad %int %high
%182 = OpIMul %int %int_2 %177
%183 = OpIAdd %int %176 %182
%184 = OpISub %int %183 %int_1
%179 = OpExtInst %int %180 SMin %184 %178
OpStore %to_1 %179
%185 = OpLoad %int %from_1
OpStore %param %185
%186 = OpLoad %int %mid_1
OpStore %param_1 %186
%187 = OpLoad %int %to_1
OpStore %param_2 %187
%188 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
OpBranch %163
%163 = OpLabel
%174 = OpLoad %int %high
%178 = OpIMul %int %int_2 %173
%179 = OpIAdd %int %172 %178
%180 = OpISub %int %179 %int_1
%175 = OpExtInst %int %176 SMin %180 %174
OpStore %to_1 %175
%181 = OpLoad %int %from_1
OpStore %param %181
%182 = OpLoad %int %mid_1
OpStore %param_1 %182
%183 = OpLoad %int %to_1
OpStore %param_2 %183
%184 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
OpBranch %159
%159 = OpLabel
%188 = OpLoad %int %m
%189 = OpLoad %int %i_2
%190 = OpIMul %int %int_2 %188
%191 = OpIAdd %int %189 %190
OpStore %i_2 %191
OpBranch %157
%158 = OpLabel
OpBranch %148
%148 = OpLabel
%192 = OpLoad %int %m
%193 = OpLoad %int %i_2
%194 = OpIMul %int %int_2 %192
%195 = OpIAdd %int %193 %194
OpStore %i_2 %195
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
%193 = OpIMul %int %int_2 %192
OpStore %m %193
OpBranch %146
%147 = OpLabel
OpReturn
OpFunctionEnd
%main_1 = OpFunction %void None %135
%199 = OpLabel
%main_1 = OpFunction %void None %131
%195 = OpLabel
%i_3 = OpVariable %_ptr_Function_int Function %35
%j_1 = OpVariable %_ptr_Function_int Function %35
%grey = OpVariable %_ptr_Function_float Function %204
%207 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%208 = OpLoad %float %207
%209 = OpConvertFToS %int %208
OpStore %i_3 %209
OpBranch %210
%210 = OpLabel
OpLoopMerge %211 %212 None
OpBranch %213
%grey = OpVariable %_ptr_Function_float Function %200
%203 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%204 = OpLoad %float %203
%205 = OpConvertFToS %int %204
OpStore %i_3 %205
OpBranch %206
%206 = OpLabel
OpLoopMerge %207 %208 None
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
%214 = OpLoad %int %i_3
OpSelectionMerge %215 None
OpSwitch %214 %216 9 %217 8 %218 7 %219 6 %220 5 %221 4 %222 3 %223 2 %224 1 %225 0 %226
%223 = OpLoad %int %i_3
%224 = OpAccessChain %_ptr_Private_int %data %223
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
%227 = OpLoad %int %i_3
%228 = OpAccessChain %_ptr_Private_int %data %227
OpStore %228 %int_n5
OpSelectionMerge %231 None
OpBranchConditional %true %232 %233
%232 = OpLabel
OpBranch %231
%233 = OpLabel
OpBranch %212
%231 = OpLabel
OpBranch %215
%239 = OpLoad %int %i_3
%240 = OpAccessChain %_ptr_Private_int %data %239
OpStore %240 %int_n1
OpBranch %211
%218 = OpLabel
%234 = OpLoad %int %i_3
%235 = OpAccessChain %_ptr_Private_int %data %234
OpStore %235 %int_n4
OpBranch %215
%242 = OpLoad %int %i_3
%243 = OpAccessChain %_ptr_Private_int %data %242
OpStore %243 %int_0
OpBranch %211
%219 = OpLabel
%237 = OpLoad %int %i_3
%238 = OpAccessChain %_ptr_Private_int %data %237
OpStore %238 %int_n3
OpBranch %215
%244 = OpLoad %int %i_3
%245 = OpAccessChain %_ptr_Private_int %data %244
OpStore %245 %int_1
OpBranch %211
%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
%247 = OpAccessChain %_ptr_Private_int %data %246
OpStore %247 %int_0
OpBranch %215
%223 = OpLabel
OpStore %247 %int_2
OpBranch %211
%221 = OpLabel
%248 = OpLoad %int %i_3
%249 = OpAccessChain %_ptr_Private_int %data %248
OpStore %249 %int_1
OpBranch %215
%224 = OpLabel
%250 = OpLoad %int %i_3
%251 = OpAccessChain %_ptr_Private_int %data %250
OpStore %251 %int_2
OpBranch %215
%225 = 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
OpStore %249 %int_3
OpBranch %211
%222 = OpLabel
%251 = OpLoad %int %i_3
%252 = OpAccessChain %_ptr_Private_int %data %251
OpStore %252 %int_4
OpBranch %211
%212 = OpLabel
OpBranch %211
%262 = OpLabel
OpBranch %210
%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
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
OpLoopMerge %266 %267 None
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
OpBranch %264
%266 = OpLabel
%281 = OpFunctionCall %void %mergeSort_
%284 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%285 = OpLoad %float %284
%286 = OpConvertFToS %int %285
%288 = OpSLessThan %bool %286 %int_30
OpSelectionMerge %289 None
OpBranchConditional %288 %290 %291
%290 = OpLabel
%292 = OpAccessChain %_ptr_Private_int %data %int_0
%293 = OpLoad %int %292
%295 = OpConvertSToF %float %293
%297 = OpFDiv %float %295 %float_10
%298 = OpFAdd %float %float_0_5 %297
OpStore %grey %298
OpBranch %289
%291 = OpLabel
%299 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%300 = OpLoad %float %299
%301 = OpConvertFToS %int %300
%303 = OpSLessThan %bool %301 %int_60
OpSelectionMerge %304 None
OpBranchConditional %303 %305 %306
%305 = OpLabel
%307 = OpAccessChain %_ptr_Private_int %data %int_1
%308 = OpLoad %int %307
%309 = OpConvertSToF %float %308
%310 = OpFDiv %float %309 %float_10
%311 = OpFAdd %float %float_0_5 %310
OpStore %grey %311
OpBranch %304
%306 = OpLabel
%312 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%313 = OpLoad %float %312
%314 = OpConvertFToS %int %313
%316 = OpSLessThan %bool %314 %int_90
OpSelectionMerge %317 None
OpBranchConditional %316 %318 %319
%318 = OpLabel
%320 = OpAccessChain %_ptr_Private_int %data %int_2
%321 = OpLoad %int %320
%322 = OpConvertSToF %float %321
%323 = OpFDiv %float %322 %float_10
%324 = OpFAdd %float %float_0_5 %323
OpStore %grey %324
OpBranch %317
%319 = OpLabel
%325 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%326 = OpLoad %float %325
%327 = OpConvertFToS %int %326
%329 = OpSLessThan %bool %327 %int_120
OpSelectionMerge %330 None
OpBranchConditional %329 %331 %332
%331 = OpLabel
%333 = OpAccessChain %_ptr_Private_int %data %int_3
%334 = OpLoad %int %333
%335 = OpConvertSToF %float %334
%336 = OpFDiv %float %335 %float_10
%337 = OpFAdd %float %float_0_5 %336
OpStore %grey %337
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
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
%274 = OpFunctionCall %void %mergeSort_
%277 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%278 = OpLoad %float %277
%279 = OpConvertFToS %int %278
%281 = OpSLessThan %bool %279 %int_30
OpSelectionMerge %282 None
OpBranchConditional %281 %283 %284
%283 = OpLabel
%285 = OpAccessChain %_ptr_Private_int %data %int_0
%286 = OpLoad %int %285
%288 = OpConvertSToF %float %286
%290 = OpFDiv %float %288 %float_10
%291 = OpFAdd %float %float_0_5 %290
OpStore %grey %291
OpBranch %282
%284 = OpLabel
%292 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%293 = OpLoad %float %292
%294 = OpConvertFToS %int %293
%296 = OpSLessThan %bool %294 %int_60
OpSelectionMerge %297 None
OpBranchConditional %296 %298 %299
%298 = OpLabel
%300 = OpAccessChain %_ptr_Private_int %data %int_1
%301 = OpLoad %int %300
%302 = OpConvertSToF %float %301
%303 = OpFDiv %float %302 %float_10
%304 = OpFAdd %float %float_0_5 %303
OpStore %grey %304
OpBranch %297
%299 = OpLabel
%305 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%306 = OpLoad %float %305
%307 = OpConvertFToS %int %306
%309 = OpSLessThan %bool %307 %int_90
OpSelectionMerge %310 None
OpBranchConditional %309 %311 %312
%311 = OpLabel
%313 = OpAccessChain %_ptr_Private_int %data %int_2
%314 = OpLoad %int %313
%315 = OpConvertSToF %float %314
%316 = OpFDiv %float %315 %float_10
%317 = OpFAdd %float %float_0_5 %316
OpStore %grey %317
OpBranch %310
%312 = OpLabel
%318 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%319 = OpLoad %float %318
%320 = OpConvertFToS %int %319
%322 = OpSLessThan %bool %320 %int_120
OpSelectionMerge %323 None
OpBranchConditional %322 %324 %325
%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
%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
%346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%347 = OpLoad %float %346
%348 = OpConvertFToS %int %347
%350 = OpSLessThan %bool %348 %int_180
OpSelectionMerge %351 None
OpBranchConditional %350 %352 %353
%352 = OpLabel
%355 = OpAccessChain %_ptr_Private_int %data %int_5
%356 = OpLoad %int %355
%357 = OpConvertSToF %float %356
%358 = OpFDiv %float %357 %float_10
%359 = OpFAdd %float %float_0_5 %358
OpStore %grey %359
OpBranch %351
%353 = OpLabel
%360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%361 = OpLoad %float %360
%362 = OpConvertFToS %int %361
%364 = OpSLessThan %bool %362 %int_210
OpSelectionMerge %365 None
OpBranchConditional %364 %366 %367
%366 = OpLabel
%369 = OpAccessChain %_ptr_Private_int %data %int_6
%370 = OpLoad %int %369
%371 = OpConvertSToF %float %370
%372 = OpFDiv %float %371 %float_10
%373 = OpFAdd %float %float_0_5 %372
OpStore %grey %373
OpBranch %365
%367 = OpLabel
%374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%375 = OpLoad %float %374
%376 = OpConvertFToS %int %375
%378 = OpSLessThan %bool %376 %int_240
OpSelectionMerge %379 None
OpBranchConditional %378 %380 %381
%380 = OpLabel
%383 = OpAccessChain %_ptr_Private_int %data %int_7
%384 = OpLoad %int %383
%385 = OpConvertSToF %float %384
%386 = OpFDiv %float %385 %float_10
%387 = OpFAdd %float %float_0_5 %386
OpStore %grey %387
OpBranch %379
%381 = OpLabel
%388 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%389 = OpLoad %float %388
%390 = OpConvertFToS %int %389
%392 = OpSLessThan %bool %390 %int_270
OpSelectionMerge %393 None
OpBranchConditional %392 %394 %395
%394 = OpLabel
%397 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%348 = OpAccessChain %_ptr_Private_int %data %int_5
%349 = OpLoad %int %348
%350 = OpConvertSToF %float %349
%351 = OpFDiv %float %350 %float_10
%352 = OpFAdd %float %float_0_5 %351
OpStore %grey %352
OpBranch %344
%346 = OpLabel
%353 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%354 = OpLoad %float %353
%355 = OpConvertFToS %int %354
%357 = OpSLessThan %bool %355 %int_210
OpSelectionMerge %358 None
OpBranchConditional %357 %359 %360
%359 = OpLabel
%362 = OpAccessChain %_ptr_Private_int %data %int_6
%363 = OpLoad %int %362
%364 = OpConvertSToF %float %363
%365 = OpFDiv %float %364 %float_10
%366 = OpFAdd %float %float_0_5 %365
OpStore %grey %366
OpBranch %358
%360 = OpLabel
%367 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%368 = OpLoad %float %367
%369 = OpConvertFToS %int %368
%371 = OpSLessThan %bool %369 %int_240
OpSelectionMerge %372 None
OpBranchConditional %371 %373 %374
%373 = OpLabel
%376 = OpAccessChain %_ptr_Private_int %data %int_7
%377 = OpLoad %int %376
%378 = OpConvertSToF %float %377
%379 = OpFDiv %float %378 %float_10
%380 = OpFAdd %float %float_0_5 %379
OpStore %grey %380
OpBranch %372
%374 = OpLabel
%381 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%382 = OpLoad %float %381
%383 = OpConvertFToS %int %382
%385 = OpSLessThan %bool %383 %int_270
OpSelectionMerge %386 None
OpBranchConditional %385 %387 %388
%387 = OpLabel
%390 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%393 = OpLabel
OpBranch %379
%379 = OpLabel
OpBranch %365
%365 = OpLabel
OpBranch %351
%351 = OpLabel
OpBranch %343
%343 = OpLabel
OpBranch %330
%330 = OpLabel
OpBranch %317
%317 = OpLabel
OpBranch %304
%304 = OpLabel
OpBranch %289
%289 = OpLabel
%402 = OpLoad %float %grey
%404 = OpCompositeConstruct %v3float %402 %402 %402
%405 = OpCompositeExtract %float %404 0
%406 = OpCompositeExtract %float %404 1
%407 = OpCompositeExtract %float %404 2
%409 = OpCompositeConstruct %v4float %405 %406 %407 %float_1
OpStore %x_GLF_color %409
%386 = OpLabel
OpBranch %372
%372 = OpLabel
OpBranch %358
%358 = OpLabel
OpBranch %344
%344 = OpLabel
OpBranch %336
%336 = OpLabel
OpBranch %323
%323 = OpLabel
OpBranch %310
%310 = OpLabel
OpBranch %297
%297 = OpLabel
OpBranch %282
%282 = OpLabel
%395 = OpLoad %float %grey
%397 = OpCompositeConstruct %v3float %395 %395 %395
%398 = OpCompositeExtract %float %397 0
%399 = OpCompositeExtract %float %397 1
%400 = OpCompositeExtract %float %397 2
%402 = OpCompositeConstruct %v4float %398 %399 %400 %float_1
OpStore %x_GLF_color %402
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %410
%tint_symbol_3 = OpFunction %void None %403
%tint_symbol_1 = OpFunctionParameter %main_out
%414 = OpLabel
%415 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %415
%407 = OpLabel
%408 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %408
OpReturn
OpFunctionEnd
%main = OpFunction %void None %135
%417 = OpLabel
%418 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %418
%419 = OpFunctionCall %void %main_1
%421 = OpLoad %v4float %x_GLF_color
%422 = OpCompositeConstruct %main_out %421
%420 = OpFunctionCall %void %tint_symbol_3 %422
%main = OpFunction %void None %131
%410 = OpLabel
%411 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %411
%412 = OpFunctionCall %void %main_1
%414 = OpLoad %v4float %x_GLF_color
%415 = OpCompositeConstruct %main_out %414
%413 = OpFunctionCall %void %tint_symbol_3 %415
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 423
; Bound: 420
; Schema: 0
OpCapability Shader
%180 = OpExtInstImport "GLSL.std.450"
@ -133,7 +131,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%410 = OpTypeFunction %void %main_out
%407 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -452,217 +450,207 @@ SKIP: FAILED
%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
%262 = OpLabel
OpBranch %210
OpBranchConditional %261 %210 %211
%211 = OpLabel
OpStore %j_1 %int_0
OpBranch %262
%262 = OpLabel
OpLoopMerge %263 %264 None
OpBranch %265
%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
%270 = OpLabel
OpBranch %263
%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
%281 = OpFunctionCall %void %mergeSort_
%284 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%285 = OpLoad %float %284
%286 = OpConvertFToS %int %285
%288 = OpSLessThan %bool %286 %int_30
OpSelectionMerge %289 None
OpBranchConditional %288 %290 %291
%290 = OpLabel
%292 = OpAccessChain %_ptr_Private_int %data %int_0
%293 = OpLoad %int %292
%295 = OpConvertSToF %float %293
%297 = OpFDiv %float %295 %float_10
%298 = OpFAdd %float %float_0_5 %297
OpStore %grey %298
OpBranch %289
%291 = OpLabel
%299 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%300 = OpLoad %float %299
%301 = OpConvertFToS %int %300
%303 = OpSLessThan %bool %301 %int_60
OpSelectionMerge %304 None
OpBranchConditional %303 %305 %306
%305 = OpLabel
%307 = OpAccessChain %_ptr_Private_int %data %int_1
%308 = OpLoad %int %307
%309 = OpConvertSToF %float %308
%310 = OpFDiv %float %309 %float_10
%311 = OpFAdd %float %float_0_5 %310
OpStore %grey %311
OpBranch %304
%306 = OpLabel
%312 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%313 = OpLoad %float %312
%314 = OpConvertFToS %int %313
%316 = OpSLessThan %bool %314 %int_90
OpSelectionMerge %317 None
OpBranchConditional %316 %318 %319
%318 = OpLabel
%320 = OpAccessChain %_ptr_Private_int %data %int_2
%321 = OpLoad %int %320
%322 = OpConvertSToF %float %321
%323 = OpFDiv %float %322 %float_10
%324 = OpFAdd %float %float_0_5 %323
OpStore %grey %324
OpBranch %317
%319 = OpLabel
%325 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%326 = OpLoad %float %325
%327 = OpConvertFToS %int %326
%329 = OpSLessThan %bool %327 %int_120
OpSelectionMerge %330 None
OpBranchConditional %329 %331 %332
%331 = OpLabel
%333 = OpAccessChain %_ptr_Private_int %data %int_3
%334 = OpLoad %int %333
%335 = OpConvertSToF %float %334
%336 = OpFDiv %float %335 %float_10
%337 = OpFAdd %float %float_0_5 %336
OpStore %grey %337
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
%271 = OpLoad %int %j_1
%272 = OpLoad %int %j_1
%273 = OpAccessChain %_ptr_Private_int %data %272
%274 = OpLoad %int %273
%275 = OpAccessChain %_ptr_Private_int %temp %271
OpStore %275 %274
OpBranch %264
%264 = OpLabel
%276 = OpLoad %int %j_1
%277 = OpIAdd %int %276 %int_1
OpStore %j_1 %277
OpBranch %262
%263 = OpLabel
%278 = OpFunctionCall %void %mergeSort_
%281 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%282 = OpLoad %float %281
%283 = OpConvertFToS %int %282
%285 = OpSLessThan %bool %283 %int_30
OpSelectionMerge %286 None
OpBranchConditional %285 %287 %288
%287 = OpLabel
%289 = OpAccessChain %_ptr_Private_int %data %int_0
%290 = OpLoad %int %289
%292 = OpConvertSToF %float %290
%294 = OpFDiv %float %292 %float_10
%295 = OpFAdd %float %float_0_5 %294
OpStore %grey %295
OpBranch %286
%288 = OpLabel
%296 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%297 = OpLoad %float %296
%298 = OpConvertFToS %int %297
%300 = OpSLessThan %bool %298 %int_60
OpSelectionMerge %301 None
OpBranchConditional %300 %302 %303
%302 = OpLabel
%304 = OpAccessChain %_ptr_Private_int %data %int_1
%305 = OpLoad %int %304
%306 = OpConvertSToF %float %305
%307 = OpFDiv %float %306 %float_10
%308 = OpFAdd %float %float_0_5 %307
OpStore %grey %308
OpBranch %301
%303 = OpLabel
%309 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%310 = OpLoad %float %309
%311 = OpConvertFToS %int %310
%313 = OpSLessThan %bool %311 %int_90
OpSelectionMerge %314 None
OpBranchConditional %313 %315 %316
%315 = OpLabel
%317 = OpAccessChain %_ptr_Private_int %data %int_2
%318 = OpLoad %int %317
%319 = OpConvertSToF %float %318
%320 = OpFDiv %float %319 %float_10
%321 = OpFAdd %float %float_0_5 %320
OpStore %grey %321
OpBranch %314
%316 = OpLabel
%322 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%323 = OpLoad %float %322
%324 = OpConvertFToS %int %323
%326 = OpSLessThan %bool %324 %int_120
OpSelectionMerge %327 None
OpBranchConditional %326 %328 %329
%328 = OpLabel
%330 = OpAccessChain %_ptr_Private_int %data %int_3
%331 = OpLoad %int %330
%332 = OpConvertSToF %float %331
%333 = OpFDiv %float %332 %float_10
%334 = OpFAdd %float %float_0_5 %333
OpStore %grey %334
OpBranch %327
%329 = OpLabel
%335 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%336 = OpLoad %float %335
%337 = OpConvertFToS %int %336
%339 = OpSLessThan %bool %337 %int_150
OpSelectionMerge %340 None
OpBranchConditional %339 %341 %342
%341 = OpLabel
OpKill
%345 = OpLabel
%346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%347 = OpLoad %float %346
%348 = OpConvertFToS %int %347
%350 = OpSLessThan %bool %348 %int_180
OpSelectionMerge %351 None
OpBranchConditional %350 %352 %353
%352 = OpLabel
%355 = OpAccessChain %_ptr_Private_int %data %int_5
%356 = OpLoad %int %355
%357 = OpConvertSToF %float %356
%358 = OpFDiv %float %357 %float_10
%359 = OpFAdd %float %float_0_5 %358
OpStore %grey %359
OpBranch %351
%353 = OpLabel
%360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%361 = OpLoad %float %360
%362 = OpConvertFToS %int %361
%364 = OpSLessThan %bool %362 %int_210
OpSelectionMerge %365 None
OpBranchConditional %364 %366 %367
%366 = OpLabel
%369 = OpAccessChain %_ptr_Private_int %data %int_6
%370 = OpLoad %int %369
%371 = OpConvertSToF %float %370
%372 = OpFDiv %float %371 %float_10
%373 = OpFAdd %float %float_0_5 %372
OpStore %grey %373
OpBranch %365
%367 = OpLabel
%374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%375 = OpLoad %float %374
%376 = OpConvertFToS %int %375
%378 = OpSLessThan %bool %376 %int_240
OpSelectionMerge %379 None
OpBranchConditional %378 %380 %381
%380 = OpLabel
%383 = OpAccessChain %_ptr_Private_int %data %int_7
%384 = OpLoad %int %383
%385 = OpConvertSToF %float %384
%386 = OpFDiv %float %385 %float_10
%387 = OpFAdd %float %float_0_5 %386
OpStore %grey %387
OpBranch %379
%381 = OpLabel
%388 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%389 = OpLoad %float %388
%390 = OpConvertFToS %int %389
%392 = OpSLessThan %bool %390 %int_270
OpSelectionMerge %393 None
OpBranchConditional %392 %394 %395
%394 = OpLabel
%397 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%342 = OpLabel
%343 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%344 = OpLoad %float %343
%345 = OpConvertFToS %int %344
%347 = OpSLessThan %bool %345 %int_180
OpSelectionMerge %348 None
OpBranchConditional %347 %349 %350
%349 = OpLabel
%352 = OpAccessChain %_ptr_Private_int %data %int_5
%353 = OpLoad %int %352
%354 = OpConvertSToF %float %353
%355 = OpFDiv %float %354 %float_10
%356 = OpFAdd %float %float_0_5 %355
OpStore %grey %356
OpBranch %348
%350 = OpLabel
%357 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%358 = OpLoad %float %357
%359 = OpConvertFToS %int %358
%361 = OpSLessThan %bool %359 %int_210
OpSelectionMerge %362 None
OpBranchConditional %361 %363 %364
%363 = OpLabel
%366 = OpAccessChain %_ptr_Private_int %data %int_6
%367 = OpLoad %int %366
%368 = OpConvertSToF %float %367
%369 = OpFDiv %float %368 %float_10
%370 = OpFAdd %float %float_0_5 %369
OpStore %grey %370
OpBranch %362
%364 = OpLabel
%371 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%372 = OpLoad %float %371
%373 = OpConvertFToS %int %372
%375 = OpSLessThan %bool %373 %int_240
OpSelectionMerge %376 None
OpBranchConditional %375 %377 %378
%377 = OpLabel
%380 = OpAccessChain %_ptr_Private_int %data %int_7
%381 = OpLoad %int %380
%382 = OpConvertSToF %float %381
%383 = OpFDiv %float %382 %float_10
%384 = OpFAdd %float %float_0_5 %383
OpStore %grey %384
OpBranch %376
%378 = OpLabel
%385 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%386 = OpLoad %float %385
%387 = OpConvertFToS %int %386
%389 = OpSLessThan %bool %387 %int_270
OpSelectionMerge %390 None
OpBranchConditional %389 %391 %392
%391 = OpLabel
%394 = OpAccessChain %_ptr_Private_int %data %int_8
%395 = OpLoad %int %394
%396 = OpConvertSToF %float %395
%397 = OpFDiv %float %396 %float_10
%398 = OpFAdd %float %float_0_5 %397
OpStore %grey %398
OpBranch %390
%392 = OpLabel
OpKill
%393 = OpLabel
OpBranch %379
%379 = OpLabel
OpBranch %365
%365 = OpLabel
OpBranch %351
%351 = OpLabel
OpBranch %343
%343 = OpLabel
OpBranch %330
%330 = OpLabel
OpBranch %317
%317 = OpLabel
OpBranch %304
%304 = OpLabel
OpBranch %289
%289 = OpLabel
%402 = OpLoad %float %grey
%404 = OpCompositeConstruct %v3float %402 %402 %402
%405 = OpCompositeExtract %float %404 0
%406 = OpCompositeExtract %float %404 1
%407 = OpCompositeExtract %float %404 2
%409 = OpCompositeConstruct %v4float %405 %406 %407 %float_1
OpStore %x_GLF_color %409
%390 = OpLabel
OpBranch %376
%376 = OpLabel
OpBranch %362
%362 = OpLabel
OpBranch %348
%348 = OpLabel
OpBranch %340
%340 = OpLabel
OpBranch %327
%327 = OpLabel
OpBranch %314
%314 = OpLabel
OpBranch %301
%301 = OpLabel
OpBranch %286
%286 = OpLabel
%399 = OpLoad %float %grey
%401 = OpCompositeConstruct %v3float %399 %399 %399
%402 = OpCompositeExtract %float %401 0
%403 = OpCompositeExtract %float %401 1
%404 = OpCompositeExtract %float %401 2
%406 = OpCompositeConstruct %v4float %402 %403 %404 %float_1
OpStore %x_GLF_color %406
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %410
%tint_symbol_3 = OpFunction %void None %407
%tint_symbol_1 = OpFunctionParameter %main_out
%414 = OpLabel
%415 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %415
%411 = OpLabel
%412 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %412
OpReturn
OpFunctionEnd
%main = OpFunction %void None %135
%417 = OpLabel
%418 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %418
%419 = OpFunctionCall %void %main_1
%421 = OpLoad %v4float %x_GLF_color
%422 = OpCompositeConstruct %main_out %421
%420 = OpFunctionCall %void %tint_symbol_3 %422
%414 = OpLabel
%415 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %415
%416 = OpFunctionCall %void %main_1
%418 = OpLoad %v4float %x_GLF_color
%419 = OpCompositeConstruct %main_out %418
%417 = OpFunctionCall %void %tint_symbol_3 %419
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 425
; Bound: 418
; Schema: 0
OpCapability Shader
%187 = OpExtInstImport "GLSL.std.450"
%183 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft
@ -99,12 +97,12 @@ SKIP: FAILED
%float_256 = OpConstant %float 256
%float_1 = OpConstant %float 1
%int_10 = OpConstant %int 10
%142 = OpTypeFunction %void
%138 = OpTypeFunction %void
%int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2
%_ptr_Function_float = OpTypePointer Function %float
%211 = OpConstantNull %float
%207 = OpConstantNull %float
%uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%int_n5 = OpConstant %int -5
@ -133,7 +131,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%v3float = OpTypeVector %float 3
%main_out = OpTypeStruct %v4float
%412 = OpTypeFunction %void %main_out
%405 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -160,138 +158,128 @@ SKIP: FAILED
%54 = OpLoad %int %j
%56 = OpLoad %int %to
%57 = OpSLessThanEqual %bool %51 %53
OpSelectionMerge %59 None
OpBranchConditional %57 %60 %59
%60 = OpLabel
%61 = OpSLessThanEqual %bool %54 %56
OpBranch %59
%59 = OpLabel
%62 = OpPhi %bool %57 %50 %61 %60
OpSelectionMerge %63 None
OpBranchConditional %62 %64 %65
%64 = OpLabel
OpBranch %63
%65 = OpLabel
OpBranch %48
%59 = OpSLessThanEqual %bool %54 %56
%60 = OpLogicalAnd %bool %57 %59
OpSelectionMerge %61 None
OpBranchConditional %60 %62 %63
%62 = OpLabel
OpBranch %61
%63 = OpLabel
%66 = OpLoad %int %i
%68 = OpAccessChain %_ptr_Private_int %data %66
%69 = OpLoad %int %68
%70 = OpLoad %int %j
%71 = OpAccessChain %_ptr_Private_int %data %70
%72 = OpLoad %int %71
%73 = OpSLessThan %bool %69 %72
OpSelectionMerge %74 None
OpBranchConditional %73 %75 %76
%75 = OpLabel
%77 = OpLoad %int %k
OpBranch %48
%61 = OpLabel
%64 = OpLoad %int %i
%66 = OpAccessChain %_ptr_Private_int %data %64
%67 = OpLoad %int %66
%68 = OpLoad %int %j
%69 = OpAccessChain %_ptr_Private_int %data %68
%70 = OpLoad %int %69
%71 = OpSLessThan %bool %67 %70
OpSelectionMerge %72 None
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
OpStore %k %78
%79 = OpLoad %int %i
%80 = OpIAdd %int %79 %int_1
OpStore %i %80
%81 = OpAccessChain %_ptr_Private_int %data %79
%82 = OpLoad %int %81
%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
OpStore %i %78
%79 = OpAccessChain %_ptr_Private_int %data %77
%80 = OpLoad %int %79
%81 = OpAccessChain %_ptr_Private_int %temp %75
OpStore %81 %80
OpBranch %72
%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
%49 = OpLabel
OpBranch %47
%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
%91 = OpLabel
OpLoopMerge %92 %93 None
OpBranch %94
%94 = OpLabel
%98 = OpFOrdLessThan %bool %float_256 %float_1
%95 = OpLogicalNot %bool %98
OpSelectionMerge %99 None
OpBranchConditional %95 %100 %101
%100 = OpLabel
OpBranch %99
%101 = OpLabel
OpBranch %93
%99 = OpLabel
%102 = OpLoad %int %i
%103 = OpLoad %int %i
%105 = OpLoad %int %mid
%107 = OpSLessThan %bool %102 %int_10
OpSelectionMerge %108 None
OpBranchConditional %107 %109 %108
%109 = OpLabel
%110 = OpSLessThanEqual %bool %103 %105
OpBranch %108
%108 = OpLabel
%111 = OpPhi %bool %107 %99 %110 %109
OpSelectionMerge %112 None
OpBranchConditional %111 %113 %114
%113 = OpLabel
OpBranch %112
%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
OpBranch %89
%90 = OpLabel
%119 = OpLoad %int %from
OpStore %i_1 %119
OpBranch %120
%120 = OpLabel
OpLoopMerge %121 %122 None
OpBranch %123
%123 = OpLabel
%124 = OpLoad %int %i_1
%126 = OpLoad %int %to
%127 = OpSLessThanEqual %bool %124 %126
OpSelectionMerge %128 None
OpBranchConditional %127 %129 %130
%129 = OpLabel
OpBranch %128
%130 = OpLabel
OpBranch %121
%128 = OpLabel
%131 = OpLoad %int %i_1
%132 = OpLoad %int %i_1
%133 = OpAccessChain %_ptr_Private_int %temp %132
%134 = OpLoad %int %133
%135 = OpAccessChain %_ptr_Private_int %data %131
OpStore %135 %134
OpBranch %122
%122 = OpLabel
%136 = OpLoad %int %i_1
%137 = OpAccessChain %_ptr_Private_int %temp %136
%138 = OpLoad %int %137
%139 = OpAccessChain %_ptr_Private_int %data %135
OpStore %139 %138
OpBranch %126
%126 = OpLabel
%140 = OpLoad %int %i_1
%141 = OpIAdd %int %140 %int_1
OpStore %i_1 %141
OpBranch %124
%125 = OpLabel
%137 = OpIAdd %int %136 %int_1
OpStore %i_1 %137
OpBranch %120
%121 = OpLabel
OpReturn
OpFunctionEnd
%mergeSort_ = OpFunction %void None %142
%144 = OpLabel
%mergeSort_ = OpFunction %void None %138
%140 = OpLabel
%low = OpVariable %_ptr_Function_int Function %35
%high = OpVariable %_ptr_Function_int Function %35
%m = OpVariable %_ptr_Function_int Function %35
@ -305,366 +293,356 @@ SKIP: FAILED
OpStore %low %int_0
OpStore %high %int_9
OpStore %m %int_1
OpBranch %157
%157 = OpLabel
OpLoopMerge %158 %159 None
OpBranch %153
%153 = OpLabel
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
%162 = OpLabel
OpBranch %154
%160 = OpLabel
%161 = OpLoad %int %m
%162 = OpLoad %int %high
%163 = OpSLessThanEqual %bool %161 %162
OpSelectionMerge %164 None
OpBranchConditional %163 %165 %166
%165 = OpLabel
%163 = OpLoad %int %low
OpStore %i_2 %163
OpBranch %164
%166 = OpLabel
OpBranch %158
%164 = OpLabel
%167 = OpLoad %int %low
OpStore %i_2 %167
OpBranch %168
%168 = OpLabel
OpLoopMerge %169 %170 None
OpLoopMerge %165 %166 None
OpBranch %167
%167 = OpLabel
%168 = OpLoad %int %i_2
%169 = OpLoad %int %high
%170 = OpSLessThan %bool %168 %169
OpSelectionMerge %171 None
OpBranchConditional %170 %172 %173
%172 = OpLabel
OpBranch %171
%173 = OpLabel
OpBranch %165
%171 = OpLabel
%172 = OpLoad %int %i_2
%173 = OpLoad %int %high
%174 = OpSLessThan %bool %172 %173
OpSelectionMerge %175 None
OpBranchConditional %174 %176 %177
%176 = OpLabel
OpBranch %175
%177 = OpLabel
OpBranch %169
%175 = OpLabel
%178 = OpLoad %int %i_2
OpStore %from_1 %178
%174 = OpLoad %int %i_2
OpStore %from_1 %174
%175 = OpLoad %int %i_2
%176 = OpLoad %int %m
%177 = OpIAdd %int %175 %176
%178 = OpISub %int %177 %int_1
OpStore %mid_1 %178
%179 = OpLoad %int %i_2
%180 = OpLoad %int %m
%181 = OpIAdd %int %179 %180
%182 = OpISub %int %181 %int_1
OpStore %mid_1 %182
%183 = OpLoad %int %i_2
%184 = OpLoad %int %m
%185 = OpLoad %int %high
%189 = OpIMul %int %int_2 %184
%190 = OpIAdd %int %183 %189
%191 = OpISub %int %190 %int_1
%186 = OpExtInst %int %187 SMin %191 %185
OpStore %to_1 %186
%192 = OpLoad %int %from_1
OpStore %param %192
%193 = OpLoad %int %mid_1
OpStore %param_1 %193
%194 = OpLoad %int %to_1
OpStore %param_2 %194
%195 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
OpBranch %170
%170 = OpLabel
%181 = OpLoad %int %high
%185 = OpIMul %int %int_2 %180
%186 = OpIAdd %int %179 %185
%187 = OpISub %int %186 %int_1
%182 = OpExtInst %int %183 SMin %187 %181
OpStore %to_1 %182
%188 = OpLoad %int %from_1
OpStore %param %188
%189 = OpLoad %int %mid_1
OpStore %param_1 %189
%190 = OpLoad %int %to_1
OpStore %param_2 %190
%191 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
OpBranch %166
%166 = OpLabel
%195 = OpLoad %int %m
%196 = OpLoad %int %i_2
%197 = OpIMul %int %int_2 %195
%198 = OpIAdd %int %196 %197
OpStore %i_2 %198
OpBranch %164
%165 = OpLabel
OpBranch %155
%155 = OpLabel
%199 = OpLoad %int %m
%200 = OpLoad %int %i_2
%201 = OpIMul %int %int_2 %199
%202 = OpIAdd %int %200 %201
OpStore %i_2 %202
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
%200 = OpIMul %int %int_2 %199
OpStore %m %200
OpBranch %153
%154 = OpLabel
OpReturn
OpFunctionEnd
%main_1 = OpFunction %void None %142
%206 = OpLabel
%main_1 = OpFunction %void None %138
%202 = OpLabel
%i_3 = OpVariable %_ptr_Function_int Function %35
%j_1 = OpVariable %_ptr_Function_int Function %35
%grey = OpVariable %_ptr_Function_float Function %211
%214 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%215 = OpLoad %float %214
%216 = OpConvertFToS %int %215
OpStore %i_3 %216
OpBranch %217
%217 = OpLabel
OpLoopMerge %218 %219 None
OpBranch %220
%grey = OpVariable %_ptr_Function_float Function %207
%210 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%211 = OpLoad %float %210
%212 = OpConvertFToS %int %211
OpStore %i_3 %212
OpBranch %213
%213 = OpLabel
OpLoopMerge %214 %215 None
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
%221 = OpLoad %int %i_3
OpSelectionMerge %222 None
OpSwitch %221 %223 9 %224 8 %225 7 %226 6 %227 5 %228 4 %229 3 %230 2 %231 1 %232 0 %233
%230 = OpLoad %int %i_3
%231 = OpAccessChain %_ptr_Private_int %data %230
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
%234 = OpLoad %int %i_3
%235 = OpAccessChain %_ptr_Private_int %data %234
OpStore %235 %int_n5
OpBranch %222
%242 = OpLoad %int %i_3
%243 = OpAccessChain %_ptr_Private_int %data %242
OpStore %243 %int_n1
OpBranch %218
%225 = OpLabel
%237 = OpLoad %int %i_3
%238 = OpAccessChain %_ptr_Private_int %data %237
OpStore %238 %int_n4
OpBranch %222
%245 = OpLoad %int %i_3
%246 = OpAccessChain %_ptr_Private_int %data %245
OpStore %246 %int_0
OpBranch %218
%226 = OpLabel
%240 = OpLoad %int %i_3
%241 = OpAccessChain %_ptr_Private_int %data %240
OpStore %241 %int_n3
OpBranch %222
%247 = OpLoad %int %i_3
%248 = OpAccessChain %_ptr_Private_int %data %247
OpStore %248 %int_1
OpBranch %218
%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
%250 = OpAccessChain %_ptr_Private_int %data %249
OpStore %250 %int_0
OpBranch %222
%230 = OpLabel
OpStore %250 %int_2
OpBranch %218
%228 = OpLabel
%251 = OpLoad %int %i_3
%252 = OpAccessChain %_ptr_Private_int %data %251
OpStore %252 %int_1
OpBranch %222
%231 = OpLabel
%253 = OpLoad %int %i_3
%254 = OpAccessChain %_ptr_Private_int %data %253
OpStore %254 %int_2
OpBranch %222
%232 = 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
OpStore %252 %int_3
OpBranch %218
%229 = OpLabel
%254 = OpLoad %int %i_3
%255 = OpAccessChain %_ptr_Private_int %data %254
OpStore %255 %int_4
OpBranch %218
%219 = OpLabel
OpBranch %218
%265 = OpLabel
OpBranch %217
%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
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
OpLoopMerge %269 %270 None
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
OpBranch %267
%269 = OpLabel
%284 = OpFunctionCall %void %mergeSort_
%287 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%288 = OpLoad %float %287
%289 = OpConvertFToS %int %288
%291 = OpSLessThan %bool %289 %int_30
OpSelectionMerge %292 None
OpBranchConditional %291 %293 %294
%293 = OpLabel
%295 = OpAccessChain %_ptr_Private_int %data %int_0
%296 = OpLoad %int %295
%298 = OpConvertSToF %float %296
%300 = OpFDiv %float %298 %float_10
%301 = OpFAdd %float %float_0_5 %300
OpStore %grey %301
OpBranch %292
%294 = OpLabel
%302 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%303 = OpLoad %float %302
%304 = OpConvertFToS %int %303
%306 = OpSLessThan %bool %304 %int_60
OpSelectionMerge %307 None
OpBranchConditional %306 %308 %309
%308 = OpLabel
%310 = OpAccessChain %_ptr_Private_int %data %int_1
%311 = OpLoad %int %310
%312 = OpConvertSToF %float %311
%313 = OpFDiv %float %312 %float_10
%314 = OpFAdd %float %float_0_5 %313
OpStore %grey %314
OpBranch %307
%309 = OpLabel
%315 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%316 = OpLoad %float %315
%317 = OpConvertFToS %int %316
%319 = OpSLessThan %bool %317 %int_90
OpSelectionMerge %320 None
OpBranchConditional %319 %321 %322
%321 = OpLabel
%323 = OpAccessChain %_ptr_Private_int %data %int_2
%324 = OpLoad %int %323
%325 = OpConvertSToF %float %324
%326 = OpFDiv %float %325 %float_10
%327 = OpFAdd %float %float_0_5 %326
OpStore %grey %327
OpBranch %320
%322 = OpLabel
%328 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%329 = OpLoad %float %328
%330 = OpConvertFToS %int %329
%332 = OpSLessThan %bool %330 %int_120
OpSelectionMerge %333 None
OpBranchConditional %332 %334 %335
%334 = OpLabel
%336 = OpAccessChain %_ptr_Private_int %data %int_3
%337 = OpLoad %int %336
%338 = OpConvertSToF %float %337
%339 = OpFDiv %float %338 %float_10
%340 = OpFAdd %float %float_0_5 %339
OpStore %grey %340
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
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
%277 = OpFunctionCall %void %mergeSort_
%280 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%281 = OpLoad %float %280
%282 = OpConvertFToS %int %281
%284 = OpSLessThan %bool %282 %int_30
OpSelectionMerge %285 None
OpBranchConditional %284 %286 %287
%286 = OpLabel
%288 = OpAccessChain %_ptr_Private_int %data %int_0
%289 = OpLoad %int %288
%291 = OpConvertSToF %float %289
%293 = OpFDiv %float %291 %float_10
%294 = OpFAdd %float %float_0_5 %293
OpStore %grey %294
OpBranch %285
%287 = OpLabel
%295 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%296 = OpLoad %float %295
%297 = OpConvertFToS %int %296
%299 = OpSLessThan %bool %297 %int_60
OpSelectionMerge %300 None
OpBranchConditional %299 %301 %302
%301 = OpLabel
%303 = OpAccessChain %_ptr_Private_int %data %int_1
%304 = OpLoad %int %303
%305 = OpConvertSToF %float %304
%306 = OpFDiv %float %305 %float_10
%307 = OpFAdd %float %float_0_5 %306
OpStore %grey %307
OpBranch %300
%302 = OpLabel
%308 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%309 = OpLoad %float %308
%310 = OpConvertFToS %int %309
%312 = OpSLessThan %bool %310 %int_90
OpSelectionMerge %313 None
OpBranchConditional %312 %314 %315
%314 = OpLabel
%316 = OpAccessChain %_ptr_Private_int %data %int_2
%317 = OpLoad %int %316
%318 = OpConvertSToF %float %317
%319 = OpFDiv %float %318 %float_10
%320 = OpFAdd %float %float_0_5 %319
OpStore %grey %320
OpBranch %313
%315 = OpLabel
%321 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%322 = OpLoad %float %321
%323 = OpConvertFToS %int %322
%325 = OpSLessThan %bool %323 %int_120
OpSelectionMerge %326 None
OpBranchConditional %325 %327 %328
%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
%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
%349 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%350 = OpLoad %float %349
%351 = OpConvertFToS %int %350
%353 = OpSLessThan %bool %351 %int_180
OpSelectionMerge %354 None
OpBranchConditional %353 %355 %356
%355 = OpLabel
%358 = OpAccessChain %_ptr_Private_int %data %int_5
%359 = OpLoad %int %358
%360 = OpConvertSToF %float %359
%361 = OpFDiv %float %360 %float_10
%362 = OpFAdd %float %float_0_5 %361
OpStore %grey %362
OpBranch %354
%356 = OpLabel
%363 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%364 = OpLoad %float %363
%365 = OpConvertFToS %int %364
%367 = OpSLessThan %bool %365 %int_210
OpSelectionMerge %368 None
OpBranchConditional %367 %369 %370
%369 = OpLabel
%372 = OpAccessChain %_ptr_Private_int %data %int_6
%373 = OpLoad %int %372
%374 = OpConvertSToF %float %373
%375 = OpFDiv %float %374 %float_10
%376 = OpFAdd %float %float_0_5 %375
OpStore %grey %376
OpBranch %368
%370 = OpLabel
%377 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%378 = OpLoad %float %377
%379 = OpConvertFToS %int %378
%381 = OpSLessThan %bool %379 %int_240
OpSelectionMerge %382 None
OpBranchConditional %381 %383 %384
%383 = OpLabel
%386 = OpAccessChain %_ptr_Private_int %data %int_7
%387 = OpLoad %int %386
%388 = OpConvertSToF %float %387
%389 = OpFDiv %float %388 %float_10
%390 = OpFAdd %float %float_0_5 %389
OpStore %grey %390
OpBranch %382
%384 = OpLabel
%391 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%392 = OpLoad %float %391
%393 = OpConvertFToS %int %392
%395 = OpSLessThan %bool %393 %int_270
OpSelectionMerge %396 None
OpBranchConditional %395 %397 %398
%397 = OpLabel
%400 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%351 = OpAccessChain %_ptr_Private_int %data %int_5
%352 = OpLoad %int %351
%353 = OpConvertSToF %float %352
%354 = OpFDiv %float %353 %float_10
%355 = OpFAdd %float %float_0_5 %354
OpStore %grey %355
OpBranch %347
%349 = OpLabel
%356 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%357 = OpLoad %float %356
%358 = OpConvertFToS %int %357
%360 = OpSLessThan %bool %358 %int_210
OpSelectionMerge %361 None
OpBranchConditional %360 %362 %363
%362 = OpLabel
%365 = OpAccessChain %_ptr_Private_int %data %int_6
%366 = OpLoad %int %365
%367 = OpConvertSToF %float %366
%368 = OpFDiv %float %367 %float_10
%369 = OpFAdd %float %float_0_5 %368
OpStore %grey %369
OpBranch %361
%363 = OpLabel
%370 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%371 = OpLoad %float %370
%372 = OpConvertFToS %int %371
%374 = OpSLessThan %bool %372 %int_240
OpSelectionMerge %375 None
OpBranchConditional %374 %376 %377
%376 = OpLabel
%379 = OpAccessChain %_ptr_Private_int %data %int_7
%380 = OpLoad %int %379
%381 = OpConvertSToF %float %380
%382 = OpFDiv %float %381 %float_10
%383 = OpFAdd %float %float_0_5 %382
OpStore %grey %383
OpBranch %375
%377 = OpLabel
%384 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%385 = OpLoad %float %384
%386 = OpConvertFToS %int %385
%388 = OpSLessThan %bool %386 %int_270
OpSelectionMerge %389 None
OpBranchConditional %388 %390 %391
%390 = OpLabel
%393 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%396 = OpLabel
OpBranch %382
%382 = OpLabel
OpBranch %368
%368 = OpLabel
OpBranch %354
%354 = OpLabel
OpBranch %346
%346 = OpLabel
OpBranch %333
%333 = OpLabel
OpBranch %320
%320 = OpLabel
OpBranch %307
%307 = OpLabel
OpBranch %292
%292 = OpLabel
%405 = OpLoad %float %grey
%407 = OpCompositeConstruct %v3float %405 %405 %405
%408 = OpCompositeExtract %float %407 0
%409 = OpCompositeExtract %float %407 1
%410 = OpCompositeExtract %float %407 2
%411 = OpCompositeConstruct %v4float %408 %409 %410 %float_1
OpStore %x_GLF_color %411
%389 = OpLabel
OpBranch %375
%375 = OpLabel
OpBranch %361
%361 = OpLabel
OpBranch %347
%347 = OpLabel
OpBranch %339
%339 = OpLabel
OpBranch %326
%326 = OpLabel
OpBranch %313
%313 = OpLabel
OpBranch %300
%300 = OpLabel
OpBranch %285
%285 = OpLabel
%398 = OpLoad %float %grey
%400 = OpCompositeConstruct %v3float %398 %398 %398
%401 = OpCompositeExtract %float %400 0
%402 = OpCompositeExtract %float %400 1
%403 = OpCompositeExtract %float %400 2
%404 = OpCompositeConstruct %v4float %401 %402 %403 %float_1
OpStore %x_GLF_color %404
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %412
%tint_symbol_3 = OpFunction %void None %405
%tint_symbol_1 = OpFunctionParameter %main_out
%416 = OpLabel
%417 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %417
%409 = OpLabel
%410 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %410
OpReturn
OpFunctionEnd
%main = OpFunction %void None %142
%419 = OpLabel
%420 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %420
%421 = OpFunctionCall %void %main_1
%423 = OpLoad %v4float %x_GLF_color
%424 = OpCompositeConstruct %main_out %423
%422 = OpFunctionCall %void %tint_symbol_3 %424
%main = OpFunction %void None %138
%412 = OpLabel
%413 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %413
%414 = OpFunctionCall %void %main_1
%416 = OpLoad %v4float %x_GLF_color
%417 = OpCompositeConstruct %main_out %416
%415 = OpFunctionCall %void %tint_symbol_3 %417
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 425
; Bound: 422
; Schema: 0
OpCapability Shader
%187 = OpExtInstImport "GLSL.std.450"
@ -133,7 +131,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%v3float = OpTypeVector %float 3
%main_out = OpTypeStruct %v4float
%412 = OpTypeFunction %void %main_out
%409 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %26
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -454,217 +452,207 @@ SKIP: FAILED
%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
%265 = OpLabel
OpBranch %217
OpBranchConditional %264 %217 %218
%218 = OpLabel
OpStore %j_1 %int_0
OpBranch %265
%265 = OpLabel
OpLoopMerge %266 %267 None
OpBranch %268
%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
%273 = OpLabel
OpBranch %266
%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
%284 = OpFunctionCall %void %mergeSort_
%287 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%288 = OpLoad %float %287
%289 = OpConvertFToS %int %288
%291 = OpSLessThan %bool %289 %int_30
OpSelectionMerge %292 None
OpBranchConditional %291 %293 %294
%293 = OpLabel
%295 = OpAccessChain %_ptr_Private_int %data %int_0
%296 = OpLoad %int %295
%298 = OpConvertSToF %float %296
%300 = OpFDiv %float %298 %float_10
%301 = OpFAdd %float %float_0_5 %300
OpStore %grey %301
OpBranch %292
%294 = OpLabel
%302 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%303 = OpLoad %float %302
%304 = OpConvertFToS %int %303
%306 = OpSLessThan %bool %304 %int_60
OpSelectionMerge %307 None
OpBranchConditional %306 %308 %309
%308 = OpLabel
%310 = OpAccessChain %_ptr_Private_int %data %int_1
%311 = OpLoad %int %310
%312 = OpConvertSToF %float %311
%313 = OpFDiv %float %312 %float_10
%314 = OpFAdd %float %float_0_5 %313
OpStore %grey %314
OpBranch %307
%309 = OpLabel
%315 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%316 = OpLoad %float %315
%317 = OpConvertFToS %int %316
%319 = OpSLessThan %bool %317 %int_90
OpSelectionMerge %320 None
OpBranchConditional %319 %321 %322
%321 = OpLabel
%323 = OpAccessChain %_ptr_Private_int %data %int_2
%324 = OpLoad %int %323
%325 = OpConvertSToF %float %324
%326 = OpFDiv %float %325 %float_10
%327 = OpFAdd %float %float_0_5 %326
OpStore %grey %327
OpBranch %320
%322 = OpLabel
%328 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%329 = OpLoad %float %328
%330 = OpConvertFToS %int %329
%332 = OpSLessThan %bool %330 %int_120
OpSelectionMerge %333 None
OpBranchConditional %332 %334 %335
%334 = OpLabel
%336 = OpAccessChain %_ptr_Private_int %data %int_3
%337 = OpLoad %int %336
%338 = OpConvertSToF %float %337
%339 = OpFDiv %float %338 %float_10
%340 = OpFAdd %float %float_0_5 %339
OpStore %grey %340
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
%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
%281 = OpFunctionCall %void %mergeSort_
%284 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%285 = OpLoad %float %284
%286 = OpConvertFToS %int %285
%288 = OpSLessThan %bool %286 %int_30
OpSelectionMerge %289 None
OpBranchConditional %288 %290 %291
%290 = OpLabel
%292 = OpAccessChain %_ptr_Private_int %data %int_0
%293 = OpLoad %int %292
%295 = OpConvertSToF %float %293
%297 = OpFDiv %float %295 %float_10
%298 = OpFAdd %float %float_0_5 %297
OpStore %grey %298
OpBranch %289
%291 = OpLabel
%299 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%300 = OpLoad %float %299
%301 = OpConvertFToS %int %300
%303 = OpSLessThan %bool %301 %int_60
OpSelectionMerge %304 None
OpBranchConditional %303 %305 %306
%305 = OpLabel
%307 = OpAccessChain %_ptr_Private_int %data %int_1
%308 = OpLoad %int %307
%309 = OpConvertSToF %float %308
%310 = OpFDiv %float %309 %float_10
%311 = OpFAdd %float %float_0_5 %310
OpStore %grey %311
OpBranch %304
%306 = OpLabel
%312 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%313 = OpLoad %float %312
%314 = OpConvertFToS %int %313
%316 = OpSLessThan %bool %314 %int_90
OpSelectionMerge %317 None
OpBranchConditional %316 %318 %319
%318 = OpLabel
%320 = OpAccessChain %_ptr_Private_int %data %int_2
%321 = OpLoad %int %320
%322 = OpConvertSToF %float %321
%323 = OpFDiv %float %322 %float_10
%324 = OpFAdd %float %float_0_5 %323
OpStore %grey %324
OpBranch %317
%319 = OpLabel
%325 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%326 = OpLoad %float %325
%327 = OpConvertFToS %int %326
%329 = OpSLessThan %bool %327 %int_120
OpSelectionMerge %330 None
OpBranchConditional %329 %331 %332
%331 = OpLabel
%333 = OpAccessChain %_ptr_Private_int %data %int_3
%334 = OpLoad %int %333
%335 = OpConvertSToF %float %334
%336 = OpFDiv %float %335 %float_10
%337 = OpFAdd %float %float_0_5 %336
OpStore %grey %337
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
%348 = OpLabel
%349 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%350 = OpLoad %float %349
%351 = OpConvertFToS %int %350
%353 = OpSLessThan %bool %351 %int_180
OpSelectionMerge %354 None
OpBranchConditional %353 %355 %356
%355 = OpLabel
%358 = OpAccessChain %_ptr_Private_int %data %int_5
%359 = OpLoad %int %358
%360 = OpConvertSToF %float %359
%361 = OpFDiv %float %360 %float_10
%362 = OpFAdd %float %float_0_5 %361
OpStore %grey %362
OpBranch %354
%356 = OpLabel
%363 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%364 = OpLoad %float %363
%365 = OpConvertFToS %int %364
%367 = OpSLessThan %bool %365 %int_210
OpSelectionMerge %368 None
OpBranchConditional %367 %369 %370
%369 = OpLabel
%372 = OpAccessChain %_ptr_Private_int %data %int_6
%373 = OpLoad %int %372
%374 = OpConvertSToF %float %373
%375 = OpFDiv %float %374 %float_10
%376 = OpFAdd %float %float_0_5 %375
OpStore %grey %376
OpBranch %368
%370 = OpLabel
%377 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%378 = OpLoad %float %377
%379 = OpConvertFToS %int %378
%381 = OpSLessThan %bool %379 %int_240
OpSelectionMerge %382 None
OpBranchConditional %381 %383 %384
%383 = OpLabel
%386 = OpAccessChain %_ptr_Private_int %data %int_7
%387 = OpLoad %int %386
%388 = OpConvertSToF %float %387
%389 = OpFDiv %float %388 %float_10
%390 = OpFAdd %float %float_0_5 %389
OpStore %grey %390
OpBranch %382
%384 = OpLabel
%391 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%392 = OpLoad %float %391
%393 = OpConvertFToS %int %392
%395 = OpSLessThan %bool %393 %int_270
OpSelectionMerge %396 None
OpBranchConditional %395 %397 %398
%397 = OpLabel
%400 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%345 = OpLabel
%346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%347 = OpLoad %float %346
%348 = OpConvertFToS %int %347
%350 = OpSLessThan %bool %348 %int_180
OpSelectionMerge %351 None
OpBranchConditional %350 %352 %353
%352 = OpLabel
%355 = OpAccessChain %_ptr_Private_int %data %int_5
%356 = OpLoad %int %355
%357 = OpConvertSToF %float %356
%358 = OpFDiv %float %357 %float_10
%359 = OpFAdd %float %float_0_5 %358
OpStore %grey %359
OpBranch %351
%353 = OpLabel
%360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%361 = OpLoad %float %360
%362 = OpConvertFToS %int %361
%364 = OpSLessThan %bool %362 %int_210
OpSelectionMerge %365 None
OpBranchConditional %364 %366 %367
%366 = OpLabel
%369 = OpAccessChain %_ptr_Private_int %data %int_6
%370 = OpLoad %int %369
%371 = OpConvertSToF %float %370
%372 = OpFDiv %float %371 %float_10
%373 = OpFAdd %float %float_0_5 %372
OpStore %grey %373
OpBranch %365
%367 = OpLabel
%374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%375 = OpLoad %float %374
%376 = OpConvertFToS %int %375
%378 = OpSLessThan %bool %376 %int_240
OpSelectionMerge %379 None
OpBranchConditional %378 %380 %381
%380 = OpLabel
%383 = OpAccessChain %_ptr_Private_int %data %int_7
%384 = OpLoad %int %383
%385 = OpConvertSToF %float %384
%386 = OpFDiv %float %385 %float_10
%387 = OpFAdd %float %float_0_5 %386
OpStore %grey %387
OpBranch %379
%381 = OpLabel
%388 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%389 = OpLoad %float %388
%390 = OpConvertFToS %int %389
%392 = OpSLessThan %bool %390 %int_270
OpSelectionMerge %393 None
OpBranchConditional %392 %394 %395
%394 = OpLabel
%397 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%396 = OpLabel
OpBranch %382
%382 = OpLabel
OpBranch %368
%368 = OpLabel
OpBranch %354
%354 = OpLabel
OpBranch %346
%346 = OpLabel
OpBranch %333
%333 = OpLabel
OpBranch %320
%320 = OpLabel
OpBranch %307
%307 = OpLabel
OpBranch %292
%292 = OpLabel
%405 = OpLoad %float %grey
%407 = OpCompositeConstruct %v3float %405 %405 %405
%408 = OpCompositeExtract %float %407 0
%409 = OpCompositeExtract %float %407 1
%410 = OpCompositeExtract %float %407 2
%411 = OpCompositeConstruct %v4float %408 %409 %410 %float_1
OpStore %x_GLF_color %411
%393 = OpLabel
OpBranch %379
%379 = OpLabel
OpBranch %365
%365 = OpLabel
OpBranch %351
%351 = OpLabel
OpBranch %343
%343 = OpLabel
OpBranch %330
%330 = OpLabel
OpBranch %317
%317 = OpLabel
OpBranch %304
%304 = OpLabel
OpBranch %289
%289 = OpLabel
%402 = OpLoad %float %grey
%404 = OpCompositeConstruct %v3float %402 %402 %402
%405 = OpCompositeExtract %float %404 0
%406 = OpCompositeExtract %float %404 1
%407 = OpCompositeExtract %float %404 2
%408 = OpCompositeConstruct %v4float %405 %406 %407 %float_1
OpStore %x_GLF_color %408
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %412
%tint_symbol_3 = OpFunction %void None %409
%tint_symbol_1 = OpFunctionParameter %main_out
%416 = OpLabel
%417 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %417
%413 = OpLabel
%414 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %414
OpReturn
OpFunctionEnd
%main = OpFunction %void None %142
%419 = OpLabel
%420 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %420
%421 = OpFunctionCall %void %main_1
%423 = OpLoad %v4float %x_GLF_color
%424 = OpCompositeConstruct %main_out %423
%422 = OpFunctionCall %void %tint_symbol_3 %424
%416 = OpLabel
%417 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %417
%418 = OpFunctionCall %void %main_1
%420 = OpLoad %v4float %x_GLF_color
%421 = OpCompositeConstruct %main_out %420
%419 = OpFunctionCall %void %tint_symbol_3 %421
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 548
; Bound: 545
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -129,9 +127,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%528 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%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
%535 = OpTypeFunction %void %main_out
%532 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22
%25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28
@ -826,35 +824,25 @@ SKIP: FAILED
OpBranch %87
%87 = OpLabel
%529 = OpLoad %bool %canwalk
OpSelectionMerge %530 None
OpBranchConditional %529 %531 %532
%531 = OpLabel
OpBranch %530
%532 = OpLabel
OpBranch %86
%530 = OpLabel
OpBranch %85
OpBranchConditional %529 %85 %86
%86 = OpLabel
OpStore %x_GLF_color %534
OpStore %x_GLF_color %531
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %535
%tint_symbol_3 = OpFunction %void None %532
%tint_symbol_1 = OpFunctionParameter %main_out
%539 = OpLabel
%540 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %540
%536 = OpLabel
%537 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %537
OpReturn
OpFunctionEnd
%main = OpFunction %void None %22
%542 = OpLabel
%543 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %543
%544 = OpFunctionCall %void %main_1
%546 = OpLoad %v4float %x_GLF_color
%547 = OpCompositeConstruct %main_out %546
%545 = OpFunctionCall %void %tint_symbol_3 %547
%539 = OpLabel
%540 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %540
%541 = OpFunctionCall %void %main_1
%543 = OpLoad %v4float %x_GLF_color
%544 = OpCompositeConstruct %main_out %543
%542 = OpFunctionCall %void %tint_symbol_3 %544
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 548
; Bound: 545
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -129,9 +127,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%528 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%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
%535 = OpTypeFunction %void %main_out
%532 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22
%25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28
@ -826,35 +824,25 @@ SKIP: FAILED
OpBranch %87
%87 = OpLabel
%529 = OpLoad %bool %canwalk
OpSelectionMerge %530 None
OpBranchConditional %529 %531 %532
%531 = OpLabel
OpBranch %530
%532 = OpLabel
OpBranch %86
%530 = OpLabel
OpBranch %85
OpBranchConditional %529 %85 %86
%86 = OpLabel
OpStore %x_GLF_color %534
OpStore %x_GLF_color %531
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %535
%tint_symbol_3 = OpFunction %void None %532
%tint_symbol_1 = OpFunctionParameter %main_out
%539 = OpLabel
%540 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %540
%536 = OpLabel
%537 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %537
OpReturn
OpFunctionEnd
%main = OpFunction %void None %22
%542 = OpLabel
%543 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %543
%544 = OpFunctionCall %void %main_1
%546 = OpLoad %v4float %x_GLF_color
%547 = OpCompositeConstruct %main_out %546
%545 = OpFunctionCall %void %tint_symbol_3 %547
%539 = OpLabel
%540 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %540
%541 = OpFunctionCall %void %main_1
%543 = OpLoad %v4float %x_GLF_color
%544 = OpCompositeConstruct %main_out %543
%542 = OpFunctionCall %void %tint_symbol_3 %544
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 512
; Bound: 509
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -118,9 +116,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%492 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%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
%499 = OpTypeFunction %void %main_out
%496 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22
%25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28
@ -748,35 +746,25 @@ SKIP: FAILED
OpBranch %87
%87 = OpLabel
%493 = OpLoad %bool %canwalk
OpSelectionMerge %494 None
OpBranchConditional %493 %495 %496
%495 = OpLabel
OpBranch %494
%496 = OpLabel
OpBranch %86
%494 = OpLabel
OpBranch %85
OpBranchConditional %493 %85 %86
%86 = OpLabel
OpStore %x_GLF_color %498
OpStore %x_GLF_color %495
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %499
%tint_symbol_3 = OpFunction %void None %496
%tint_symbol_1 = OpFunctionParameter %main_out
%503 = OpLabel
%504 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %504
%500 = OpLabel
%501 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %501
OpReturn
OpFunctionEnd
%main = OpFunction %void None %22
%506 = OpLabel
%507 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %507
%508 = OpFunctionCall %void %main_1
%510 = OpLoad %v4float %x_GLF_color
%511 = OpCompositeConstruct %main_out %510
%509 = OpFunctionCall %void %tint_symbol_3 %511
%503 = OpLabel
%504 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %504
%505 = OpFunctionCall %void %main_1
%507 = OpLoad %v4float %x_GLF_color
%508 = OpCompositeConstruct %main_out %507
%506 = OpFunctionCall %void %tint_symbol_3 %508
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 512
; Bound: 509
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@ -118,9 +116,9 @@ SKIP: FAILED
%float_1 = OpConstant %float 1
%492 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%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
%499 = OpTypeFunction %void %main_out
%496 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %22
%25 = OpLabel
%pos = OpVariable %_ptr_Function_v2float Function %28
@ -748,35 +746,25 @@ SKIP: FAILED
OpBranch %87
%87 = OpLabel
%493 = OpLoad %bool %canwalk
OpSelectionMerge %494 None
OpBranchConditional %493 %495 %496
%495 = OpLabel
OpBranch %494
%496 = OpLabel
OpBranch %86
%494 = OpLabel
OpBranch %85
OpBranchConditional %493 %85 %86
%86 = OpLabel
OpStore %x_GLF_color %498
OpStore %x_GLF_color %495
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %499
%tint_symbol_3 = OpFunction %void None %496
%tint_symbol_1 = OpFunctionParameter %main_out
%503 = OpLabel
%504 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %504
%500 = OpLabel
%501 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %501
OpReturn
OpFunctionEnd
%main = OpFunction %void None %22
%506 = OpLabel
%507 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %507
%508 = OpFunctionCall %void %main_1
%510 = OpLoad %v4float %x_GLF_color
%511 = OpCompositeConstruct %main_out %510
%509 = OpFunctionCall %void %tint_symbol_3 %511
%503 = OpLabel
%504 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %504
%505 = OpFunctionCall %void %main_1
%507 = OpLoad %v4float %x_GLF_color
%508 = OpCompositeConstruct %main_out %507
%506 = OpFunctionCall %void %tint_symbol_3 %508
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 424
; Bound: 417
; Schema: 0
OpCapability Shader
%169 = OpExtInstImport "GLSL.std.450"
%166 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft
@ -149,7 +147,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%411 = OpTypeFunction %void %main_out
%404 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25
@ -313,434 +311,414 @@ SKIP: FAILED
%44 = OpLabel
OpStore %x_63_phi %113
%115 = OpSLessThan %bool %113 %int_10
OpSelectionMerge %117 None
OpBranchConditional %115 %118 %119
%118 = OpLabel
OpBranch %117
%119 = OpLabel
OpBranch %43
%117 = OpLabel
OpBranch %42
OpBranchConditional %115 %42 %43
%43 = OpLabel
OpStore %x_103_phi %int_0
OpBranch %117
%117 = OpLabel
OpLoopMerge %118 %119 None
OpBranch %120
%120 = OpLabel
OpLoopMerge %121 %122 None
OpBranch %123
%123 = OpLabel
%125 = OpLoad %int %x_103_phi
%126 = OpSLessThan %bool %125 %int_10
OpSelectionMerge %127 None
OpBranchConditional %126 %128 %129
%128 = OpLabel
OpBranch %127
%129 = OpLabel
OpBranch %121
%127 = OpLabel
OpBranch %122
%122 = OpLabel
%130 = OpAccessChain %_ptr_Function_int %data %125
%131 = OpLoad %int %130
%132 = OpAccessChain %_ptr_Function_int %temp %125
OpStore %132 %131
%133 = OpIAdd %int %125 %int_1
OpStore %x_104 %133
%134 = OpLoad %int %x_104
OpStore %x_103_phi %134
OpBranch %120
%121 = OpLabel
%122 = OpLoad %int %x_103_phi
%123 = OpSLessThan %bool %122 %int_10
OpSelectionMerge %124 None
OpBranchConditional %123 %125 %126
%125 = OpLabel
OpBranch %124
%126 = OpLabel
OpBranch %118
%124 = OpLabel
OpBranch %119
%119 = OpLabel
%127 = OpAccessChain %_ptr_Function_int %data %122
%128 = OpLoad %int %127
%129 = OpAccessChain %_ptr_Function_int %temp %122
OpStore %129 %128
%130 = OpIAdd %int %122 %int_1
OpStore %x_104 %130
%131 = OpLoad %int %x_104
OpStore %x_103_phi %131
OpBranch %117
%118 = OpLabel
OpStore %x_112_phi %int_1
OpBranch %132
%132 = OpLabel
OpLoopMerge %133 %134 None
OpBranch %135
%135 = OpLabel
OpLoopMerge %136 %137 None
OpBranch %138
%138 = OpLabel
%141 = OpLoad %int %x_112_phi
%143 = OpSLessThanEqual %bool %141 %int_9
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %146
%145 = OpLabel
OpBranch %144
%146 = OpLabel
OpBranch %136
%144 = OpLabel
%138 = OpLoad %int %x_112_phi
%140 = OpSLessThanEqual %bool %138 %int_9
OpSelectionMerge %141 None
OpBranchConditional %140 %142 %143
%142 = OpLabel
OpBranch %141
%143 = OpLabel
OpBranch %133
%141 = OpLabel
OpStore %x_119_phi %int_0
OpBranch %144
%144 = OpLabel
OpLoopMerge %145 %146 None
OpBranch %147
%147 = OpLabel
OpLoopMerge %148 %149 None
OpBranch %150
%150 = OpLabel
%159 = OpLoad %int %x_119_phi
%160 = OpSLessThan %bool %159 %int_9
OpSelectionMerge %161 None
OpBranchConditional %160 %162 %163
%162 = OpLabel
OpBranch %161
%163 = OpLabel
OpBranch %148
%161 = OpLabel
%164 = OpIAdd %int %159 %141
%165 = OpISub %int %164 %int_1
%166 = OpIMul %int %int_2 %141
%167 = OpIAdd %int %159 %166
%170 = OpISub %int %167 %int_1
%168 = OpExtInst %int %169 SMin %170 %int_9
OpStore %x_131_phi %159
OpStore %x_134_phi %164
OpStore %x_136_phi %159
%156 = OpLoad %int %x_119_phi
%157 = OpSLessThan %bool %156 %int_9
OpSelectionMerge %158 None
OpBranchConditional %157 %159 %160
%159 = OpLabel
OpBranch %158
%160 = OpLabel
OpBranch %145
%158 = OpLabel
%161 = OpIAdd %int %156 %138
%162 = OpISub %int %161 %int_1
%163 = OpIMul %int %int_2 %138
%164 = OpIAdd %int %156 %163
%167 = OpISub %int %164 %int_1
%165 = OpExtInst %int %166 SMin %167 %int_9
OpStore %x_131_phi %156
OpStore %x_134_phi %161
OpStore %x_136_phi %156
OpBranch %168
%168 = OpLabel
OpLoopMerge %169 %170 None
OpBranch %171
%171 = OpLabel
OpLoopMerge %172 %173 None
OpBranch %174
%174 = OpLabel
%179 = OpLoad %int %x_131_phi
OpStore %x_131 %179
%180 = OpLoad %int %x_134_phi
%181 = OpLoad %int %x_136_phi
OpStore %x_136 %181
%182 = OpLoad %int %x_136
%183 = OpSLessThanEqual %bool %182 %165
OpSelectionMerge %184 None
OpBranchConditional %183 %185 %184
%185 = OpLabel
%186 = OpSLessThanEqual %bool %180 %168
OpBranch %184
%176 = OpLoad %int %x_131_phi
OpStore %x_131 %176
%177 = OpLoad %int %x_134_phi
%178 = OpLoad %int %x_136_phi
OpStore %x_136 %178
%179 = OpLoad %int %x_136
%180 = OpSLessThanEqual %bool %179 %162
%181 = OpSLessThanEqual %bool %177 %165
%182 = OpLogicalAnd %bool %180 %181
OpSelectionMerge %183 None
OpBranchConditional %182 %184 %185
%184 = OpLabel
%187 = OpPhi %bool %183 %174 %186 %185
OpSelectionMerge %188 None
OpBranchConditional %187 %189 %190
%189 = OpLabel
OpBranch %188
%190 = OpLabel
OpBranch %172
%188 = OpLabel
%191 = OpLoad %int %x_136
%192 = OpAccessChain %_ptr_Function_int %data %191
%193 = OpLoad %int %192
%194 = OpAccessChain %_ptr_Function_int %data %180
%195 = OpLoad %int %194
%197 = OpLoad %int %x_131
%198 = OpCopyObject %int %int_1
%199 = OpIAdd %int %197 %198
%196 = OpCopyObject %int %199
%200 = OpSLessThan %bool %193 %195
OpSelectionMerge %201 None
OpBranchConditional %200 %202 %203
%202 = OpLabel
%205 = OpLoad %int %x_136
%206 = OpCopyObject %int %int_1
%207 = OpIAdd %int %205 %206
%204 = OpCopyObject %int %207
OpStore %x_151 %204
%208 = OpAccessChain %_ptr_Function_int %data %191
%209 = OpLoad %int %208
%210 = OpLoad %int %x_131
%211 = OpAccessChain %_ptr_Function_int %temp %210
OpStore %211 %209
OpStore %x_135_phi %180
%212 = OpLoad %int %x_151
OpStore %x_137_phi %212
OpBranch %201
%203 = OpLabel
%213 = OpIAdd %int %180 %int_1
OpStore %x_154 %213
%214 = OpAccessChain %_ptr_Function_int %data %180
%215 = OpLoad %int %214
%216 = OpLoad %int %x_131
%217 = OpAccessChain %_ptr_Function_int %temp %216
OpStore %217 %215
%218 = OpLoad %int %x_154
OpStore %x_135_phi %218
%219 = OpLoad %int %x_136
OpStore %x_137_phi %219
OpBranch %201
%201 = OpLabel
%220 = OpLoad %int %x_135_phi
%221 = OpLoad %int %x_137_phi
OpBranch %173
%173 = OpLabel
OpStore %x_131_phi %196
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
%224 = OpLabel
OpLoopMerge %225 %226 None
OpBranch %227
%227 = OpLabel
%230 = OpLoad %int %x_158_phi
%231 = OpLoad %int %x_161_phi
%232 = OpSLessThan %bool %231 %int_10
OpSelectionMerge %233 None
OpBranchConditional %232 %234 %233
%234 = OpLabel
%235 = OpSLessThanEqual %bool %231 %165
OpBranch %233
%233 = OpLabel
%236 = OpPhi %bool %232 %227 %235 %234
OpSelectionMerge %237 None
OpBranchConditional %236 %238 %239
%238 = OpLabel
OpBranch %237
%239 = OpLabel
OpBranch %225
%237 = OpLabel
OpBranch %226
%226 = OpLabel
%240 = OpIAdd %int %230 %int_1
OpStore %x_159 %240
%241 = OpIAdd %int %231 %int_1
OpStore %x_162 %241
%242 = OpAccessChain %_ptr_Function_int %data %231
%243 = OpLoad %int %242
%244 = OpAccessChain %_ptr_Function_int %temp %230
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
%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
OpBranch %183
%185 = OpLabel
OpBranch %169
%183 = OpLabel
%186 = OpLoad %int %x_136
%187 = OpAccessChain %_ptr_Function_int %data %186
%188 = OpLoad %int %187
%189 = OpAccessChain %_ptr_Function_int %data %177
%190 = OpLoad %int %189
%192 = OpLoad %int %x_131
%193 = OpCopyObject %int %int_1
%194 = OpIAdd %int %192 %193
%191 = OpCopyObject %int %194
%195 = OpSLessThan %bool %188 %190
OpSelectionMerge %196 None
OpBranchConditional %195 %197 %198
%197 = OpLabel
%200 = OpLoad %int %x_136
%201 = OpCopyObject %int %int_1
%202 = OpIAdd %int %200 %201
%199 = OpCopyObject %int %202
OpStore %x_151 %199
%203 = OpAccessChain %_ptr_Function_int %data %186
%204 = OpLoad %int %203
%205 = OpLoad %int %x_131
%206 = OpAccessChain %_ptr_Function_int %temp %205
OpStore %206 %204
OpStore %x_135_phi %177
%207 = OpLoad %int %x_151
OpStore %x_137_phi %207
OpBranch %196
%198 = OpLabel
%208 = OpIAdd %int %177 %int_1
OpStore %x_154 %208
%209 = OpAccessChain %_ptr_Function_int %data %177
%210 = OpLoad %int %209
%211 = OpLoad %int %x_131
%212 = OpAccessChain %_ptr_Function_int %temp %211
OpStore %212 %210
%213 = OpLoad %int %x_154
OpStore %x_135_phi %213
%214 = OpLoad %int %x_136
OpStore %x_137_phi %214
OpBranch %196
%196 = OpLabel
%215 = OpLoad %int %x_135_phi
%216 = OpLoad %int %x_137_phi
OpBranch %170
%170 = OpLabel
OpStore %x_131_phi %191
OpStore %x_134_phi %215
OpStore %x_136_phi %216
OpBranch %168
%169 = OpLabel
%217 = OpLoad %int %x_131
OpStore %x_158_phi %217
%218 = OpLoad %int %x_136
OpStore %x_161_phi %218
OpBranch %219
%219 = OpLabel
OpLoopMerge %220 %221 None
OpBranch %222
%222 = OpLabel
%225 = OpLoad %int %x_158_phi
%226 = OpLoad %int %x_161_phi
%227 = OpSLessThan %bool %226 %int_10
%228 = OpSLessThanEqual %bool %226 %162
%229 = OpLogicalAnd %bool %227 %228
OpSelectionMerge %230 None
OpBranchConditional %229 %231 %232
%231 = OpLabel
OpBranch %230
%232 = OpLabel
OpBranch %220
%230 = OpLabel
OpBranch %221
%221 = OpLabel
%233 = OpIAdd %int %225 %int_1
OpStore %x_159 %233
%234 = OpIAdd %int %226 %int_1
OpStore %x_162 %234
%235 = OpAccessChain %_ptr_Function_int %data %226
%236 = OpLoad %int %235
%237 = OpAccessChain %_ptr_Function_int %temp %225
OpStore %237 %236
%238 = OpLoad %int %x_159
OpStore %x_158_phi %238
%239 = OpLoad %int %x_162
OpStore %x_161_phi %239
OpBranch %219
%220 = OpLabel
OpStore %x_171_phi %156
OpBranch %240
%240 = OpLabel
OpLoopMerge %241 %242 None
OpBranch %243
%243 = OpLabel
%245 = OpLoad %int %x_171_phi
%246 = OpSLessThanEqual %bool %245 %165
OpSelectionMerge %247 None
OpBranchConditional %246 %248 %249
%248 = OpLabel
OpBranch %149
%149 = OpLabel
OpStore %x_119_phi %167
OpBranch %147
%148 = OpLabel
OpBranch %137
%137 = OpLabel
%262 = OpIMul %int %int_2 %141
OpStore %x_113 %262
%263 = OpLoad %int %x_113
OpStore %x_112_phi %263
OpBranch %135
%136 = OpLabel
%270 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%271 = OpLoad %float %270
%272 = OpConvertFToS %int %271
OpStore %x_181 %272
%273 = OpLoad %int %x_181
%275 = OpSLessThan %bool %273 %int_30
OpSelectionMerge %276 None
OpBranchConditional %275 %277 %278
%277 = OpLabel
%279 = OpAccessChain %_ptr_Function_int %data %int_0
%280 = OpLoad %int %279
%282 = OpConvertSToF %float %280
%284 = OpFMul %float %282 %float_0_100000001
%285 = OpFAdd %float %float_0_5 %284
OpStore %x_190 %285
%286 = OpLoad %float %x_190
OpStore %x_263_phi %286
OpBranch %276
%278 = OpLabel
%290 = OpLoad %int %x_181
%292 = OpSLessThan %bool %290 %int_60
OpSelectionMerge %293 None
OpBranchConditional %292 %294 %295
%294 = OpLabel
%296 = OpAccessChain %_ptr_Function_int %data %int_1
%297 = OpLoad %int %296
%298 = OpConvertSToF %float %297
%299 = OpFMul %float %298 %float_0_100000001
%300 = OpFAdd %float %float_0_5 %299
OpStore %x_199 %300
%301 = OpLoad %float %x_199
OpStore %x_262_phi %301
OpBranch %293
%295 = OpLabel
%305 = OpLoad %int %x_181
%307 = OpSLessThan %bool %305 %int_90
OpSelectionMerge %308 None
OpBranchConditional %307 %309 %310
%309 = OpLabel
%311 = OpAccessChain %_ptr_Function_int %data %int_2
%312 = OpLoad %int %311
%313 = OpConvertSToF %float %312
%314 = OpFMul %float %313 %float_0_100000001
%315 = OpFAdd %float %float_0_5 %314
OpStore %x_208 %315
%316 = OpLoad %float %x_208
OpStore %x_261_phi %316
OpBranch %308
%310 = OpLabel
%317 = OpLoad %int %x_181
%319 = OpSLessThan %bool %317 %int_120
OpSelectionMerge %320 None
OpBranchConditional %319 %321 %322
%321 = OpLabel
%323 = OpAccessChain %_ptr_Function_int %data %int_3
%324 = OpLoad %int %323
%325 = OpConvertSToF %float %324
%326 = OpFMul %float %325 %float_0_100000001
%327 = OpFAdd %float %float_0_5 %326
OpStore %x_217 %327
%328 = OpLoad %float %x_217
OpStore %x_260_phi %328
OpBranch %320
%322 = OpLabel
%332 = OpLoad %int %x_181
%334 = OpSLessThan %bool %332 %int_150
OpSelectionMerge %335 None
OpBranchConditional %334 %336 %337
%336 = OpLabel
OpBranch %247
%249 = OpLabel
OpBranch %241
%247 = OpLabel
OpBranch %242
%242 = OpLabel
%250 = OpAccessChain %_ptr_Function_int %temp %245
%251 = OpLoad %int %250
%252 = OpAccessChain %_ptr_Function_int %data %245
OpStore %252 %251
%253 = OpIAdd %int %245 %int_1
OpStore %x_172 %253
%254 = OpLoad %int %x_172
OpStore %x_171_phi %254
OpBranch %240
%241 = OpLabel
OpBranch %146
%146 = OpLabel
OpStore %x_119_phi %164
OpBranch %144
%145 = OpLabel
OpBranch %134
%134 = OpLabel
%255 = OpIMul %int %int_2 %138
OpStore %x_113 %255
%256 = OpLoad %int %x_113
OpStore %x_112_phi %256
OpBranch %132
%133 = OpLabel
%263 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%264 = OpLoad %float %263
%265 = OpConvertFToS %int %264
OpStore %x_181 %265
%266 = OpLoad %int %x_181
%268 = OpSLessThan %bool %266 %int_30
OpSelectionMerge %269 None
OpBranchConditional %268 %270 %271
%270 = OpLabel
%272 = OpAccessChain %_ptr_Function_int %data %int_0
%273 = OpLoad %int %272
%275 = OpConvertSToF %float %273
%277 = OpFMul %float %275 %float_0_100000001
%278 = OpFAdd %float %float_0_5 %277
OpStore %x_190 %278
%279 = OpLoad %float %x_190
OpStore %x_263_phi %279
OpBranch %269
%271 = OpLabel
%283 = OpLoad %int %x_181
%285 = OpSLessThan %bool %283 %int_60
OpSelectionMerge %286 None
OpBranchConditional %285 %287 %288
%287 = OpLabel
%289 = OpAccessChain %_ptr_Function_int %data %int_1
%290 = OpLoad %int %289
%291 = OpConvertSToF %float %290
%292 = OpFMul %float %291 %float_0_100000001
%293 = OpFAdd %float %float_0_5 %292
OpStore %x_199 %293
%294 = OpLoad %float %x_199
OpStore %x_262_phi %294
OpBranch %286
%288 = OpLabel
%298 = OpLoad %int %x_181
%300 = OpSLessThan %bool %298 %int_90
OpSelectionMerge %301 None
OpBranchConditional %300 %302 %303
%302 = OpLabel
%304 = OpAccessChain %_ptr_Function_int %data %int_2
%305 = OpLoad %int %304
%306 = OpConvertSToF %float %305
%307 = OpFMul %float %306 %float_0_100000001
%308 = OpFAdd %float %float_0_5 %307
OpStore %x_208 %308
%309 = OpLoad %float %x_208
OpStore %x_261_phi %309
OpBranch %301
%303 = OpLabel
%310 = OpLoad %int %x_181
%312 = OpSLessThan %bool %310 %int_120
OpSelectionMerge %313 None
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
%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
%341 = OpLoad %int %x_181
%343 = OpSLessThan %bool %341 %int_180
OpSelectionMerge %344 None
OpBranchConditional %343 %345 %346
%345 = OpLabel
%348 = OpAccessChain %_ptr_Function_int %data %int_5
%349 = OpLoad %int %348
%350 = OpConvertSToF %float %349
%351 = OpFMul %float %350 %float_0_100000001
%352 = OpFAdd %float %float_0_5 %351
OpStore %x_230 %352
%353 = OpLoad %float %x_230
OpStore %x_259_phi %353
OpBranch %344
%346 = OpLabel
%357 = OpLoad %int %x_181
%359 = OpSLessThan %bool %357 %int_210
OpSelectionMerge %360 None
OpBranchConditional %359 %361 %362
%361 = OpLabel
%364 = OpAccessChain %_ptr_Function_int %data %int_6
%365 = OpLoad %int %364
%366 = OpConvertSToF %float %365
%367 = OpFMul %float %366 %float_0_100000001
%368 = OpFAdd %float %float_0_5 %367
OpStore %x_239 %368
%369 = OpLoad %float %x_239
OpStore %x_258_phi %369
OpBranch %360
%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
%393 = OpLoad %float %x_259_phi
OpStore %x_259 %393
OpBranch %328
%328 = OpLabel
%394 = OpLoad %float %x_259
OpStore %x_260_phi %394
OpBranch %313
%313 = OpLabel
%395 = OpLoad %float %x_260_phi
OpStore %x_260 %395
%396 = OpLoad %float %x_260
OpStore %x_261_phi %396
OpBranch %301
%301 = OpLabel
%397 = OpLoad %float %x_261_phi
OpStore %x_261 %397
%398 = OpLoad %float %x_261
OpStore %x_262_phi %398
OpBranch %286
%286 = OpLabel
%399 = OpLoad %float %x_262_phi
OpStore %x_262 %399
%400 = OpLoad %float %x_262
OpStore %x_263_phi %400
OpBranch %269
%269 = OpLabel
%401 = OpLoad %float %x_263_phi
%403 = OpCompositeConstruct %v4float %401 %401 %401 %float_1
OpStore %x_GLF_color %403
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %411
%tint_symbol_3 = OpFunction %void None %404
%tint_symbol_1 = OpFunctionParameter %main_out
%415 = OpLabel
%416 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %416
%408 = OpLabel
%409 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %409
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%418 = OpLabel
%419 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %419
%420 = OpFunctionCall %void %main_1
%422 = OpLoad %v4float %x_GLF_color
%423 = OpCompositeConstruct %main_out %422
%421 = OpFunctionCall %void %tint_symbol_3 %423
%411 = OpLabel
%412 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %412
%413 = OpFunctionCall %void %main_1
%415 = OpLoad %v4float %x_GLF_color
%416 = OpCompositeConstruct %main_out %415
%414 = OpFunctionCall %void %tint_symbol_3 %416
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 424
; Bound: 421
; Schema: 0
OpCapability Shader
%169 = OpExtInstImport "GLSL.std.450"
%166 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft
@ -149,7 +147,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%411 = OpTypeFunction %void %main_out
%408 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25
@ -313,434 +311,424 @@ SKIP: FAILED
%44 = OpLabel
OpStore %x_63_phi %113
%115 = OpSLessThan %bool %113 %int_10
OpSelectionMerge %117 None
OpBranchConditional %115 %118 %119
%118 = OpLabel
OpBranch %117
%119 = OpLabel
OpBranch %43
%117 = OpLabel
OpBranch %42
OpBranchConditional %115 %42 %43
%43 = OpLabel
OpStore %x_103_phi %int_0
OpBranch %117
%117 = OpLabel
OpLoopMerge %118 %119 None
OpBranch %120
%120 = OpLabel
OpLoopMerge %121 %122 None
OpBranch %123
%123 = OpLabel
%125 = OpLoad %int %x_103_phi
%126 = OpSLessThan %bool %125 %int_10
OpSelectionMerge %127 None
OpBranchConditional %126 %128 %129
%128 = OpLabel
OpBranch %127
%129 = OpLabel
OpBranch %121
%127 = OpLabel
OpBranch %122
%122 = OpLabel
%130 = OpAccessChain %_ptr_Function_int %data %125
%131 = OpLoad %int %130
%132 = OpAccessChain %_ptr_Function_int %temp %125
OpStore %132 %131
%133 = OpIAdd %int %125 %int_1
OpStore %x_104 %133
%134 = OpLoad %int %x_104
OpStore %x_103_phi %134
OpBranch %120
%121 = OpLabel
%122 = OpLoad %int %x_103_phi
%123 = OpSLessThan %bool %122 %int_10
OpSelectionMerge %124 None
OpBranchConditional %123 %125 %126
%125 = OpLabel
OpBranch %124
%126 = OpLabel
OpBranch %118
%124 = OpLabel
OpBranch %119
%119 = OpLabel
%127 = OpAccessChain %_ptr_Function_int %data %122
%128 = OpLoad %int %127
%129 = OpAccessChain %_ptr_Function_int %temp %122
OpStore %129 %128
%130 = OpIAdd %int %122 %int_1
OpStore %x_104 %130
%131 = OpLoad %int %x_104
OpStore %x_103_phi %131
OpBranch %117
%118 = OpLabel
OpStore %x_112_phi %int_1
OpBranch %132
%132 = OpLabel
OpLoopMerge %133 %134 None
OpBranch %135
%135 = OpLabel
OpLoopMerge %136 %137 None
OpBranch %138
%138 = OpLabel
%141 = OpLoad %int %x_112_phi
%143 = OpSLessThanEqual %bool %141 %int_9
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %146
%145 = OpLabel
OpBranch %144
%146 = OpLabel
OpBranch %136
%144 = OpLabel
%138 = OpLoad %int %x_112_phi
%140 = OpSLessThanEqual %bool %138 %int_9
OpSelectionMerge %141 None
OpBranchConditional %140 %142 %143
%142 = OpLabel
OpBranch %141
%143 = OpLabel
OpBranch %133
%141 = OpLabel
OpStore %x_119_phi %int_0
OpBranch %144
%144 = OpLabel
OpLoopMerge %145 %146 None
OpBranch %147
%147 = OpLabel
OpLoopMerge %148 %149 None
OpBranch %150
%150 = OpLabel
%159 = OpLoad %int %x_119_phi
%160 = OpSLessThan %bool %159 %int_9
OpSelectionMerge %161 None
OpBranchConditional %160 %162 %163
%162 = OpLabel
OpBranch %161
%163 = OpLabel
OpBranch %148
%161 = OpLabel
%164 = OpIAdd %int %159 %141
%165 = OpISub %int %164 %int_1
%166 = OpIMul %int %int_2 %141
%167 = OpIAdd %int %159 %166
%170 = OpISub %int %167 %int_1
%168 = OpExtInst %int %169 SMin %170 %int_9
OpStore %x_131_phi %159
OpStore %x_134_phi %164
OpStore %x_136_phi %159
%156 = OpLoad %int %x_119_phi
%157 = OpSLessThan %bool %156 %int_9
OpSelectionMerge %158 None
OpBranchConditional %157 %159 %160
%159 = OpLabel
OpBranch %158
%160 = OpLabel
OpBranch %145
%158 = OpLabel
%161 = OpIAdd %int %156 %138
%162 = OpISub %int %161 %int_1
%163 = OpIMul %int %int_2 %138
%164 = OpIAdd %int %156 %163
%167 = OpISub %int %164 %int_1
%165 = OpExtInst %int %166 SMin %167 %int_9
OpStore %x_131_phi %156
OpStore %x_134_phi %161
OpStore %x_136_phi %156
OpBranch %168
%168 = OpLabel
OpLoopMerge %169 %170 None
OpBranch %171
%171 = OpLabel
OpLoopMerge %172 %173 None
OpBranch %174
%174 = OpLabel
%179 = OpLoad %int %x_131_phi
OpStore %x_131 %179
%180 = OpLoad %int %x_134_phi
%181 = OpLoad %int %x_136_phi
OpStore %x_136 %181
%182 = OpLoad %int %x_136
%183 = OpSLessThanEqual %bool %182 %165
OpSelectionMerge %184 None
OpBranchConditional %183 %185 %184
%176 = OpLoad %int %x_131_phi
OpStore %x_131 %176
%177 = OpLoad %int %x_134_phi
%178 = OpLoad %int %x_136_phi
OpStore %x_136 %178
%179 = OpLoad %int %x_136
%180 = OpSLessThanEqual %bool %179 %162
OpSelectionMerge %181 None
OpBranchConditional %180 %182 %181
%182 = OpLabel
%183 = OpSLessThanEqual %bool %177 %165
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
%186 = OpSLessThanEqual %bool %180 %168
OpBranch %184
%184 = OpLabel
%187 = OpPhi %bool %183 %174 %186 %185
OpSelectionMerge %188 None
OpBranchConditional %187 %189 %190
%189 = OpLabel
OpBranch %188
%190 = OpLabel
OpBranch %172
%188 = OpLabel
%191 = OpLoad %int %x_136
%192 = OpAccessChain %_ptr_Function_int %data %191
%193 = OpLoad %int %192
%194 = OpAccessChain %_ptr_Function_int %data %180
%195 = OpLoad %int %194
%197 = OpLoad %int %x_131
%198 = OpCopyObject %int %int_1
%199 = OpIAdd %int %197 %198
%196 = OpCopyObject %int %199
%200 = OpSLessThan %bool %193 %195
OpSelectionMerge %201 None
OpBranchConditional %200 %202 %203
%202 = OpLabel
%205 = OpLoad %int %x_136
%206 = OpCopyObject %int %int_1
%207 = OpIAdd %int %205 %206
%204 = OpCopyObject %int %207
OpStore %x_151 %204
%208 = OpAccessChain %_ptr_Function_int %data %191
%209 = OpLoad %int %208
%210 = OpLoad %int %x_131
%211 = OpAccessChain %_ptr_Function_int %temp %210
OpStore %211 %209
OpStore %x_135_phi %180
%212 = OpLoad %int %x_151
OpStore %x_137_phi %212
OpBranch %201
%203 = OpLabel
%213 = OpIAdd %int %180 %int_1
OpStore %x_154 %213
%214 = OpAccessChain %_ptr_Function_int %data %180
%215 = OpLoad %int %214
%216 = OpLoad %int %x_131
%217 = OpAccessChain %_ptr_Function_int %temp %216
OpStore %217 %215
%218 = OpLoad %int %x_154
OpStore %x_135_phi %218
%219 = OpLoad %int %x_136
OpStore %x_137_phi %219
OpBranch %201
%201 = OpLabel
%220 = OpLoad %int %x_135_phi
%221 = OpLoad %int %x_137_phi
OpBranch %173
%173 = OpLabel
OpStore %x_131_phi %196
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
%188 = OpLoad %int %x_136
%189 = OpAccessChain %_ptr_Function_int %data %188
%190 = OpLoad %int %189
%191 = OpAccessChain %_ptr_Function_int %data %177
%192 = OpLoad %int %191
%194 = OpLoad %int %x_131
%195 = OpCopyObject %int %int_1
%196 = OpIAdd %int %194 %195
%193 = OpCopyObject %int %196
%197 = OpSLessThan %bool %190 %192
OpSelectionMerge %198 None
OpBranchConditional %197 %199 %200
%199 = OpLabel
%202 = OpLoad %int %x_136
%203 = OpCopyObject %int %int_1
%204 = OpIAdd %int %202 %203
%201 = OpCopyObject %int %204
OpStore %x_151 %201
%205 = OpAccessChain %_ptr_Function_int %data %188
%206 = OpLoad %int %205
%207 = OpLoad %int %x_131
%208 = OpAccessChain %_ptr_Function_int %temp %207
OpStore %208 %206
OpStore %x_135_phi %177
%209 = OpLoad %int %x_151
OpStore %x_137_phi %209
OpBranch %198
%200 = OpLabel
%210 = OpIAdd %int %177 %int_1
OpStore %x_154 %210
%211 = OpAccessChain %_ptr_Function_int %data %177
%212 = OpLoad %int %211
%213 = OpLoad %int %x_131
%214 = OpAccessChain %_ptr_Function_int %temp %213
OpStore %214 %212
%215 = OpLoad %int %x_154
OpStore %x_135_phi %215
%216 = OpLoad %int %x_136
OpStore %x_137_phi %216
OpBranch %198
%198 = OpLabel
%217 = OpLoad %int %x_135_phi
%218 = OpLoad %int %x_137_phi
OpBranch %170
%170 = OpLabel
OpStore %x_131_phi %193
OpStore %x_134_phi %217
OpStore %x_136_phi %218
OpBranch %168
%169 = OpLabel
%219 = OpLoad %int %x_131
OpStore %x_158_phi %219
%220 = OpLoad %int %x_136
OpStore %x_161_phi %220
OpBranch %221
%221 = OpLabel
OpLoopMerge %222 %223 None
OpBranch %224
%224 = OpLabel
OpLoopMerge %225 %226 None
OpBranch %227
%227 = OpLabel
%230 = OpLoad %int %x_158_phi
%231 = OpLoad %int %x_161_phi
%232 = OpSLessThan %bool %231 %int_10
OpSelectionMerge %233 None
OpBranchConditional %232 %234 %233
%227 = OpLoad %int %x_158_phi
%228 = OpLoad %int %x_161_phi
%229 = OpSLessThan %bool %228 %int_10
OpSelectionMerge %230 None
OpBranchConditional %229 %231 %230
%231 = OpLabel
%232 = OpSLessThanEqual %bool %228 %162
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
%235 = OpSLessThanEqual %bool %231 %165
OpBranch %233
%233 = OpLabel
%236 = OpPhi %bool %232 %227 %235 %234
OpSelectionMerge %237 None
OpBranchConditional %236 %238 %239
%238 = OpLabel
OpBranch %237
%239 = OpLabel
OpBranch %225
%237 = OpLabel
OpBranch %226
%226 = OpLabel
%240 = OpIAdd %int %230 %int_1
OpStore %x_159 %240
%241 = OpIAdd %int %231 %int_1
OpStore %x_162 %241
%242 = OpAccessChain %_ptr_Function_int %data %231
%243 = OpLoad %int %242
%244 = OpAccessChain %_ptr_Function_int %temp %230
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 %223
%223 = OpLabel
%237 = OpIAdd %int %227 %int_1
OpStore %x_159 %237
%238 = OpIAdd %int %228 %int_1
OpStore %x_162 %238
%239 = OpAccessChain %_ptr_Function_int %data %228
%240 = OpLoad %int %239
%241 = OpAccessChain %_ptr_Function_int %temp %227
OpStore %241 %240
%242 = OpLoad %int %x_159
OpStore %x_158_phi %242
%243 = OpLoad %int %x_162
OpStore %x_161_phi %243
OpBranch %221
%222 = OpLabel
OpStore %x_171_phi %156
OpBranch %244
%244 = OpLabel
OpLoopMerge %245 %246 None
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
OpBranch %149
%149 = OpLabel
OpStore %x_119_phi %167
OpBranch %147
%148 = OpLabel
OpBranch %137
%137 = OpLabel
%262 = OpIMul %int %int_2 %141
OpStore %x_113 %262
%263 = OpLoad %int %x_113
OpStore %x_112_phi %263
OpBranch %135
%136 = OpLabel
%270 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%271 = OpLoad %float %270
%272 = OpConvertFToS %int %271
OpStore %x_181 %272
%273 = OpLoad %int %x_181
%275 = OpSLessThan %bool %273 %int_30
OpSelectionMerge %276 None
OpBranchConditional %275 %277 %278
%277 = OpLabel
%279 = OpAccessChain %_ptr_Function_int %data %int_0
%280 = OpLoad %int %279
%282 = OpConvertSToF %float %280
%284 = OpFMul %float %282 %float_0_100000001
%285 = OpFAdd %float %float_0_5 %284
OpStore %x_190 %285
%286 = OpLoad %float %x_190
OpStore %x_263_phi %286
OpBranch %276
%278 = OpLabel
%290 = OpLoad %int %x_181
%292 = OpSLessThan %bool %290 %int_60
OpSelectionMerge %293 None
OpBranchConditional %292 %294 %295
%294 = OpLabel
%296 = OpAccessChain %_ptr_Function_int %data %int_1
%297 = OpLoad %int %296
%298 = OpConvertSToF %float %297
%299 = OpFMul %float %298 %float_0_100000001
%300 = OpFAdd %float %float_0_5 %299
OpStore %x_199 %300
%301 = OpLoad %float %x_199
OpStore %x_262_phi %301
OpBranch %293
%295 = OpLabel
%305 = OpLoad %int %x_181
%307 = OpSLessThan %bool %305 %int_90
OpSelectionMerge %308 None
OpBranchConditional %307 %309 %310
%309 = OpLabel
%311 = OpAccessChain %_ptr_Function_int %data %int_2
%312 = OpLoad %int %311
%313 = OpConvertSToF %float %312
%314 = OpFMul %float %313 %float_0_100000001
%315 = OpFAdd %float %float_0_5 %314
OpStore %x_208 %315
%316 = OpLoad %float %x_208
OpStore %x_261_phi %316
OpBranch %308
%310 = OpLabel
%317 = OpLoad %int %x_181
%319 = OpSLessThan %bool %317 %int_120
OpSelectionMerge %320 None
OpBranchConditional %319 %321 %322
%321 = OpLabel
%323 = OpAccessChain %_ptr_Function_int %data %int_3
%324 = OpLoad %int %323
%325 = OpConvertSToF %float %324
%326 = OpFMul %float %325 %float_0_100000001
%327 = OpFAdd %float %float_0_5 %326
OpStore %x_217 %327
%328 = OpLoad %float %x_217
OpStore %x_260_phi %328
OpBranch %320
%322 = OpLabel
%332 = OpLoad %int %x_181
%334 = OpSLessThan %bool %332 %int_150
OpSelectionMerge %335 None
OpBranchConditional %334 %336 %337
%336 = OpLabel
%249 = OpLoad %int %x_171_phi
%250 = OpSLessThanEqual %bool %249 %165
OpSelectionMerge %251 None
OpBranchConditional %250 %252 %253
%252 = OpLabel
OpBranch %251
%253 = OpLabel
OpBranch %245
%251 = OpLabel
OpBranch %246
%246 = OpLabel
%254 = OpAccessChain %_ptr_Function_int %temp %249
%255 = OpLoad %int %254
%256 = OpAccessChain %_ptr_Function_int %data %249
OpStore %256 %255
%257 = OpIAdd %int %249 %int_1
OpStore %x_172 %257
%258 = OpLoad %int %x_172
OpStore %x_171_phi %258
OpBranch %244
%245 = OpLabel
OpBranch %146
%146 = OpLabel
OpStore %x_119_phi %164
OpBranch %144
%145 = OpLabel
OpBranch %134
%134 = OpLabel
%259 = OpIMul %int %int_2 %138
OpStore %x_113 %259
%260 = OpLoad %int %x_113
OpStore %x_112_phi %260
OpBranch %132
%133 = OpLabel
%267 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%268 = OpLoad %float %267
%269 = OpConvertFToS %int %268
OpStore %x_181 %269
%270 = OpLoad %int %x_181
%272 = OpSLessThan %bool %270 %int_30
OpSelectionMerge %273 None
OpBranchConditional %272 %274 %275
%274 = OpLabel
%276 = OpAccessChain %_ptr_Function_int %data %int_0
%277 = OpLoad %int %276
%279 = OpConvertSToF %float %277
%281 = OpFMul %float %279 %float_0_100000001
%282 = OpFAdd %float %float_0_5 %281
OpStore %x_190 %282
%283 = OpLoad %float %x_190
OpStore %x_263_phi %283
OpBranch %273
%275 = OpLabel
%287 = OpLoad %int %x_181
%289 = OpSLessThan %bool %287 %int_60
OpSelectionMerge %290 None
OpBranchConditional %289 %291 %292
%291 = OpLabel
%293 = OpAccessChain %_ptr_Function_int %data %int_1
%294 = OpLoad %int %293
%295 = OpConvertSToF %float %294
%296 = OpFMul %float %295 %float_0_100000001
%297 = OpFAdd %float %float_0_5 %296
OpStore %x_199 %297
%298 = OpLoad %float %x_199
OpStore %x_262_phi %298
OpBranch %290
%292 = OpLabel
%302 = OpLoad %int %x_181
%304 = OpSLessThan %bool %302 %int_90
OpSelectionMerge %305 None
OpBranchConditional %304 %306 %307
%306 = OpLabel
%308 = OpAccessChain %_ptr_Function_int %data %int_2
%309 = OpLoad %int %308
%310 = OpConvertSToF %float %309
%311 = OpFMul %float %310 %float_0_100000001
%312 = OpFAdd %float %float_0_5 %311
OpStore %x_208 %312
%313 = OpLoad %float %x_208
OpStore %x_261_phi %313
OpBranch %305
%307 = OpLabel
%314 = OpLoad %int %x_181
%316 = OpSLessThan %bool %314 %int_120
OpSelectionMerge %317 None
OpBranchConditional %316 %318 %319
%318 = OpLabel
%320 = OpAccessChain %_ptr_Function_int %data %int_3
%321 = OpLoad %int %320
%322 = OpConvertSToF %float %321
%323 = OpFMul %float %322 %float_0_100000001
%324 = OpFAdd %float %float_0_5 %323
OpStore %x_217 %324
%325 = OpLoad %float %x_217
OpStore %x_260_phi %325
OpBranch %317
%319 = OpLabel
%329 = OpLoad %int %x_181
%331 = OpSLessThan %bool %329 %int_150
OpSelectionMerge %332 None
OpBranchConditional %331 %333 %334
%333 = OpLabel
OpKill
%337 = OpLabel
%341 = OpLoad %int %x_181
%343 = OpSLessThan %bool %341 %int_180
OpSelectionMerge %344 None
OpBranchConditional %343 %345 %346
%345 = OpLabel
%348 = OpAccessChain %_ptr_Function_int %data %int_5
%349 = OpLoad %int %348
%350 = OpConvertSToF %float %349
%351 = OpFMul %float %350 %float_0_100000001
%352 = OpFAdd %float %float_0_5 %351
OpStore %x_230 %352
%353 = OpLoad %float %x_230
OpStore %x_259_phi %353
OpBranch %344
%346 = OpLabel
%357 = OpLoad %int %x_181
%359 = OpSLessThan %bool %357 %int_210
OpSelectionMerge %360 None
OpBranchConditional %359 %361 %362
%361 = OpLabel
%364 = OpAccessChain %_ptr_Function_int %data %int_6
%365 = OpLoad %int %364
%366 = OpConvertSToF %float %365
%367 = OpFMul %float %366 %float_0_100000001
%368 = OpFAdd %float %float_0_5 %367
OpStore %x_239 %368
%369 = OpLoad %float %x_239
OpStore %x_258_phi %369
OpBranch %360
%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
%334 = OpLabel
%338 = OpLoad %int %x_181
%340 = OpSLessThan %bool %338 %int_180
OpSelectionMerge %341 None
OpBranchConditional %340 %342 %343
%342 = OpLabel
%345 = OpAccessChain %_ptr_Function_int %data %int_5
%346 = OpLoad %int %345
%347 = OpConvertSToF %float %346
%348 = OpFMul %float %347 %float_0_100000001
%349 = OpFAdd %float %float_0_5 %348
OpStore %x_230 %349
%350 = OpLoad %float %x_230
OpStore %x_259_phi %350
OpBranch %341
%343 = OpLabel
%354 = OpLoad %int %x_181
%356 = OpSLessThan %bool %354 %int_210
OpSelectionMerge %357 None
OpBranchConditional %356 %358 %359
%358 = OpLabel
%361 = OpAccessChain %_ptr_Function_int %data %int_6
%362 = OpLoad %int %361
%363 = OpConvertSToF %float %362
%364 = OpFMul %float %363 %float_0_100000001
%365 = OpFAdd %float %float_0_5 %364
OpStore %x_239 %365
%366 = OpLoad %float %x_239
OpStore %x_258_phi %366
OpBranch %357
%359 = OpLabel
%367 = OpLoad %int %x_181
%369 = OpSLessThan %bool %367 %int_240
OpSelectionMerge %370 None
OpBranchConditional %369 %371 %372
%371 = OpLabel
%374 = OpAccessChain %_ptr_Function_int %data %int_7
%375 = OpLoad %int %374
%376 = OpConvertSToF %float %375
%377 = OpFMul %float %376 %float_0_100000001
%378 = OpFAdd %float %float_0_5 %377
OpStore %x_248 %378
%379 = OpLoad %float %x_248
OpStore %x_257_phi %379
OpBranch %370
%372 = OpLabel
%380 = OpLoad %int %x_181
%382 = OpSLessThan %bool %380 %int_270
OpSelectionMerge %383 None
OpBranchConditional %382 %384 %385
%384 = OpLabel
OpBranch %383
%385 = 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
%383 = OpLabel
%387 = OpAccessChain %_ptr_Function_int %data %int_8
%388 = OpLoad %int %387
%389 = OpConvertSToF %float %388
%390 = OpFMul %float %389 %float_0_100000001
%391 = OpFAdd %float %float_0_5 %390
OpStore %x_256 %391
%392 = OpLoad %float %x_256
OpStore %x_257_phi %392
OpBranch %370
%370 = OpLabel
%393 = OpLoad %float %x_257_phi
OpStore %x_257 %393
%394 = OpLoad %float %x_257
OpStore %x_258_phi %394
OpBranch %357
%357 = OpLabel
%395 = OpLoad %float %x_258_phi
OpStore %x_258 %395
%396 = OpLoad %float %x_258
OpStore %x_259_phi %396
OpBranch %341
%341 = OpLabel
%397 = OpLoad %float %x_259_phi
OpStore %x_259 %397
OpBranch %332
%332 = OpLabel
%398 = OpLoad %float %x_259
OpStore %x_260_phi %398
OpBranch %317
%317 = OpLabel
%399 = OpLoad %float %x_260_phi
OpStore %x_260 %399
%400 = OpLoad %float %x_260
OpStore %x_261_phi %400
OpBranch %305
%305 = OpLabel
%401 = OpLoad %float %x_261_phi
OpStore %x_261 %401
%402 = OpLoad %float %x_261
OpStore %x_262_phi %402
OpBranch %290
%290 = OpLabel
%403 = OpLoad %float %x_262_phi
OpStore %x_262 %403
%404 = OpLoad %float %x_262
OpStore %x_263_phi %404
OpBranch %273
%273 = OpLabel
%405 = OpLoad %float %x_263_phi
%407 = OpCompositeConstruct %v4float %405 %405 %405 %float_1
OpStore %x_GLF_color %407
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %411
%tint_symbol_3 = OpFunction %void None %408
%tint_symbol_1 = OpFunctionParameter %main_out
%415 = OpLabel
%416 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %416
%412 = OpLabel
%413 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %413
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%418 = OpLabel
%419 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %419
%420 = OpFunctionCall %void %main_1
%422 = OpLoad %v4float %x_GLF_color
%423 = OpCompositeConstruct %main_out %422
%421 = OpFunctionCall %void %tint_symbol_3 %423
%415 = OpLabel
%416 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %416
%417 = OpFunctionCall %void %main_1
%419 = OpLoad %v4float %x_GLF_color
%420 = OpCompositeConstruct %main_out %419
%418 = OpFunctionCall %void %tint_symbol_3 %420
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 422
; Bound: 415
; Schema: 0
OpCapability Shader
%167 = OpExtInstImport "GLSL.std.450"
%164 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft
@ -148,7 +146,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%409 = OpTypeFunction %void %main_out
%402 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25
@ -309,434 +307,414 @@ SKIP: FAILED
%44 = OpLabel
OpStore %x_63_phi %111
%113 = OpSLessThan %bool %111 %int_10
OpSelectionMerge %115 None
OpBranchConditional %113 %116 %117
%116 = OpLabel
OpBranch %115
%117 = OpLabel
OpBranch %43
%115 = OpLabel
OpBranch %42
OpBranchConditional %113 %42 %43
%43 = OpLabel
OpStore %x_102_phi %int_0
OpBranch %115
%115 = OpLabel
OpLoopMerge %116 %117 None
OpBranch %118
%118 = OpLabel
OpLoopMerge %119 %120 None
OpBranch %121
%121 = OpLabel
%123 = OpLoad %int %x_102_phi
%124 = OpSLessThan %bool %123 %int_10
OpSelectionMerge %125 None
OpBranchConditional %124 %126 %127
%126 = OpLabel
OpBranch %125
%127 = OpLabel
OpBranch %119
%125 = OpLabel
OpBranch %120
%120 = OpLabel
%128 = OpAccessChain %_ptr_Function_int %data %123
%129 = OpLoad %int %128
%130 = OpAccessChain %_ptr_Function_int %temp %123
OpStore %130 %129
%131 = OpIAdd %int %123 %int_1
OpStore %x_103 %131
%132 = OpLoad %int %x_103
OpStore %x_102_phi %132
OpBranch %118
%119 = OpLabel
%120 = OpLoad %int %x_102_phi
%121 = OpSLessThan %bool %120 %int_10
OpSelectionMerge %122 None
OpBranchConditional %121 %123 %124
%123 = OpLabel
OpBranch %122
%124 = OpLabel
OpBranch %116
%122 = OpLabel
OpBranch %117
%117 = OpLabel
%125 = OpAccessChain %_ptr_Function_int %data %120
%126 = OpLoad %int %125
%127 = OpAccessChain %_ptr_Function_int %temp %120
OpStore %127 %126
%128 = OpIAdd %int %120 %int_1
OpStore %x_103 %128
%129 = OpLoad %int %x_103
OpStore %x_102_phi %129
OpBranch %115
%116 = OpLabel
OpStore %x_111_phi %int_1
OpBranch %130
%130 = OpLabel
OpLoopMerge %131 %132 None
OpBranch %133
%133 = OpLabel
OpLoopMerge %134 %135 None
OpBranch %136
%136 = OpLabel
%139 = OpLoad %int %x_111_phi
%141 = OpSLessThanEqual %bool %139 %int_9
OpSelectionMerge %142 None
OpBranchConditional %141 %143 %144
%143 = OpLabel
OpBranch %142
%144 = OpLabel
OpBranch %134
%142 = OpLabel
%136 = OpLoad %int %x_111_phi
%138 = OpSLessThanEqual %bool %136 %int_9
OpSelectionMerge %139 None
OpBranchConditional %138 %140 %141
%140 = OpLabel
OpBranch %139
%141 = OpLabel
OpBranch %131
%139 = OpLabel
OpStore %x_118_phi %int_0
OpBranch %142
%142 = OpLabel
OpLoopMerge %143 %144 None
OpBranch %145
%145 = OpLabel
OpLoopMerge %146 %147 None
OpBranch %148
%148 = OpLabel
%157 = OpLoad %int %x_118_phi
%158 = OpSLessThan %bool %157 %int_9
OpSelectionMerge %159 None
OpBranchConditional %158 %160 %161
%160 = OpLabel
OpBranch %159
%161 = OpLabel
OpBranch %146
%159 = OpLabel
%162 = OpIAdd %int %157 %139
%163 = OpISub %int %162 %int_1
%164 = OpIMul %int %int_2 %139
%165 = OpIAdd %int %157 %164
%168 = OpISub %int %165 %int_1
%166 = OpExtInst %int %167 SMin %168 %int_9
OpStore %x_130_phi %157
OpStore %x_133_phi %162
OpStore %x_135_phi %157
%154 = OpLoad %int %x_118_phi
%155 = OpSLessThan %bool %154 %int_9
OpSelectionMerge %156 None
OpBranchConditional %155 %157 %158
%157 = OpLabel
OpBranch %156
%158 = OpLabel
OpBranch %143
%156 = OpLabel
%159 = OpIAdd %int %154 %136
%160 = OpISub %int %159 %int_1
%161 = OpIMul %int %int_2 %136
%162 = OpIAdd %int %154 %161
%165 = OpISub %int %162 %int_1
%163 = OpExtInst %int %164 SMin %165 %int_9
OpStore %x_130_phi %154
OpStore %x_133_phi %159
OpStore %x_135_phi %154
OpBranch %166
%166 = OpLabel
OpLoopMerge %167 %168 None
OpBranch %169
%169 = OpLabel
OpLoopMerge %170 %171 None
OpBranch %172
%172 = OpLabel
%177 = OpLoad %int %x_130_phi
OpStore %x_130 %177
%178 = OpLoad %int %x_133_phi
%179 = OpLoad %int %x_135_phi
OpStore %x_135 %179
%180 = OpLoad %int %x_135
%181 = OpSLessThanEqual %bool %180 %163
OpSelectionMerge %182 None
OpBranchConditional %181 %183 %182
%183 = OpLabel
%184 = OpSLessThanEqual %bool %178 %166
OpBranch %182
%174 = OpLoad %int %x_130_phi
OpStore %x_130 %174
%175 = OpLoad %int %x_133_phi
%176 = OpLoad %int %x_135_phi
OpStore %x_135 %176
%177 = OpLoad %int %x_135
%178 = OpSLessThanEqual %bool %177 %160
%179 = OpSLessThanEqual %bool %175 %163
%180 = OpLogicalAnd %bool %178 %179
OpSelectionMerge %181 None
OpBranchConditional %180 %182 %183
%182 = OpLabel
%185 = OpPhi %bool %181 %172 %184 %183
OpSelectionMerge %186 None
OpBranchConditional %185 %187 %188
%187 = OpLabel
OpBranch %186
%188 = OpLabel
OpBranch %170
%186 = OpLabel
%189 = OpLoad %int %x_135
%190 = OpAccessChain %_ptr_Function_int %data %189
%191 = OpLoad %int %190
%192 = OpAccessChain %_ptr_Function_int %data %178
%193 = OpLoad %int %192
%195 = OpLoad %int %x_130
%196 = OpCopyObject %int %int_1
%197 = OpIAdd %int %195 %196
%194 = OpCopyObject %int %197
%198 = OpSLessThan %bool %191 %193
OpSelectionMerge %199 None
OpBranchConditional %198 %200 %201
%200 = OpLabel
%203 = OpLoad %int %x_135
%204 = OpCopyObject %int %int_1
%205 = OpIAdd %int %203 %204
%202 = OpCopyObject %int %205
OpStore %x_150 %202
%206 = OpAccessChain %_ptr_Function_int %data %189
%207 = OpLoad %int %206
%208 = OpLoad %int %x_130
%209 = OpAccessChain %_ptr_Function_int %temp %208
OpStore %209 %207
OpStore %x_134_phi %178
%210 = OpLoad %int %x_150
OpStore %x_136_phi %210
OpBranch %199
%201 = OpLabel
%211 = OpIAdd %int %178 %int_1
OpStore %x_153 %211
%212 = OpAccessChain %_ptr_Function_int %data %178
%213 = OpLoad %int %212
%214 = OpLoad %int %x_130
%215 = OpAccessChain %_ptr_Function_int %temp %214
OpStore %215 %213
%216 = OpLoad %int %x_153
OpStore %x_134_phi %216
%217 = OpLoad %int %x_135
OpStore %x_136_phi %217
OpBranch %199
%199 = OpLabel
%218 = OpLoad %int %x_134_phi
%219 = OpLoad %int %x_136_phi
OpBranch %171
%171 = OpLabel
OpStore %x_130_phi %194
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
%222 = OpLabel
OpLoopMerge %223 %224 None
OpBranch %225
%225 = OpLabel
%228 = OpLoad %int %x_157_phi
%229 = OpLoad %int %x_160_phi
%230 = OpSLessThan %bool %229 %int_10
OpSelectionMerge %231 None
OpBranchConditional %230 %232 %231
%232 = OpLabel
%233 = OpSLessThanEqual %bool %229 %163
OpBranch %231
%231 = OpLabel
%234 = OpPhi %bool %230 %225 %233 %232
OpSelectionMerge %235 None
OpBranchConditional %234 %236 %237
%236 = OpLabel
OpBranch %235
%237 = OpLabel
OpBranch %223
%235 = OpLabel
OpBranch %224
%224 = OpLabel
%238 = OpIAdd %int %228 %int_1
OpStore %x_158 %238
%239 = OpIAdd %int %229 %int_1
OpStore %x_161 %239
%240 = OpAccessChain %_ptr_Function_int %data %229
%241 = OpLoad %int %240
%242 = OpAccessChain %_ptr_Function_int %temp %228
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
%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
OpBranch %181
%183 = OpLabel
OpBranch %167
%181 = OpLabel
%184 = OpLoad %int %x_135
%185 = OpAccessChain %_ptr_Function_int %data %184
%186 = OpLoad %int %185
%187 = OpAccessChain %_ptr_Function_int %data %175
%188 = OpLoad %int %187
%190 = OpLoad %int %x_130
%191 = OpCopyObject %int %int_1
%192 = OpIAdd %int %190 %191
%189 = OpCopyObject %int %192
%193 = OpSLessThan %bool %186 %188
OpSelectionMerge %194 None
OpBranchConditional %193 %195 %196
%195 = OpLabel
%198 = OpLoad %int %x_135
%199 = OpCopyObject %int %int_1
%200 = OpIAdd %int %198 %199
%197 = OpCopyObject %int %200
OpStore %x_150 %197
%201 = OpAccessChain %_ptr_Function_int %data %184
%202 = OpLoad %int %201
%203 = OpLoad %int %x_130
%204 = OpAccessChain %_ptr_Function_int %temp %203
OpStore %204 %202
OpStore %x_134_phi %175
%205 = OpLoad %int %x_150
OpStore %x_136_phi %205
OpBranch %194
%196 = OpLabel
%206 = OpIAdd %int %175 %int_1
OpStore %x_153 %206
%207 = OpAccessChain %_ptr_Function_int %data %175
%208 = OpLoad %int %207
%209 = OpLoad %int %x_130
%210 = OpAccessChain %_ptr_Function_int %temp %209
OpStore %210 %208
%211 = OpLoad %int %x_153
OpStore %x_134_phi %211
%212 = OpLoad %int %x_135
OpStore %x_136_phi %212
OpBranch %194
%194 = OpLabel
%213 = OpLoad %int %x_134_phi
%214 = OpLoad %int %x_136_phi
OpBranch %168
%168 = OpLabel
OpStore %x_130_phi %189
OpStore %x_133_phi %213
OpStore %x_135_phi %214
OpBranch %166
%167 = OpLabel
%215 = OpLoad %int %x_130
OpStore %x_157_phi %215
%216 = OpLoad %int %x_135
OpStore %x_160_phi %216
OpBranch %217
%217 = OpLabel
OpLoopMerge %218 %219 None
OpBranch %220
%220 = OpLabel
%223 = OpLoad %int %x_157_phi
%224 = OpLoad %int %x_160_phi
%225 = OpSLessThan %bool %224 %int_10
%226 = OpSLessThanEqual %bool %224 %160
%227 = OpLogicalAnd %bool %225 %226
OpSelectionMerge %228 None
OpBranchConditional %227 %229 %230
%229 = OpLabel
OpBranch %228
%230 = OpLabel
OpBranch %218
%228 = OpLabel
OpBranch %219
%219 = OpLabel
%231 = OpIAdd %int %223 %int_1
OpStore %x_158 %231
%232 = OpIAdd %int %224 %int_1
OpStore %x_161 %232
%233 = OpAccessChain %_ptr_Function_int %data %224
%234 = OpLoad %int %233
%235 = OpAccessChain %_ptr_Function_int %temp %223
OpStore %235 %234
%236 = OpLoad %int %x_158
OpStore %x_157_phi %236
%237 = OpLoad %int %x_161
OpStore %x_160_phi %237
OpBranch %217
%218 = OpLabel
OpStore %x_170_phi %154
OpBranch %238
%238 = OpLabel
OpLoopMerge %239 %240 None
OpBranch %241
%241 = OpLabel
%243 = OpLoad %int %x_170_phi
%244 = OpSLessThanEqual %bool %243 %163
OpSelectionMerge %245 None
OpBranchConditional %244 %246 %247
%246 = OpLabel
OpBranch %147
%147 = OpLabel
OpStore %x_118_phi %165
OpBranch %145
%146 = OpLabel
OpBranch %135
%135 = OpLabel
%260 = OpIMul %int %int_2 %139
OpStore %x_112 %260
%261 = OpLoad %int %x_112
OpStore %x_111_phi %261
OpBranch %133
%134 = OpLabel
%268 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%269 = OpLoad %float %268
%270 = OpConvertFToS %int %269
OpStore %x_180 %270
%271 = OpLoad %int %x_180
%273 = OpSLessThan %bool %271 %int_30
OpSelectionMerge %274 None
OpBranchConditional %273 %275 %276
%275 = OpLabel
%277 = OpAccessChain %_ptr_Function_int %data %int_0
%278 = OpLoad %int %277
%280 = OpConvertSToF %float %278
%282 = OpFMul %float %280 %float_0_100000001
%283 = OpFAdd %float %float_0_5 %282
OpStore %x_189 %283
%284 = OpLoad %float %x_189
OpStore %x_262_phi %284
OpBranch %274
%276 = OpLabel
%288 = OpLoad %int %x_180
%290 = OpSLessThan %bool %288 %int_60
OpSelectionMerge %291 None
OpBranchConditional %290 %292 %293
%292 = OpLabel
%294 = OpAccessChain %_ptr_Function_int %data %int_1
%295 = OpLoad %int %294
%296 = OpConvertSToF %float %295
%297 = OpFMul %float %296 %float_0_100000001
%298 = OpFAdd %float %float_0_5 %297
OpStore %x_198 %298
%299 = OpLoad %float %x_198
OpStore %x_261_phi %299
OpBranch %291
%293 = OpLabel
%303 = OpLoad %int %x_180
%305 = OpSLessThan %bool %303 %int_90
OpSelectionMerge %306 None
OpBranchConditional %305 %307 %308
%307 = OpLabel
%309 = OpAccessChain %_ptr_Function_int %data %int_2
%310 = OpLoad %int %309
%311 = OpConvertSToF %float %310
%312 = OpFMul %float %311 %float_0_100000001
%313 = OpFAdd %float %float_0_5 %312
OpStore %x_207 %313
%314 = OpLoad %float %x_207
OpStore %x_260_phi %314
OpBranch %306
%308 = OpLabel
%315 = OpLoad %int %x_180
%317 = OpSLessThan %bool %315 %int_120
OpSelectionMerge %318 None
OpBranchConditional %317 %319 %320
%319 = OpLabel
%321 = OpAccessChain %_ptr_Function_int %data %int_3
%322 = OpLoad %int %321
%323 = OpConvertSToF %float %322
%324 = OpFMul %float %323 %float_0_100000001
%325 = OpFAdd %float %float_0_5 %324
OpStore %x_216 %325
%326 = OpLoad %float %x_216
OpStore %x_259_phi %326
OpBranch %318
%320 = OpLabel
%330 = OpLoad %int %x_180
%332 = OpSLessThan %bool %330 %int_150
OpSelectionMerge %333 None
OpBranchConditional %332 %334 %335
%334 = OpLabel
OpBranch %245
%247 = OpLabel
OpBranch %239
%245 = OpLabel
OpBranch %240
%240 = OpLabel
%248 = OpAccessChain %_ptr_Function_int %temp %243
%249 = OpLoad %int %248
%250 = OpAccessChain %_ptr_Function_int %data %243
OpStore %250 %249
%251 = OpIAdd %int %243 %int_1
OpStore %x_171 %251
%252 = OpLoad %int %x_171
OpStore %x_170_phi %252
OpBranch %238
%239 = OpLabel
OpBranch %144
%144 = OpLabel
OpStore %x_118_phi %162
OpBranch %142
%143 = OpLabel
OpBranch %132
%132 = OpLabel
%253 = OpIMul %int %int_2 %136
OpStore %x_112 %253
%254 = OpLoad %int %x_112
OpStore %x_111_phi %254
OpBranch %130
%131 = OpLabel
%261 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%262 = OpLoad %float %261
%263 = OpConvertFToS %int %262
OpStore %x_180 %263
%264 = OpLoad %int %x_180
%266 = OpSLessThan %bool %264 %int_30
OpSelectionMerge %267 None
OpBranchConditional %266 %268 %269
%268 = OpLabel
%270 = OpAccessChain %_ptr_Function_int %data %int_0
%271 = OpLoad %int %270
%273 = OpConvertSToF %float %271
%275 = OpFMul %float %273 %float_0_100000001
%276 = OpFAdd %float %float_0_5 %275
OpStore %x_189 %276
%277 = OpLoad %float %x_189
OpStore %x_262_phi %277
OpBranch %267
%269 = OpLabel
%281 = OpLoad %int %x_180
%283 = OpSLessThan %bool %281 %int_60
OpSelectionMerge %284 None
OpBranchConditional %283 %285 %286
%285 = OpLabel
%287 = OpAccessChain %_ptr_Function_int %data %int_1
%288 = OpLoad %int %287
%289 = OpConvertSToF %float %288
%290 = OpFMul %float %289 %float_0_100000001
%291 = OpFAdd %float %float_0_5 %290
OpStore %x_198 %291
%292 = OpLoad %float %x_198
OpStore %x_261_phi %292
OpBranch %284
%286 = OpLabel
%296 = OpLoad %int %x_180
%298 = OpSLessThan %bool %296 %int_90
OpSelectionMerge %299 None
OpBranchConditional %298 %300 %301
%300 = OpLabel
%302 = OpAccessChain %_ptr_Function_int %data %int_2
%303 = OpLoad %int %302
%304 = OpConvertSToF %float %303
%305 = OpFMul %float %304 %float_0_100000001
%306 = OpFAdd %float %float_0_5 %305
OpStore %x_207 %306
%307 = OpLoad %float %x_207
OpStore %x_260_phi %307
OpBranch %299
%301 = OpLabel
%308 = OpLoad %int %x_180
%310 = OpSLessThan %bool %308 %int_120
OpSelectionMerge %311 None
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
%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
%339 = OpLoad %int %x_180
%341 = OpSLessThan %bool %339 %int_180
OpSelectionMerge %342 None
OpBranchConditional %341 %343 %344
%343 = OpLabel
%346 = OpAccessChain %_ptr_Function_int %data %int_5
%347 = OpLoad %int %346
%348 = OpConvertSToF %float %347
%349 = OpFMul %float %348 %float_0_100000001
%350 = OpFAdd %float %float_0_5 %349
OpStore %x_229 %350
%351 = OpLoad %float %x_229
OpStore %x_258_phi %351
OpBranch %342
%344 = OpLabel
%355 = OpLoad %int %x_180
%357 = OpSLessThan %bool %355 %int_210
OpSelectionMerge %358 None
OpBranchConditional %357 %359 %360
%359 = OpLabel
%362 = OpAccessChain %_ptr_Function_int %data %int_6
%363 = OpLoad %int %362
%364 = OpConvertSToF %float %363
%365 = OpFMul %float %364 %float_0_100000001
%366 = OpFAdd %float %float_0_5 %365
OpStore %x_238 %366
%367 = OpLoad %float %x_238
OpStore %x_257_phi %367
OpBranch %358
%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
%391 = OpLoad %float %x_258_phi
OpStore %x_258 %391
OpBranch %326
%326 = OpLabel
%392 = OpLoad %float %x_258
OpStore %x_259_phi %392
OpBranch %311
%311 = OpLabel
%393 = OpLoad %float %x_259_phi
OpStore %x_259 %393
%394 = OpLoad %float %x_259
OpStore %x_260_phi %394
OpBranch %299
%299 = OpLabel
%395 = OpLoad %float %x_260_phi
OpStore %x_260 %395
%396 = OpLoad %float %x_260
OpStore %x_261_phi %396
OpBranch %284
%284 = OpLabel
%397 = OpLoad %float %x_261_phi
OpStore %x_261 %397
%398 = OpLoad %float %x_261
OpStore %x_262_phi %398
OpBranch %267
%267 = OpLabel
%399 = OpLoad %float %x_262_phi
%401 = OpCompositeConstruct %v4float %399 %399 %399 %float_1
OpStore %x_GLF_color %401
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %409
%tint_symbol_3 = OpFunction %void None %402
%tint_symbol_1 = OpFunctionParameter %main_out
%413 = OpLabel
%414 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %414
%406 = OpLabel
%407 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %407
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%416 = OpLabel
%417 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %417
%418 = OpFunctionCall %void %main_1
%420 = OpLoad %v4float %x_GLF_color
%421 = OpCompositeConstruct %main_out %420
%419 = OpFunctionCall %void %tint_symbol_3 %421
%409 = OpLabel
%410 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %410
%411 = OpFunctionCall %void %main_1
%413 = OpLoad %v4float %x_GLF_color
%414 = OpCompositeConstruct %main_out %413
%412 = OpFunctionCall %void %tint_symbol_3 %414
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 422
; Bound: 419
; Schema: 0
OpCapability Shader
%167 = OpExtInstImport "GLSL.std.450"
%164 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft
@ -148,7 +146,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%409 = OpTypeFunction %void %main_out
%406 = OpTypeFunction %void %main_out
%main_1 = OpFunction %void None %15
%18 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function %25
@ -309,434 +307,424 @@ SKIP: FAILED
%44 = OpLabel
OpStore %x_63_phi %111
%113 = OpSLessThan %bool %111 %int_10
OpSelectionMerge %115 None
OpBranchConditional %113 %116 %117
%116 = OpLabel
OpBranch %115
%117 = OpLabel
OpBranch %43
%115 = OpLabel
OpBranch %42
OpBranchConditional %113 %42 %43
%43 = OpLabel
OpStore %x_102_phi %int_0
OpBranch %115
%115 = OpLabel
OpLoopMerge %116 %117 None
OpBranch %118
%118 = OpLabel
OpLoopMerge %119 %120 None
OpBranch %121
%121 = OpLabel
%123 = OpLoad %int %x_102_phi
%124 = OpSLessThan %bool %123 %int_10
OpSelectionMerge %125 None
OpBranchConditional %124 %126 %127
%126 = OpLabel
OpBranch %125
%127 = OpLabel
OpBranch %119
%125 = OpLabel
OpBranch %120
%120 = OpLabel
%128 = OpAccessChain %_ptr_Function_int %data %123
%129 = OpLoad %int %128
%130 = OpAccessChain %_ptr_Function_int %temp %123
OpStore %130 %129
%131 = OpIAdd %int %123 %int_1
OpStore %x_103 %131
%132 = OpLoad %int %x_103
OpStore %x_102_phi %132
OpBranch %118
%119 = OpLabel
%120 = OpLoad %int %x_102_phi
%121 = OpSLessThan %bool %120 %int_10
OpSelectionMerge %122 None
OpBranchConditional %121 %123 %124
%123 = OpLabel
OpBranch %122
%124 = OpLabel
OpBranch %116
%122 = OpLabel
OpBranch %117
%117 = OpLabel
%125 = OpAccessChain %_ptr_Function_int %data %120
%126 = OpLoad %int %125
%127 = OpAccessChain %_ptr_Function_int %temp %120
OpStore %127 %126
%128 = OpIAdd %int %120 %int_1
OpStore %x_103 %128
%129 = OpLoad %int %x_103
OpStore %x_102_phi %129
OpBranch %115
%116 = OpLabel
OpStore %x_111_phi %int_1
OpBranch %130
%130 = OpLabel
OpLoopMerge %131 %132 None
OpBranch %133
%133 = OpLabel
OpLoopMerge %134 %135 None
OpBranch %136
%136 = OpLabel
%139 = OpLoad %int %x_111_phi
%141 = OpSLessThanEqual %bool %139 %int_9
OpSelectionMerge %142 None
OpBranchConditional %141 %143 %144
%143 = OpLabel
OpBranch %142
%144 = OpLabel
OpBranch %134
%142 = OpLabel
%136 = OpLoad %int %x_111_phi
%138 = OpSLessThanEqual %bool %136 %int_9
OpSelectionMerge %139 None
OpBranchConditional %138 %140 %141
%140 = OpLabel
OpBranch %139
%141 = OpLabel
OpBranch %131
%139 = OpLabel
OpStore %x_118_phi %int_0
OpBranch %142
%142 = OpLabel
OpLoopMerge %143 %144 None
OpBranch %145
%145 = OpLabel
OpLoopMerge %146 %147 None
OpBranch %148
%148 = OpLabel
%157 = OpLoad %int %x_118_phi
%158 = OpSLessThan %bool %157 %int_9
OpSelectionMerge %159 None
OpBranchConditional %158 %160 %161
%160 = OpLabel
OpBranch %159
%161 = OpLabel
OpBranch %146
%159 = OpLabel
%162 = OpIAdd %int %157 %139
%163 = OpISub %int %162 %int_1
%164 = OpIMul %int %int_2 %139
%165 = OpIAdd %int %157 %164
%168 = OpISub %int %165 %int_1
%166 = OpExtInst %int %167 SMin %168 %int_9
OpStore %x_130_phi %157
OpStore %x_133_phi %162
OpStore %x_135_phi %157
%154 = OpLoad %int %x_118_phi
%155 = OpSLessThan %bool %154 %int_9
OpSelectionMerge %156 None
OpBranchConditional %155 %157 %158
%157 = OpLabel
OpBranch %156
%158 = OpLabel
OpBranch %143
%156 = OpLabel
%159 = OpIAdd %int %154 %136
%160 = OpISub %int %159 %int_1
%161 = OpIMul %int %int_2 %136
%162 = OpIAdd %int %154 %161
%165 = OpISub %int %162 %int_1
%163 = OpExtInst %int %164 SMin %165 %int_9
OpStore %x_130_phi %154
OpStore %x_133_phi %159
OpStore %x_135_phi %154
OpBranch %166
%166 = OpLabel
OpLoopMerge %167 %168 None
OpBranch %169
%169 = OpLabel
OpLoopMerge %170 %171 None
OpBranch %172
%172 = OpLabel
%177 = OpLoad %int %x_130_phi
OpStore %x_130 %177
%178 = OpLoad %int %x_133_phi
%179 = OpLoad %int %x_135_phi
OpStore %x_135 %179
%180 = OpLoad %int %x_135
%181 = OpSLessThanEqual %bool %180 %163
OpSelectionMerge %182 None
OpBranchConditional %181 %183 %182
%174 = OpLoad %int %x_130_phi
OpStore %x_130 %174
%175 = OpLoad %int %x_133_phi
%176 = OpLoad %int %x_135_phi
OpStore %x_135 %176
%177 = OpLoad %int %x_135
%178 = OpSLessThanEqual %bool %177 %160
OpSelectionMerge %179 None
OpBranchConditional %178 %180 %179
%180 = OpLabel
%181 = OpSLessThanEqual %bool %175 %163
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
%184 = OpSLessThanEqual %bool %178 %166
OpBranch %182
%182 = OpLabel
%185 = OpPhi %bool %181 %172 %184 %183
OpSelectionMerge %186 None
OpBranchConditional %185 %187 %188
%187 = OpLabel
OpBranch %186
%188 = OpLabel
OpBranch %170
%186 = OpLabel
%189 = OpLoad %int %x_135
%190 = OpAccessChain %_ptr_Function_int %data %189
%191 = OpLoad %int %190
%192 = OpAccessChain %_ptr_Function_int %data %178
%193 = OpLoad %int %192
%195 = OpLoad %int %x_130
%196 = OpCopyObject %int %int_1
%197 = OpIAdd %int %195 %196
%194 = OpCopyObject %int %197
%198 = OpSLessThan %bool %191 %193
OpSelectionMerge %199 None
OpBranchConditional %198 %200 %201
%200 = OpLabel
%203 = OpLoad %int %x_135
%204 = OpCopyObject %int %int_1
%205 = OpIAdd %int %203 %204
%202 = OpCopyObject %int %205
OpStore %x_150 %202
%206 = OpAccessChain %_ptr_Function_int %data %189
%207 = OpLoad %int %206
%208 = OpLoad %int %x_130
%209 = OpAccessChain %_ptr_Function_int %temp %208
OpStore %209 %207
OpStore %x_134_phi %178
%210 = OpLoad %int %x_150
OpStore %x_136_phi %210
OpBranch %199
%201 = OpLabel
%211 = OpIAdd %int %178 %int_1
OpStore %x_153 %211
%212 = OpAccessChain %_ptr_Function_int %data %178
%213 = OpLoad %int %212
%214 = OpLoad %int %x_130
%215 = OpAccessChain %_ptr_Function_int %temp %214
OpStore %215 %213
%216 = OpLoad %int %x_153
OpStore %x_134_phi %216
%217 = OpLoad %int %x_135
OpStore %x_136_phi %217
OpBranch %199
%199 = OpLabel
%218 = OpLoad %int %x_134_phi
%219 = OpLoad %int %x_136_phi
OpBranch %171
%171 = OpLabel
OpStore %x_130_phi %194
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
%186 = OpLoad %int %x_135
%187 = OpAccessChain %_ptr_Function_int %data %186
%188 = OpLoad %int %187
%189 = OpAccessChain %_ptr_Function_int %data %175
%190 = OpLoad %int %189
%192 = OpLoad %int %x_130
%193 = OpCopyObject %int %int_1
%194 = OpIAdd %int %192 %193
%191 = OpCopyObject %int %194
%195 = OpSLessThan %bool %188 %190
OpSelectionMerge %196 None
OpBranchConditional %195 %197 %198
%197 = OpLabel
%200 = OpLoad %int %x_135
%201 = OpCopyObject %int %int_1
%202 = OpIAdd %int %200 %201
%199 = OpCopyObject %int %202
OpStore %x_150 %199
%203 = OpAccessChain %_ptr_Function_int %data %186
%204 = OpLoad %int %203
%205 = OpLoad %int %x_130
%206 = OpAccessChain %_ptr_Function_int %temp %205
OpStore %206 %204
OpStore %x_134_phi %175
%207 = OpLoad %int %x_150
OpStore %x_136_phi %207
OpBranch %196
%198 = OpLabel
%208 = OpIAdd %int %175 %int_1
OpStore %x_153 %208
%209 = OpAccessChain %_ptr_Function_int %data %175
%210 = OpLoad %int %209
%211 = OpLoad %int %x_130
%212 = OpAccessChain %_ptr_Function_int %temp %211
OpStore %212 %210
%213 = OpLoad %int %x_153
OpStore %x_134_phi %213
%214 = OpLoad %int %x_135
OpStore %x_136_phi %214
OpBranch %196
%196 = OpLabel
%215 = OpLoad %int %x_134_phi
%216 = OpLoad %int %x_136_phi
OpBranch %168
%168 = OpLabel
OpStore %x_130_phi %191
OpStore %x_133_phi %215
OpStore %x_135_phi %216
OpBranch %166
%167 = OpLabel
%217 = OpLoad %int %x_130
OpStore %x_157_phi %217
%218 = OpLoad %int %x_135
OpStore %x_160_phi %218
OpBranch %219
%219 = OpLabel
OpLoopMerge %220 %221 None
OpBranch %222
%222 = OpLabel
OpLoopMerge %223 %224 None
OpBranch %225
%225 = OpLabel
%228 = OpLoad %int %x_157_phi
%229 = OpLoad %int %x_160_phi
%230 = OpSLessThan %bool %229 %int_10
OpSelectionMerge %231 None
OpBranchConditional %230 %232 %231
%225 = OpLoad %int %x_157_phi
%226 = OpLoad %int %x_160_phi
%227 = OpSLessThan %bool %226 %int_10
OpSelectionMerge %228 None
OpBranchConditional %227 %229 %228
%229 = OpLabel
%230 = OpSLessThanEqual %bool %226 %160
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
%233 = OpSLessThanEqual %bool %229 %163
OpBranch %231
%231 = OpLabel
%234 = OpPhi %bool %230 %225 %233 %232
OpSelectionMerge %235 None
OpBranchConditional %234 %236 %237
%236 = OpLabel
OpBranch %235
%237 = OpLabel
OpBranch %223
%235 = OpLabel
OpBranch %224
%224 = OpLabel
%238 = OpIAdd %int %228 %int_1
OpStore %x_158 %238
%239 = OpIAdd %int %229 %int_1
OpStore %x_161 %239
%240 = OpAccessChain %_ptr_Function_int %data %229
%241 = OpLoad %int %240
%242 = OpAccessChain %_ptr_Function_int %temp %228
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 %221
%221 = OpLabel
%235 = OpIAdd %int %225 %int_1
OpStore %x_158 %235
%236 = OpIAdd %int %226 %int_1
OpStore %x_161 %236
%237 = OpAccessChain %_ptr_Function_int %data %226
%238 = OpLoad %int %237
%239 = OpAccessChain %_ptr_Function_int %temp %225
OpStore %239 %238
%240 = OpLoad %int %x_158
OpStore %x_157_phi %240
%241 = OpLoad %int %x_161
OpStore %x_160_phi %241
OpBranch %219
%220 = OpLabel
OpStore %x_170_phi %154
OpBranch %242
%242 = OpLabel
OpLoopMerge %243 %244 None
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
OpBranch %147
%147 = OpLabel
OpStore %x_118_phi %165
OpBranch %145
%146 = OpLabel
OpBranch %135
%135 = OpLabel
%260 = OpIMul %int %int_2 %139
OpStore %x_112 %260
%261 = OpLoad %int %x_112
OpStore %x_111_phi %261
OpBranch %133
%134 = OpLabel
%268 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%269 = OpLoad %float %268
%270 = OpConvertFToS %int %269
OpStore %x_180 %270
%271 = OpLoad %int %x_180
%273 = OpSLessThan %bool %271 %int_30
OpSelectionMerge %274 None
OpBranchConditional %273 %275 %276
%275 = OpLabel
%277 = OpAccessChain %_ptr_Function_int %data %int_0
%278 = OpLoad %int %277
%280 = OpConvertSToF %float %278
%282 = OpFMul %float %280 %float_0_100000001
%283 = OpFAdd %float %float_0_5 %282
OpStore %x_189 %283
%284 = OpLoad %float %x_189
OpStore %x_262_phi %284
OpBranch %274
%276 = OpLabel
%288 = OpLoad %int %x_180
%290 = OpSLessThan %bool %288 %int_60
OpSelectionMerge %291 None
OpBranchConditional %290 %292 %293
%292 = OpLabel
%294 = OpAccessChain %_ptr_Function_int %data %int_1
%295 = OpLoad %int %294
%296 = OpConvertSToF %float %295
%297 = OpFMul %float %296 %float_0_100000001
%298 = OpFAdd %float %float_0_5 %297
OpStore %x_198 %298
%299 = OpLoad %float %x_198
OpStore %x_261_phi %299
OpBranch %291
%293 = OpLabel
%303 = OpLoad %int %x_180
%305 = OpSLessThan %bool %303 %int_90
OpSelectionMerge %306 None
OpBranchConditional %305 %307 %308
%307 = OpLabel
%309 = OpAccessChain %_ptr_Function_int %data %int_2
%310 = OpLoad %int %309
%311 = OpConvertSToF %float %310
%312 = OpFMul %float %311 %float_0_100000001
%313 = OpFAdd %float %float_0_5 %312
OpStore %x_207 %313
%314 = OpLoad %float %x_207
OpStore %x_260_phi %314
OpBranch %306
%308 = OpLabel
%315 = OpLoad %int %x_180
%317 = OpSLessThan %bool %315 %int_120
OpSelectionMerge %318 None
OpBranchConditional %317 %319 %320
%319 = OpLabel
%321 = OpAccessChain %_ptr_Function_int %data %int_3
%322 = OpLoad %int %321
%323 = OpConvertSToF %float %322
%324 = OpFMul %float %323 %float_0_100000001
%325 = OpFAdd %float %float_0_5 %324
OpStore %x_216 %325
%326 = OpLoad %float %x_216
OpStore %x_259_phi %326
OpBranch %318
%320 = OpLabel
%330 = OpLoad %int %x_180
%332 = OpSLessThan %bool %330 %int_150
OpSelectionMerge %333 None
OpBranchConditional %332 %334 %335
%334 = OpLabel
%247 = OpLoad %int %x_170_phi
%248 = OpSLessThanEqual %bool %247 %163
OpSelectionMerge %249 None
OpBranchConditional %248 %250 %251
%250 = OpLabel
OpBranch %249
%251 = OpLabel
OpBranch %243
%249 = OpLabel
OpBranch %244
%244 = OpLabel
%252 = OpAccessChain %_ptr_Function_int %temp %247
%253 = OpLoad %int %252
%254 = OpAccessChain %_ptr_Function_int %data %247
OpStore %254 %253
%255 = OpIAdd %int %247 %int_1
OpStore %x_171 %255
%256 = OpLoad %int %x_171
OpStore %x_170_phi %256
OpBranch %242
%243 = OpLabel
OpBranch %144
%144 = OpLabel
OpStore %x_118_phi %162
OpBranch %142
%143 = OpLabel
OpBranch %132
%132 = OpLabel
%257 = OpIMul %int %int_2 %136
OpStore %x_112 %257
%258 = OpLoad %int %x_112
OpStore %x_111_phi %258
OpBranch %130
%131 = OpLabel
%265 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%266 = OpLoad %float %265
%267 = OpConvertFToS %int %266
OpStore %x_180 %267
%268 = OpLoad %int %x_180
%270 = OpSLessThan %bool %268 %int_30
OpSelectionMerge %271 None
OpBranchConditional %270 %272 %273
%272 = OpLabel
%274 = OpAccessChain %_ptr_Function_int %data %int_0
%275 = OpLoad %int %274
%277 = OpConvertSToF %float %275
%279 = OpFMul %float %277 %float_0_100000001
%280 = OpFAdd %float %float_0_5 %279
OpStore %x_189 %280
%281 = OpLoad %float %x_189
OpStore %x_262_phi %281
OpBranch %271
%273 = OpLabel
%285 = OpLoad %int %x_180
%287 = OpSLessThan %bool %285 %int_60
OpSelectionMerge %288 None
OpBranchConditional %287 %289 %290
%289 = OpLabel
%291 = OpAccessChain %_ptr_Function_int %data %int_1
%292 = OpLoad %int %291
%293 = OpConvertSToF %float %292
%294 = OpFMul %float %293 %float_0_100000001
%295 = OpFAdd %float %float_0_5 %294
OpStore %x_198 %295
%296 = OpLoad %float %x_198
OpStore %x_261_phi %296
OpBranch %288
%290 = OpLabel
%300 = OpLoad %int %x_180
%302 = OpSLessThan %bool %300 %int_90
OpSelectionMerge %303 None
OpBranchConditional %302 %304 %305
%304 = OpLabel
%306 = OpAccessChain %_ptr_Function_int %data %int_2
%307 = OpLoad %int %306
%308 = OpConvertSToF %float %307
%309 = OpFMul %float %308 %float_0_100000001
%310 = OpFAdd %float %float_0_5 %309
OpStore %x_207 %310
%311 = OpLoad %float %x_207
OpStore %x_260_phi %311
OpBranch %303
%305 = OpLabel
%312 = OpLoad %int %x_180
%314 = OpSLessThan %bool %312 %int_120
OpSelectionMerge %315 None
OpBranchConditional %314 %316 %317
%316 = OpLabel
%318 = OpAccessChain %_ptr_Function_int %data %int_3
%319 = OpLoad %int %318
%320 = OpConvertSToF %float %319
%321 = OpFMul %float %320 %float_0_100000001
%322 = OpFAdd %float %float_0_5 %321
OpStore %x_216 %322
%323 = OpLoad %float %x_216
OpStore %x_259_phi %323
OpBranch %315
%317 = OpLabel
%327 = OpLoad %int %x_180
%329 = OpSLessThan %bool %327 %int_150
OpSelectionMerge %330 None
OpBranchConditional %329 %331 %332
%331 = OpLabel
OpKill
%335 = OpLabel
%339 = OpLoad %int %x_180
%341 = OpSLessThan %bool %339 %int_180
OpSelectionMerge %342 None
OpBranchConditional %341 %343 %344
%343 = OpLabel
%346 = OpAccessChain %_ptr_Function_int %data %int_5
%347 = OpLoad %int %346
%348 = OpConvertSToF %float %347
%349 = OpFMul %float %348 %float_0_100000001
%350 = OpFAdd %float %float_0_5 %349
OpStore %x_229 %350
%351 = OpLoad %float %x_229
OpStore %x_258_phi %351
OpBranch %342
%344 = OpLabel
%355 = OpLoad %int %x_180
%357 = OpSLessThan %bool %355 %int_210
OpSelectionMerge %358 None
OpBranchConditional %357 %359 %360
%359 = OpLabel
%362 = OpAccessChain %_ptr_Function_int %data %int_6
%363 = OpLoad %int %362
%364 = OpConvertSToF %float %363
%365 = OpFMul %float %364 %float_0_100000001
%366 = OpFAdd %float %float_0_5 %365
OpStore %x_238 %366
%367 = OpLoad %float %x_238
OpStore %x_257_phi %367
OpBranch %358
%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
%332 = OpLabel
%336 = OpLoad %int %x_180
%338 = OpSLessThan %bool %336 %int_180
OpSelectionMerge %339 None
OpBranchConditional %338 %340 %341
%340 = OpLabel
%343 = OpAccessChain %_ptr_Function_int %data %int_5
%344 = OpLoad %int %343
%345 = OpConvertSToF %float %344
%346 = OpFMul %float %345 %float_0_100000001
%347 = OpFAdd %float %float_0_5 %346
OpStore %x_229 %347
%348 = OpLoad %float %x_229
OpStore %x_258_phi %348
OpBranch %339
%341 = OpLabel
%352 = OpLoad %int %x_180
%354 = OpSLessThan %bool %352 %int_210
OpSelectionMerge %355 None
OpBranchConditional %354 %356 %357
%356 = OpLabel
%359 = OpAccessChain %_ptr_Function_int %data %int_6
%360 = OpLoad %int %359
%361 = OpConvertSToF %float %360
%362 = OpFMul %float %361 %float_0_100000001
%363 = OpFAdd %float %float_0_5 %362
OpStore %x_238 %363
%364 = OpLoad %float %x_238
OpStore %x_257_phi %364
OpBranch %355
%357 = OpLabel
%365 = OpLoad %int %x_180
%367 = OpSLessThan %bool %365 %int_240
OpSelectionMerge %368 None
OpBranchConditional %367 %369 %370
%369 = OpLabel
%372 = OpAccessChain %_ptr_Function_int %data %int_7
%373 = OpLoad %int %372
%374 = OpConvertSToF %float %373
%375 = OpFMul %float %374 %float_0_100000001
%376 = OpFAdd %float %float_0_5 %375
OpStore %x_247 %376
%377 = OpLoad %float %x_247
OpStore %x_256_phi %377
OpBranch %368
%370 = OpLabel
%378 = OpLoad %int %x_180
%380 = OpSLessThan %bool %378 %int_270
OpSelectionMerge %381 None
OpBranchConditional %380 %382 %383
%382 = OpLabel
OpBranch %381
%383 = 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
%381 = OpLabel
%385 = OpAccessChain %_ptr_Function_int %data %int_8
%386 = OpLoad %int %385
%387 = OpConvertSToF %float %386
%388 = OpFMul %float %387 %float_0_100000001
%389 = OpFAdd %float %float_0_5 %388
OpStore %x_255 %389
%390 = OpLoad %float %x_255
OpStore %x_256_phi %390
OpBranch %368
%368 = OpLabel
%391 = OpLoad %float %x_256_phi
OpStore %x_256 %391
%392 = OpLoad %float %x_256
OpStore %x_257_phi %392
OpBranch %355
%355 = OpLabel
%393 = OpLoad %float %x_257_phi
OpStore %x_257 %393
%394 = OpLoad %float %x_257
OpStore %x_258_phi %394
OpBranch %339
%339 = OpLabel
%395 = OpLoad %float %x_258_phi
OpStore %x_258 %395
OpBranch %330
%330 = OpLabel
%396 = OpLoad %float %x_258
OpStore %x_259_phi %396
OpBranch %315
%315 = OpLabel
%397 = OpLoad %float %x_259_phi
OpStore %x_259 %397
%398 = OpLoad %float %x_259
OpStore %x_260_phi %398
OpBranch %303
%303 = OpLabel
%399 = OpLoad %float %x_260_phi
OpStore %x_260 %399
%400 = OpLoad %float %x_260
OpStore %x_261_phi %400
OpBranch %288
%288 = OpLabel
%401 = OpLoad %float %x_261_phi
OpStore %x_261 %401
%402 = OpLoad %float %x_261
OpStore %x_262_phi %402
OpBranch %271
%271 = OpLabel
%403 = OpLoad %float %x_262_phi
%405 = OpCompositeConstruct %v4float %403 %403 %403 %float_1
OpStore %x_GLF_color %405
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %409
%tint_symbol_3 = OpFunction %void None %406
%tint_symbol_1 = OpFunctionParameter %main_out
%413 = OpLabel
%414 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %414
%410 = OpLabel
%411 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %411
OpReturn
OpFunctionEnd
%main = OpFunction %void None %15
%416 = OpLabel
%417 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %417
%418 = OpFunctionCall %void %main_1
%420 = OpLoad %v4float %x_GLF_color
%421 = OpCompositeConstruct %main_out %420
%419 = OpFunctionCall %void %tint_symbol_3 %421
%413 = OpLabel
%414 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %414
%415 = OpFunctionCall %void %main_1
%417 = OpLoad %v4float %x_GLF_color
%418 = OpCompositeConstruct %main_out %417
%416 = OpFunctionCall %void %tint_symbol_3 %418
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 416
; Bound: 409
; Schema: 0
OpCapability Shader
%177 = OpExtInstImport "GLSL.std.450"
%173 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
OpExecutionMode %main OriginUpperLeft
@ -86,12 +84,12 @@ SKIP: FAILED
%bool = OpTypeBool
%_ptr_Private_int = OpTypePointer Private %int
%int_10 = OpConstant %int 10
%132 = OpTypeFunction %void
%128 = OpTypeFunction %void
%int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2
%_ptr_Function_float = OpTypePointer Function %float
%201 = OpConstantNull %float
%197 = OpConstantNull %float
%uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%int_n5 = OpConstant %int -5
@ -121,7 +119,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%403 = OpTypeFunction %void %main_out
%396 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %23
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -148,129 +146,119 @@ SKIP: FAILED
%51 = OpLoad %int %j
%53 = OpLoad %int %to
%54 = OpSLessThanEqual %bool %48 %50
OpSelectionMerge %56 None
OpBranchConditional %54 %57 %56
%57 = OpLabel
%58 = OpSLessThanEqual %bool %51 %53
OpBranch %56
%56 = OpLabel
%59 = OpPhi %bool %54 %47 %58 %57
OpSelectionMerge %60 None
OpBranchConditional %59 %61 %62
%61 = OpLabel
OpBranch %60
%62 = OpLabel
OpBranch %45
%56 = OpSLessThanEqual %bool %51 %53
%57 = OpLogicalAnd %bool %54 %56
OpSelectionMerge %58 None
OpBranchConditional %57 %59 %60
%59 = OpLabel
OpBranch %58
%60 = OpLabel
%63 = OpLoad %int %i
%65 = OpAccessChain %_ptr_Private_int %data %63
%66 = OpLoad %int %65
%67 = OpLoad %int %j
%68 = OpAccessChain %_ptr_Private_int %data %67
%69 = OpLoad %int %68
%70 = OpSLessThan %bool %66 %69
OpSelectionMerge %71 None
OpBranchConditional %70 %72 %73
%72 = OpLabel
%74 = OpLoad %int %k
OpBranch %45
%58 = OpLabel
%61 = OpLoad %int %i
%63 = OpAccessChain %_ptr_Private_int %data %61
%64 = OpLoad %int %63
%65 = OpLoad %int %j
%66 = OpAccessChain %_ptr_Private_int %data %65
%67 = OpLoad %int %66
%68 = OpSLessThan %bool %64 %67
OpSelectionMerge %69 None
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
OpStore %k %75
%76 = OpLoad %int %i
%77 = OpIAdd %int %76 %int_1
OpStore %i %77
%78 = OpAccessChain %_ptr_Private_int %data %76
%79 = OpLoad %int %78
%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
OpStore %i %75
%76 = OpAccessChain %_ptr_Private_int %data %74
%77 = OpLoad %int %76
%78 = OpAccessChain %_ptr_Private_int %temp %72
OpStore %78 %77
OpBranch %69
%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
%46 = OpLabel
OpBranch %44
%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
%88 = OpLabel
OpLoopMerge %89 %90 None
OpBranch %91
%91 = OpLabel
%92 = OpLoad %int %i
%93 = OpLoad %int %i
%95 = OpLoad %int %mid
%97 = OpSLessThan %bool %92 %int_10
OpSelectionMerge %98 None
OpBranchConditional %97 %99 %98
%99 = OpLabel
%100 = OpSLessThanEqual %bool %93 %95
OpBranch %98
%98 = OpLabel
%101 = OpPhi %bool %97 %91 %100 %99
OpSelectionMerge %102 None
OpBranchConditional %101 %103 %104
%103 = OpLabel
OpBranch %102
%104 = OpLabel
OpBranch %89
%102 = OpLabel
%105 = OpLoad %int %k
%106 = OpIAdd %int %105 %int_1
OpStore %k %106
%107 = OpLoad %int %i
%108 = OpIAdd %int %107 %int_1
OpStore %i %108
%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
OpBranch %86
%87 = OpLabel
%109 = OpLoad %int %from
OpStore %i_1 %109
OpBranch %110
%110 = OpLabel
OpLoopMerge %111 %112 None
OpBranch %113
%113 = OpLabel
%114 = OpLoad %int %i_1
%116 = OpLoad %int %to
%117 = OpSLessThanEqual %bool %114 %116
OpSelectionMerge %118 None
OpBranchConditional %117 %119 %120
%119 = OpLabel
OpBranch %118
%120 = OpLabel
OpBranch %111
%118 = OpLabel
%121 = OpLoad %int %i_1
%122 = OpLoad %int %i_1
%123 = OpAccessChain %_ptr_Private_int %temp %122
%124 = OpLoad %int %123
%125 = OpAccessChain %_ptr_Private_int %data %121
OpStore %125 %124
OpBranch %112
%112 = OpLabel
%126 = OpLoad %int %i_1
%127 = OpAccessChain %_ptr_Private_int %temp %126
%128 = OpLoad %int %127
%129 = OpAccessChain %_ptr_Private_int %data %125
OpStore %129 %128
OpBranch %116
%116 = OpLabel
%130 = OpLoad %int %i_1
%131 = OpIAdd %int %130 %int_1
OpStore %i_1 %131
OpBranch %114
%115 = OpLabel
%127 = OpIAdd %int %126 %int_1
OpStore %i_1 %127
OpBranch %110
%111 = OpLabel
OpReturn
OpFunctionEnd
%mergeSort_ = OpFunction %void None %132
%134 = OpLabel
%mergeSort_ = OpFunction %void None %128
%130 = OpLabel
%low = OpVariable %_ptr_Function_int Function %32
%high = OpVariable %_ptr_Function_int Function %32
%m = OpVariable %_ptr_Function_int Function %32
@ -284,366 +272,356 @@ SKIP: FAILED
OpStore %low %int_0
OpStore %high %int_9
OpStore %m %int_1
OpBranch %147
%147 = OpLabel
OpLoopMerge %148 %149 None
OpBranch %143
%143 = OpLabel
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
%152 = OpLabel
OpBranch %144
%150 = OpLabel
%151 = OpLoad %int %m
%152 = OpLoad %int %high
%153 = OpSLessThanEqual %bool %151 %152
OpSelectionMerge %154 None
OpBranchConditional %153 %155 %156
%155 = OpLabel
%153 = OpLoad %int %low
OpStore %i_2 %153
OpBranch %154
%156 = OpLabel
OpBranch %148
%154 = OpLabel
%157 = OpLoad %int %low
OpStore %i_2 %157
OpBranch %158
%158 = OpLabel
OpLoopMerge %159 %160 None
OpLoopMerge %155 %156 None
OpBranch %157
%157 = OpLabel
%158 = OpLoad %int %i_2
%159 = OpLoad %int %high
%160 = OpSLessThan %bool %158 %159
OpSelectionMerge %161 None
OpBranchConditional %160 %162 %163
%162 = OpLabel
OpBranch %161
%163 = OpLabel
OpBranch %155
%161 = OpLabel
%162 = OpLoad %int %i_2
%163 = OpLoad %int %high
%164 = OpSLessThan %bool %162 %163
OpSelectionMerge %165 None
OpBranchConditional %164 %166 %167
%166 = OpLabel
OpBranch %165
%167 = OpLabel
OpBranch %159
%165 = OpLabel
%168 = OpLoad %int %i_2
OpStore %from_1 %168
%164 = OpLoad %int %i_2
OpStore %from_1 %164
%165 = OpLoad %int %i_2
%166 = OpLoad %int %m
%167 = OpIAdd %int %165 %166
%168 = OpISub %int %167 %int_1
OpStore %mid_1 %168
%169 = OpLoad %int %i_2
%170 = OpLoad %int %m
%171 = OpIAdd %int %169 %170
%172 = OpISub %int %171 %int_1
OpStore %mid_1 %172
%173 = OpLoad %int %i_2
%174 = OpLoad %int %m
%175 = OpLoad %int %high
%179 = OpIMul %int %int_2 %174
%180 = OpIAdd %int %173 %179
%181 = OpISub %int %180 %int_1
%176 = OpExtInst %int %177 SMin %181 %175
OpStore %to_1 %176
%182 = OpLoad %int %from_1
OpStore %param %182
%183 = OpLoad %int %mid_1
OpStore %param_1 %183
%184 = OpLoad %int %to_1
OpStore %param_2 %184
%185 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
OpBranch %160
%160 = OpLabel
%171 = OpLoad %int %high
%175 = OpIMul %int %int_2 %170
%176 = OpIAdd %int %169 %175
%177 = OpISub %int %176 %int_1
%172 = OpExtInst %int %173 SMin %177 %171
OpStore %to_1 %172
%178 = OpLoad %int %from_1
OpStore %param %178
%179 = OpLoad %int %mid_1
OpStore %param_1 %179
%180 = OpLoad %int %to_1
OpStore %param_2 %180
%181 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2
OpBranch %156
%156 = OpLabel
%185 = OpLoad %int %m
%186 = OpLoad %int %i_2
%187 = OpIMul %int %int_2 %185
%188 = OpIAdd %int %186 %187
OpStore %i_2 %188
OpBranch %154
%155 = OpLabel
OpBranch %145
%145 = OpLabel
%189 = OpLoad %int %m
%190 = OpLoad %int %i_2
%191 = OpIMul %int %int_2 %189
%192 = OpIAdd %int %190 %191
OpStore %i_2 %192
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
%190 = OpIMul %int %int_2 %189
OpStore %m %190
OpBranch %143
%144 = OpLabel
OpReturn
OpFunctionEnd
%main_1 = OpFunction %void None %132
%196 = OpLabel
%main_1 = OpFunction %void None %128
%192 = OpLabel
%i_3 = OpVariable %_ptr_Function_int Function %32
%j_1 = OpVariable %_ptr_Function_int Function %32
%grey = OpVariable %_ptr_Function_float Function %201
%204 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%205 = OpLoad %float %204
%206 = OpConvertFToS %int %205
OpStore %i_3 %206
OpBranch %207
%207 = OpLabel
OpLoopMerge %208 %209 None
OpBranch %210
%grey = OpVariable %_ptr_Function_float Function %197
%200 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%201 = OpLoad %float %200
%202 = OpConvertFToS %int %201
OpStore %i_3 %202
OpBranch %203
%203 = OpLabel
OpLoopMerge %204 %205 None
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
%211 = OpLoad %int %i_3
OpSelectionMerge %212 None
OpSwitch %211 %213 9 %214 8 %215 7 %216 6 %217 5 %218 4 %219 3 %220 2 %221 1 %222 0 %223
%220 = OpLoad %int %i_3
%221 = OpAccessChain %_ptr_Private_int %data %220
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
%224 = OpLoad %int %i_3
%225 = OpAccessChain %_ptr_Private_int %data %224
OpStore %225 %int_n5
OpBranch %212
%232 = OpLoad %int %i_3
%233 = OpAccessChain %_ptr_Private_int %data %232
OpStore %233 %int_n1
OpBranch %208
%215 = OpLabel
%227 = OpLoad %int %i_3
%228 = OpAccessChain %_ptr_Private_int %data %227
OpStore %228 %int_n4
OpBranch %212
%235 = OpLoad %int %i_3
%236 = OpAccessChain %_ptr_Private_int %data %235
OpStore %236 %int_0
OpBranch %208
%216 = OpLabel
%230 = OpLoad %int %i_3
%231 = OpAccessChain %_ptr_Private_int %data %230
OpStore %231 %int_n3
OpBranch %212
%237 = OpLoad %int %i_3
%238 = OpAccessChain %_ptr_Private_int %data %237
OpStore %238 %int_1
OpBranch %208
%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
%240 = OpAccessChain %_ptr_Private_int %data %239
OpStore %240 %int_0
OpBranch %212
%220 = OpLabel
OpStore %240 %int_2
OpBranch %208
%218 = OpLabel
%241 = OpLoad %int %i_3
%242 = OpAccessChain %_ptr_Private_int %data %241
OpStore %242 %int_1
OpBranch %212
%221 = OpLabel
%243 = OpLoad %int %i_3
%244 = OpAccessChain %_ptr_Private_int %data %243
OpStore %244 %int_2
OpBranch %212
%222 = 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
OpStore %242 %int_3
OpBranch %208
%219 = OpLabel
%244 = OpLoad %int %i_3
%245 = OpAccessChain %_ptr_Private_int %data %244
OpStore %245 %int_4
OpBranch %208
%209 = OpLabel
OpBranch %208
%255 = OpLabel
OpBranch %207
%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
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
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
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
OpBranch %257
%259 = OpLabel
%274 = OpFunctionCall %void %mergeSort_
%277 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%278 = OpLoad %float %277
%279 = OpConvertFToS %int %278
%281 = OpSLessThan %bool %279 %int_30
OpSelectionMerge %282 None
OpBranchConditional %281 %283 %284
%283 = OpLabel
%285 = OpAccessChain %_ptr_Private_int %data %int_0
%286 = OpLoad %int %285
%288 = OpConvertSToF %float %286
%290 = OpFDiv %float %288 %float_10
%291 = OpFAdd %float %float_0_5 %290
OpStore %grey %291
OpBranch %282
%284 = OpLabel
%292 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%293 = OpLoad %float %292
%294 = OpConvertFToS %int %293
%296 = OpSLessThan %bool %294 %int_60
OpSelectionMerge %297 None
OpBranchConditional %296 %298 %299
%298 = OpLabel
%300 = OpAccessChain %_ptr_Private_int %data %int_1
%301 = OpLoad %int %300
%302 = OpConvertSToF %float %301
%303 = OpFDiv %float %302 %float_10
%304 = OpFAdd %float %float_0_5 %303
OpStore %grey %304
OpBranch %297
%299 = OpLabel
%305 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%306 = OpLoad %float %305
%307 = OpConvertFToS %int %306
%309 = OpSLessThan %bool %307 %int_90
OpSelectionMerge %310 None
OpBranchConditional %309 %311 %312
%311 = OpLabel
%313 = OpAccessChain %_ptr_Private_int %data %int_2
%314 = OpLoad %int %313
%315 = OpConvertSToF %float %314
%316 = OpFDiv %float %315 %float_10
%317 = OpFAdd %float %float_0_5 %316
OpStore %grey %317
OpBranch %310
%312 = OpLabel
%318 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%319 = OpLoad %float %318
%320 = OpConvertFToS %int %319
%322 = OpSLessThan %bool %320 %int_120
OpSelectionMerge %323 None
OpBranchConditional %322 %324 %325
%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
OpBranch %252
%257 = OpLabel
%260 = OpLoad %int %j_1
%261 = OpLoad %int %j_1
%262 = OpAccessChain %_ptr_Private_int %data %261
%263 = OpLoad %int %262
%264 = OpAccessChain %_ptr_Private_int %temp %260
OpStore %264 %263
OpBranch %253
%253 = OpLabel
%265 = OpLoad %int %j_1
%266 = OpIAdd %int %265 %int_1
OpStore %j_1 %266
OpBranch %251
%252 = OpLabel
%267 = OpFunctionCall %void %mergeSort_
%270 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%271 = OpLoad %float %270
%272 = OpConvertFToS %int %271
%274 = OpSLessThan %bool %272 %int_30
OpSelectionMerge %275 None
OpBranchConditional %274 %276 %277
%276 = OpLabel
%278 = OpAccessChain %_ptr_Private_int %data %int_0
%279 = OpLoad %int %278
%281 = OpConvertSToF %float %279
%283 = OpFDiv %float %281 %float_10
%284 = OpFAdd %float %float_0_5 %283
OpStore %grey %284
OpBranch %275
%277 = OpLabel
%285 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%286 = OpLoad %float %285
%287 = OpConvertFToS %int %286
%289 = OpSLessThan %bool %287 %int_60
OpSelectionMerge %290 None
OpBranchConditional %289 %291 %292
%291 = OpLabel
%293 = OpAccessChain %_ptr_Private_int %data %int_1
%294 = OpLoad %int %293
%295 = OpConvertSToF %float %294
%296 = OpFDiv %float %295 %float_10
%297 = OpFAdd %float %float_0_5 %296
OpStore %grey %297
OpBranch %290
%292 = OpLabel
%298 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%299 = OpLoad %float %298
%300 = OpConvertFToS %int %299
%302 = OpSLessThan %bool %300 %int_90
OpSelectionMerge %303 None
OpBranchConditional %302 %304 %305
%304 = OpLabel
%306 = OpAccessChain %_ptr_Private_int %data %int_2
%307 = OpLoad %int %306
%308 = OpConvertSToF %float %307
%309 = OpFDiv %float %308 %float_10
%310 = OpFAdd %float %float_0_5 %309
OpStore %grey %310
OpBranch %303
%305 = OpLabel
%311 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%312 = OpLoad %float %311
%313 = OpConvertFToS %int %312
%315 = OpSLessThan %bool %313 %int_120
OpSelectionMerge %316 None
OpBranchConditional %315 %317 %318
%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
%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
%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
%348 = OpAccessChain %_ptr_Private_int %data %int_5
%349 = OpLoad %int %348
%350 = OpConvertSToF %float %349
%351 = OpFDiv %float %350 %float_10
%352 = OpFAdd %float %float_0_5 %351
OpStore %grey %352
OpBranch %344
%346 = OpLabel
%353 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%354 = OpLoad %float %353
%355 = OpConvertFToS %int %354
%357 = OpSLessThan %bool %355 %int_210
OpSelectionMerge %358 None
OpBranchConditional %357 %359 %360
%359 = OpLabel
%362 = OpAccessChain %_ptr_Private_int %data %int_6
%363 = OpLoad %int %362
%364 = OpConvertSToF %float %363
%365 = OpFDiv %float %364 %float_10
%366 = OpFAdd %float %float_0_5 %365
OpStore %grey %366
OpBranch %358
%360 = OpLabel
%367 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%368 = OpLoad %float %367
%369 = OpConvertFToS %int %368
%371 = OpSLessThan %bool %369 %int_240
OpSelectionMerge %372 None
OpBranchConditional %371 %373 %374
%373 = OpLabel
%376 = OpAccessChain %_ptr_Private_int %data %int_7
%377 = OpLoad %int %376
%378 = OpConvertSToF %float %377
%379 = OpFDiv %float %378 %float_10
%380 = OpFAdd %float %float_0_5 %379
OpStore %grey %380
OpBranch %372
%374 = OpLabel
%381 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%382 = OpLoad %float %381
%383 = OpConvertFToS %int %382
%385 = OpSLessThan %bool %383 %int_270
OpSelectionMerge %386 None
OpBranchConditional %385 %387 %388
%387 = OpLabel
%390 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%341 = OpAccessChain %_ptr_Private_int %data %int_5
%342 = OpLoad %int %341
%343 = OpConvertSToF %float %342
%344 = OpFDiv %float %343 %float_10
%345 = OpFAdd %float %float_0_5 %344
OpStore %grey %345
OpBranch %337
%339 = OpLabel
%346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%347 = OpLoad %float %346
%348 = OpConvertFToS %int %347
%350 = OpSLessThan %bool %348 %int_210
OpSelectionMerge %351 None
OpBranchConditional %350 %352 %353
%352 = OpLabel
%355 = OpAccessChain %_ptr_Private_int %data %int_6
%356 = OpLoad %int %355
%357 = OpConvertSToF %float %356
%358 = OpFDiv %float %357 %float_10
%359 = OpFAdd %float %float_0_5 %358
OpStore %grey %359
OpBranch %351
%353 = OpLabel
%360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%361 = OpLoad %float %360
%362 = OpConvertFToS %int %361
%364 = OpSLessThan %bool %362 %int_240
OpSelectionMerge %365 None
OpBranchConditional %364 %366 %367
%366 = OpLabel
%369 = OpAccessChain %_ptr_Private_int %data %int_7
%370 = OpLoad %int %369
%371 = OpConvertSToF %float %370
%372 = OpFDiv %float %371 %float_10
%373 = OpFAdd %float %float_0_5 %372
OpStore %grey %373
OpBranch %365
%367 = OpLabel
%374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%375 = OpLoad %float %374
%376 = OpConvertFToS %int %375
%378 = OpSLessThan %bool %376 %int_270
OpSelectionMerge %379 None
OpBranchConditional %378 %380 %381
%380 = OpLabel
%383 = OpAccessChain %_ptr_Private_int %data %int_8
%384 = OpLoad %int %383
%385 = OpConvertSToF %float %384
%386 = OpFDiv %float %385 %float_10
%387 = OpFAdd %float %float_0_5 %386
OpStore %grey %387
OpBranch %379
%381 = OpLabel
OpKill
%386 = OpLabel
OpBranch %372
%372 = OpLabel
OpBranch %358
%358 = OpLabel
OpBranch %344
%344 = OpLabel
OpBranch %336
%336 = OpLabel
OpBranch %323
%323 = OpLabel
OpBranch %310
%310 = OpLabel
OpBranch %297
%297 = OpLabel
OpBranch %282
%282 = OpLabel
%395 = OpLoad %float %grey
%397 = OpCompositeConstruct %v3float %395 %395 %395
%398 = OpCompositeExtract %float %397 0
%399 = OpCompositeExtract %float %397 1
%400 = OpCompositeExtract %float %397 2
%402 = OpCompositeConstruct %v4float %398 %399 %400 %float_1
OpStore %x_GLF_color %402
%379 = OpLabel
OpBranch %365
%365 = OpLabel
OpBranch %351
%351 = OpLabel
OpBranch %337
%337 = OpLabel
OpBranch %329
%329 = OpLabel
OpBranch %316
%316 = OpLabel
OpBranch %303
%303 = OpLabel
OpBranch %290
%290 = OpLabel
OpBranch %275
%275 = OpLabel
%388 = OpLoad %float %grey
%390 = OpCompositeConstruct %v3float %388 %388 %388
%391 = OpCompositeExtract %float %390 0
%392 = OpCompositeExtract %float %390 1
%393 = OpCompositeExtract %float %390 2
%395 = OpCompositeConstruct %v4float %391 %392 %393 %float_1
OpStore %x_GLF_color %395
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %403
%tint_symbol_3 = OpFunction %void None %396
%tint_symbol_1 = OpFunctionParameter %main_out
%407 = OpLabel
%408 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %408
%400 = OpLabel
%401 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %401
OpReturn
OpFunctionEnd
%main = OpFunction %void None %132
%410 = OpLabel
%411 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %411
%412 = OpFunctionCall %void %main_1
%414 = OpLoad %v4float %x_GLF_color
%415 = OpCompositeConstruct %main_out %414
%413 = OpFunctionCall %void %tint_symbol_3 %415
%main = OpFunction %void None %128
%403 = OpLabel
%404 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %404
%405 = OpFunctionCall %void %main_1
%407 = OpLoad %v4float %x_GLF_color
%408 = OpCompositeConstruct %main_out %407
%406 = OpFunctionCall %void %tint_symbol_3 %408
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 416
; Bound: 413
; Schema: 0
OpCapability Shader
%177 = OpExtInstImport "GLSL.std.450"
@ -121,7 +119,7 @@ SKIP: FAILED
%v3float = OpTypeVector %float 3
%float_1 = OpConstant %float 1
%main_out = OpTypeStruct %v4float
%403 = OpTypeFunction %void %main_out
%400 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %23
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -433,217 +431,207 @@ SKIP: FAILED
%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
%255 = OpLabel
OpBranch %207
OpBranchConditional %254 %207 %208
%208 = OpLabel
OpStore %j_1 %int_0
OpBranch %255
%255 = OpLabel
OpLoopMerge %256 %257 None
OpBranch %258
%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
%263 = OpLabel
OpBranch %256
%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
%274 = OpFunctionCall %void %mergeSort_
%277 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%278 = OpLoad %float %277
%279 = OpConvertFToS %int %278
%281 = OpSLessThan %bool %279 %int_30
OpSelectionMerge %282 None
OpBranchConditional %281 %283 %284
%283 = OpLabel
%285 = OpAccessChain %_ptr_Private_int %data %int_0
%286 = OpLoad %int %285
%288 = OpConvertSToF %float %286
%290 = OpFDiv %float %288 %float_10
%291 = OpFAdd %float %float_0_5 %290
OpStore %grey %291
OpBranch %282
%284 = OpLabel
%292 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%293 = OpLoad %float %292
%294 = OpConvertFToS %int %293
%296 = OpSLessThan %bool %294 %int_60
OpSelectionMerge %297 None
OpBranchConditional %296 %298 %299
%298 = OpLabel
%300 = OpAccessChain %_ptr_Private_int %data %int_1
%301 = OpLoad %int %300
%302 = OpConvertSToF %float %301
%303 = OpFDiv %float %302 %float_10
%304 = OpFAdd %float %float_0_5 %303
OpStore %grey %304
OpBranch %297
%299 = OpLabel
%305 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%306 = OpLoad %float %305
%307 = OpConvertFToS %int %306
%309 = OpSLessThan %bool %307 %int_90
OpSelectionMerge %310 None
OpBranchConditional %309 %311 %312
%311 = OpLabel
%313 = OpAccessChain %_ptr_Private_int %data %int_2
%314 = OpLoad %int %313
%315 = OpConvertSToF %float %314
%316 = OpFDiv %float %315 %float_10
%317 = OpFAdd %float %float_0_5 %316
OpStore %grey %317
OpBranch %310
%312 = OpLabel
%318 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%319 = OpLoad %float %318
%320 = OpConvertFToS %int %319
%322 = OpSLessThan %bool %320 %int_120
OpSelectionMerge %323 None
OpBranchConditional %322 %324 %325
%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
%264 = OpLoad %int %j_1
%265 = OpLoad %int %j_1
%266 = OpAccessChain %_ptr_Private_int %data %265
%267 = OpLoad %int %266
%268 = OpAccessChain %_ptr_Private_int %temp %264
OpStore %268 %267
OpBranch %257
%257 = OpLabel
%269 = OpLoad %int %j_1
%270 = OpIAdd %int %269 %int_1
OpStore %j_1 %270
OpBranch %255
%256 = OpLabel
%271 = OpFunctionCall %void %mergeSort_
%274 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%275 = OpLoad %float %274
%276 = OpConvertFToS %int %275
%278 = OpSLessThan %bool %276 %int_30
OpSelectionMerge %279 None
OpBranchConditional %278 %280 %281
%280 = OpLabel
%282 = OpAccessChain %_ptr_Private_int %data %int_0
%283 = OpLoad %int %282
%285 = OpConvertSToF %float %283
%287 = OpFDiv %float %285 %float_10
%288 = OpFAdd %float %float_0_5 %287
OpStore %grey %288
OpBranch %279
%281 = OpLabel
%289 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%290 = OpLoad %float %289
%291 = OpConvertFToS %int %290
%293 = OpSLessThan %bool %291 %int_60
OpSelectionMerge %294 None
OpBranchConditional %293 %295 %296
%295 = OpLabel
%297 = OpAccessChain %_ptr_Private_int %data %int_1
%298 = OpLoad %int %297
%299 = OpConvertSToF %float %298
%300 = OpFDiv %float %299 %float_10
%301 = OpFAdd %float %float_0_5 %300
OpStore %grey %301
OpBranch %294
%296 = OpLabel
%302 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%303 = OpLoad %float %302
%304 = OpConvertFToS %int %303
%306 = OpSLessThan %bool %304 %int_90
OpSelectionMerge %307 None
OpBranchConditional %306 %308 %309
%308 = OpLabel
%310 = OpAccessChain %_ptr_Private_int %data %int_2
%311 = OpLoad %int %310
%312 = OpConvertSToF %float %311
%313 = OpFDiv %float %312 %float_10
%314 = OpFAdd %float %float_0_5 %313
OpStore %grey %314
OpBranch %307
%309 = OpLabel
%315 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%316 = OpLoad %float %315
%317 = OpConvertFToS %int %316
%319 = OpSLessThan %bool %317 %int_120
OpSelectionMerge %320 None
OpBranchConditional %319 %321 %322
%321 = OpLabel
%323 = OpAccessChain %_ptr_Private_int %data %int_3
%324 = OpLoad %int %323
%325 = OpConvertSToF %float %324
%326 = OpFDiv %float %325 %float_10
%327 = OpFAdd %float %float_0_5 %326
OpStore %grey %327
OpBranch %320
%322 = OpLabel
%328 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%329 = OpLoad %float %328
%330 = OpConvertFToS %int %329
%332 = OpSLessThan %bool %330 %int_150
OpSelectionMerge %333 None
OpBranchConditional %332 %334 %335
%334 = OpLabel
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
%348 = OpAccessChain %_ptr_Private_int %data %int_5
%349 = OpLoad %int %348
%350 = OpConvertSToF %float %349
%351 = OpFDiv %float %350 %float_10
%352 = OpFAdd %float %float_0_5 %351
OpStore %grey %352
OpBranch %344
%346 = OpLabel
%353 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%354 = OpLoad %float %353
%355 = OpConvertFToS %int %354
%357 = OpSLessThan %bool %355 %int_210
OpSelectionMerge %358 None
OpBranchConditional %357 %359 %360
%359 = OpLabel
%362 = OpAccessChain %_ptr_Private_int %data %int_6
%363 = OpLoad %int %362
%364 = OpConvertSToF %float %363
%365 = OpFDiv %float %364 %float_10
%366 = OpFAdd %float %float_0_5 %365
OpStore %grey %366
OpBranch %358
%360 = OpLabel
%367 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%368 = OpLoad %float %367
%369 = OpConvertFToS %int %368
%371 = OpSLessThan %bool %369 %int_240
OpSelectionMerge %372 None
OpBranchConditional %371 %373 %374
%373 = OpLabel
%376 = OpAccessChain %_ptr_Private_int %data %int_7
%377 = OpLoad %int %376
%378 = OpConvertSToF %float %377
%379 = OpFDiv %float %378 %float_10
%380 = OpFAdd %float %float_0_5 %379
OpStore %grey %380
OpBranch %372
%374 = OpLabel
%381 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%382 = OpLoad %float %381
%383 = OpConvertFToS %int %382
%385 = OpSLessThan %bool %383 %int_270
OpSelectionMerge %386 None
OpBranchConditional %385 %387 %388
%387 = OpLabel
%390 = OpAccessChain %_ptr_Private_int %data %int_8
%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
%335 = OpLabel
%336 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%337 = OpLoad %float %336
%338 = OpConvertFToS %int %337
%340 = OpSLessThan %bool %338 %int_180
OpSelectionMerge %341 None
OpBranchConditional %340 %342 %343
%342 = OpLabel
%345 = OpAccessChain %_ptr_Private_int %data %int_5
%346 = OpLoad %int %345
%347 = OpConvertSToF %float %346
%348 = OpFDiv %float %347 %float_10
%349 = OpFAdd %float %float_0_5 %348
OpStore %grey %349
OpBranch %341
%343 = OpLabel
%350 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%351 = OpLoad %float %350
%352 = OpConvertFToS %int %351
%354 = OpSLessThan %bool %352 %int_210
OpSelectionMerge %355 None
OpBranchConditional %354 %356 %357
%356 = OpLabel
%359 = OpAccessChain %_ptr_Private_int %data %int_6
%360 = OpLoad %int %359
%361 = OpConvertSToF %float %360
%362 = OpFDiv %float %361 %float_10
%363 = OpFAdd %float %float_0_5 %362
OpStore %grey %363
OpBranch %355
%357 = OpLabel
%364 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%365 = OpLoad %float %364
%366 = OpConvertFToS %int %365
%368 = OpSLessThan %bool %366 %int_240
OpSelectionMerge %369 None
OpBranchConditional %368 %370 %371
%370 = OpLabel
%373 = OpAccessChain %_ptr_Private_int %data %int_7
%374 = OpLoad %int %373
%375 = OpConvertSToF %float %374
%376 = OpFDiv %float %375 %float_10
%377 = OpFAdd %float %float_0_5 %376
OpStore %grey %377
OpBranch %369
%371 = OpLabel
%378 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%379 = OpLoad %float %378
%380 = OpConvertFToS %int %379
%382 = OpSLessThan %bool %380 %int_270
OpSelectionMerge %383 None
OpBranchConditional %382 %384 %385
%384 = OpLabel
%387 = OpAccessChain %_ptr_Private_int %data %int_8
%388 = OpLoad %int %387
%389 = OpConvertSToF %float %388
%390 = OpFDiv %float %389 %float_10
%391 = OpFAdd %float %float_0_5 %390
OpStore %grey %391
OpBranch %383
%385 = OpLabel
OpKill
%386 = OpLabel
OpBranch %372
%372 = OpLabel
OpBranch %358
%358 = OpLabel
OpBranch %344
%344 = OpLabel
OpBranch %336
%336 = OpLabel
OpBranch %323
%323 = OpLabel
OpBranch %310
%310 = OpLabel
OpBranch %297
%297 = OpLabel
OpBranch %282
%282 = OpLabel
%395 = OpLoad %float %grey
%397 = OpCompositeConstruct %v3float %395 %395 %395
%398 = OpCompositeExtract %float %397 0
%399 = OpCompositeExtract %float %397 1
%400 = OpCompositeExtract %float %397 2
%402 = OpCompositeConstruct %v4float %398 %399 %400 %float_1
OpStore %x_GLF_color %402
%383 = OpLabel
OpBranch %369
%369 = OpLabel
OpBranch %355
%355 = OpLabel
OpBranch %341
%341 = OpLabel
OpBranch %333
%333 = OpLabel
OpBranch %320
%320 = OpLabel
OpBranch %307
%307 = OpLabel
OpBranch %294
%294 = OpLabel
OpBranch %279
%279 = OpLabel
%392 = OpLoad %float %grey
%394 = OpCompositeConstruct %v3float %392 %392 %392
%395 = OpCompositeExtract %float %394 0
%396 = OpCompositeExtract %float %394 1
%397 = OpCompositeExtract %float %394 2
%399 = OpCompositeConstruct %v4float %395 %396 %397 %float_1
OpStore %x_GLF_color %399
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %403
%tint_symbol_3 = OpFunction %void None %400
%tint_symbol_1 = OpFunctionParameter %main_out
%407 = OpLabel
%408 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %408
%404 = OpLabel
%405 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %405
OpReturn
OpFunctionEnd
%main = OpFunction %void None %132
%410 = OpLabel
%411 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %411
%412 = OpFunctionCall %void %main_1
%414 = OpLoad %v4float %x_GLF_color
%415 = OpCompositeConstruct %main_out %414
%413 = OpFunctionCall %void %tint_symbol_3 %415
%407 = OpLabel
%408 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %408
%409 = OpFunctionCall %void %main_1
%411 = OpLoad %v4float %x_GLF_color
%412 = OpCompositeConstruct %main_out %411
%410 = OpFunctionCall %void %tint_symbol_3 %412
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 440
; Bound: 437
; Schema: 0
OpCapability Shader
%177 = OpExtInstImport "GLSL.std.450"
@ -120,14 +118,14 @@ SKIP: FAILED
%int_7 = OpConstant %int 7
%true = OpConstantTrue %bool
%_ptr_Function_bool = OpTypePointer Function %bool
%393 = OpConstantNull %bool
%390 = OpConstantNull %bool
%int_270 = OpConstant %int 270
%int_8 = OpConstant %int 8
%false = OpConstantFalse %bool
%float_0 = OpConstant %float 0
%v3float = OpTypeVector %float 3
%main_out = OpTypeStruct %v4float
%427 = OpTypeFunction %void %main_out
%424 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %23
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -367,7 +365,7 @@ SKIP: FAILED
%i_3 = OpVariable %_ptr_Function_int Function %32
%j_1 = OpVariable %_ptr_Function_int Function %32
%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
%205 = OpLoad %float %204
%206 = OpConvertFToS %int %205
@ -440,251 +438,241 @@ SKIP: FAILED
%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
%255 = OpLabel
OpBranch %207
OpBranchConditional %254 %207 %208
%208 = OpLabel
OpStore %j_1 %int_0
OpBranch %255
%255 = OpLabel
OpLoopMerge %256 %257 None
OpBranch %258
%258 = OpLabel
OpLoopMerge %259 %260 None
OpBranch %261
%261 = OpLabel
%262 = OpLoad %int %j_1
%263 = OpSLessThan %bool %262 %int_10
%264 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%265 = OpLoad %float %264
%268 = OpFOrdLessThanEqual %bool %265 %float_1
%266 = OpLogicalNot %bool %268
OpSelectionMerge %269 None
OpBranchConditional %266 %270 %269
%270 = OpLabel
%259 = OpLoad %int %j_1
%260 = OpSLessThan %bool %259 %int_10
%261 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0
%262 = OpLoad %float %261
%265 = OpFOrdLessThanEqual %bool %262 %float_1
%263 = OpLogicalNot %bool %265
OpSelectionMerge %266 None
OpBranchConditional %263 %267 %266
%267 = OpLabel
OpStore %grey %float_1
OpBranch %269
OpBranch %266
%266 = OpLabel
OpSelectionMerge %268 None
OpBranchConditional %260 %269 %270
%269 = OpLabel
OpSelectionMerge %271 None
OpBranchConditional %263 %272 %273
%272 = OpLabel
OpBranch %271
%273 = OpLabel
OpBranch %259
%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 %260
%260 = OpLabel
%279 = OpLoad %int %j_1
%280 = OpIAdd %int %279 %int_1
OpStore %j_1 %280
OpBranch %258
%259 = OpLabel
%281 = OpFunctionCall %void %mergeSort_
%284 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%285 = OpLoad %float %284
%286 = OpConvertFToS %int %285
%288 = OpSLessThan %bool %286 %int_30
OpSelectionMerge %289 None
OpBranchConditional %288 %290 %291
%290 = OpLabel
%292 = OpAccessChain %_ptr_Private_int %data %int_0
%293 = OpLoad %int %292
%295 = OpConvertSToF %float %293
%297 = OpFDiv %float %295 %float_10
%298 = OpFAdd %float %float_0_5 %297
OpStore %grey %298
OpBranch %289
%291 = OpLabel
%299 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%300 = OpLoad %float %299
%301 = OpConvertFToS %int %300
%303 = OpSLessThan %bool %301 %int_60
OpSelectionMerge %304 None
OpBranchConditional %303 %305 %306
%305 = OpLabel
%307 = OpAccessChain %_ptr_Private_int %data %int_1
%308 = OpLoad %int %307
%309 = OpConvertSToF %float %308
%310 = OpFDiv %float %309 %float_10
%311 = OpFAdd %float %float_0_5 %310
OpStore %grey %311
OpBranch %304
%306 = OpLabel
%312 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%313 = OpLoad %float %312
%314 = OpConvertFToS %int %313
%316 = OpSLessThan %bool %314 %int_90
OpSelectionMerge %317 None
OpBranchConditional %316 %318 %319
%318 = OpLabel
%320 = OpAccessChain %_ptr_Private_int %data %int_2
%321 = OpLoad %int %320
%322 = OpConvertSToF %float %321
%323 = OpFDiv %float %322 %float_10
%324 = OpFAdd %float %float_0_5 %323
OpStore %grey %324
OpBranch %317
%319 = OpLabel
%325 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%326 = OpLoad %float %325
%327 = OpConvertFToS %int %326
%329 = OpSLessThan %bool %327 %int_120
OpSelectionMerge %330 None
OpBranchConditional %329 %331 %332
%331 = OpLabel
%333 = OpAccessChain %_ptr_Private_int %data %int_3
%334 = OpLoad %int %333
%335 = OpConvertSToF %float %334
%336 = OpFDiv %float %335 %float_10
%337 = OpFAdd %float %float_0_5 %336
OpStore %grey %337
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
OpBranch %268
%270 = OpLabel
OpBranch %256
%268 = OpLabel
%271 = OpLoad %int %j_1
%272 = OpLoad %int %j_1
%273 = OpAccessChain %_ptr_Private_int %data %272
%274 = OpLoad %int %273
%275 = OpAccessChain %_ptr_Private_int %temp %271
OpStore %275 %274
OpBranch %257
%257 = OpLabel
%276 = OpLoad %int %j_1
%277 = OpIAdd %int %276 %int_1
OpStore %j_1 %277
OpBranch %255
%256 = OpLabel
%278 = OpFunctionCall %void %mergeSort_
%281 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%282 = OpLoad %float %281
%283 = OpConvertFToS %int %282
%285 = OpSLessThan %bool %283 %int_30
OpSelectionMerge %286 None
OpBranchConditional %285 %287 %288
%287 = OpLabel
%289 = OpAccessChain %_ptr_Private_int %data %int_0
%290 = OpLoad %int %289
%292 = OpConvertSToF %float %290
%294 = OpFDiv %float %292 %float_10
%295 = OpFAdd %float %float_0_5 %294
OpStore %grey %295
OpBranch %286
%288 = OpLabel
%296 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%297 = OpLoad %float %296
%298 = OpConvertFToS %int %297
%300 = OpSLessThan %bool %298 %int_60
OpSelectionMerge %301 None
OpBranchConditional %300 %302 %303
%302 = OpLabel
%304 = OpAccessChain %_ptr_Private_int %data %int_1
%305 = OpLoad %int %304
%306 = OpConvertSToF %float %305
%307 = OpFDiv %float %306 %float_10
%308 = OpFAdd %float %float_0_5 %307
OpStore %grey %308
OpBranch %301
%303 = OpLabel
%309 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%310 = OpLoad %float %309
%311 = OpConvertFToS %int %310
%313 = OpSLessThan %bool %311 %int_90
OpSelectionMerge %314 None
OpBranchConditional %313 %315 %316
%315 = OpLabel
%317 = OpAccessChain %_ptr_Private_int %data %int_2
%318 = OpLoad %int %317
%319 = OpConvertSToF %float %318
%320 = OpFDiv %float %319 %float_10
%321 = OpFAdd %float %float_0_5 %320
OpStore %grey %321
OpBranch %314
%316 = OpLabel
%322 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%323 = OpLoad %float %322
%324 = OpConvertFToS %int %323
%326 = OpSLessThan %bool %324 %int_120
OpSelectionMerge %327 None
OpBranchConditional %326 %328 %329
%328 = OpLabel
%330 = OpAccessChain %_ptr_Private_int %data %int_3
%331 = OpLoad %int %330
%332 = OpConvertSToF %float %331
%333 = OpFDiv %float %332 %float_10
%334 = OpFAdd %float %float_0_5 %333
OpStore %grey %334
OpBranch %327
%329 = OpLabel
%335 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%336 = OpLoad %float %335
%337 = OpConvertFToS %int %336
%339 = OpSLessThan %bool %337 %int_150
OpSelectionMerge %340 None
OpBranchConditional %339 %341 %342
%341 = OpLabel
OpKill
%345 = OpLabel
%346 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%347 = OpLoad %float %346
%348 = OpConvertFToS %int %347
%350 = OpSLessThan %bool %348 %int_180
OpSelectionMerge %351 None
OpBranchConditional %350 %352 %353
%352 = OpLabel
%355 = OpAccessChain %_ptr_Private_int %data %int_5
%356 = OpLoad %int %355
%357 = OpConvertSToF %float %356
%358 = OpFDiv %float %357 %float_10
%359 = OpFAdd %float %float_0_5 %358
OpStore %grey %359
OpBranch %351
%353 = OpLabel
%360 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%361 = OpLoad %float %360
%362 = OpConvertFToS %int %361
%364 = OpSLessThan %bool %362 %int_210
OpSelectionMerge %365 None
OpBranchConditional %364 %366 %367
%366 = OpLabel
%369 = OpAccessChain %_ptr_Private_int %data %int_6
%370 = OpLoad %int %369
%371 = OpConvertSToF %float %370
%372 = OpFDiv %float %371 %float_10
%373 = OpFAdd %float %float_0_5 %372
OpStore %grey %373
OpBranch %365
%367 = OpLabel
%374 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%375 = OpLoad %float %374
%376 = OpConvertFToS %int %375
%378 = OpSLessThan %bool %376 %int_240
OpSelectionMerge %379 None
OpBranchConditional %378 %380 %381
%380 = OpLabel
%383 = OpAccessChain %_ptr_Private_int %data %int_7
%384 = OpLoad %int %383
%385 = OpConvertSToF %float %384
%386 = OpFDiv %float %385 %float_10
%387 = OpFAdd %float %float_0_5 %386
OpStore %grey %387
OpBranch %379
%381 = OpLabel
%388 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%389 = OpLoad %float %388
%342 = OpLabel
%343 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%344 = OpLoad %float %343
%345 = OpConvertFToS %int %344
%347 = OpSLessThan %bool %345 %int_180
OpSelectionMerge %348 None
OpBranchConditional %347 %349 %350
%349 = OpLabel
%352 = OpAccessChain %_ptr_Private_int %data %int_5
%353 = OpLoad %int %352
%354 = OpConvertSToF %float %353
%355 = OpFDiv %float %354 %float_10
%356 = OpFAdd %float %float_0_5 %355
OpStore %grey %356
OpBranch %348
%350 = OpLabel
%357 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%358 = OpLoad %float %357
%359 = OpConvertFToS %int %358
%361 = OpSLessThan %bool %359 %int_210
OpSelectionMerge %362 None
OpBranchConditional %361 %363 %364
%363 = OpLabel
%366 = OpAccessChain %_ptr_Private_int %data %int_6
%367 = OpLoad %int %366
%368 = OpConvertSToF %float %367
%369 = OpFDiv %float %368 %float_10
%370 = OpFAdd %float %float_0_5 %369
OpStore %grey %370
OpBranch %362
%364 = OpLabel
%371 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%372 = OpLoad %float %371
%373 = OpConvertFToS %int %372
%375 = OpSLessThan %bool %373 %int_240
OpSelectionMerge %376 None
OpBranchConditional %375 %377 %378
%377 = OpLabel
%380 = OpAccessChain %_ptr_Private_int %data %int_7
%381 = OpLoad %int %380
%382 = OpConvertSToF %float %381
%383 = OpFDiv %float %382 %float_10
%384 = OpFAdd %float %float_0_5 %383
OpStore %grey %384
OpBranch %376
%378 = OpLabel
%385 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%386 = OpLoad %float %385
OpStore %guard233 %true
%394 = OpConvertFToS %int %389
%396 = OpSLessThan %bool %394 %int_270
OpSelectionMerge %397 None
OpBranchConditional %396 %398 %399
%398 = OpLabel
%401 = OpAccessChain %_ptr_Private_int %data %int_8
%402 = OpLoad %int %401
%403 = OpConvertSToF %float %402
%404 = OpFDiv %float %403 %float_10
%405 = OpFAdd %float %float_0_5 %404
OpStore %grey %405
%391 = OpConvertFToS %int %386
%393 = OpSLessThan %bool %391 %int_270
OpSelectionMerge %394 None
OpBranchConditional %393 %395 %396
%395 = OpLabel
%398 = OpAccessChain %_ptr_Private_int %data %int_8
%399 = OpLoad %int %398
%400 = OpConvertSToF %float %399
%401 = OpFDiv %float %400 %float_10
%402 = OpFAdd %float %float_0_5 %401
OpStore %grey %402
OpStore %guard233 %false
OpBranch %397
%399 = OpLabel
%407 = OpLoad %bool %guard233
OpSelectionMerge %408 None
OpBranchConditional %407 %409 %408
%409 = OpLabel
%410 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_1
%411 = OpLoad %float %410
%414 = OpFOrdLessThan %bool %float_0 %411
%412 = OpLogicalNot %bool %414
OpBranch %394
%396 = OpLabel
%404 = OpLoad %bool %guard233
OpSelectionMerge %405 None
OpBranchConditional %404 %406 %405
%406 = OpLabel
%407 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_1
%408 = OpLoad %float %407
%411 = OpFOrdLessThan %bool %float_0 %408
%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
OpBranchConditional %412 %416 %415
OpBranchConditional %414 %416 %415
%416 = OpLabel
OpStore %guard233 %false
OpBranch %415
%415 = OpLabel
%417 = OpLoad %bool %guard233
OpSelectionMerge %418 None
OpBranchConditional %417 %419 %418
%419 = OpLabel
OpKill
%418 = OpLabel
OpBranch %408
%408 = OpLabel
OpBranch %397
%397 = OpLabel
OpBranch %379
%379 = OpLabel
OpBranch %365
%365 = OpLabel
OpBranch %351
%351 = OpLabel
OpBranch %343
%343 = OpLabel
OpBranch %330
%330 = OpLabel
OpBranch %317
%317 = OpLabel
OpBranch %304
%304 = OpLabel
OpBranch %289
%289 = OpLabel
%420 = OpLoad %float %grey
%422 = OpCompositeConstruct %v3float %420 %420 %420
%423 = OpCompositeExtract %float %422 0
%424 = OpCompositeExtract %float %422 1
%425 = OpCompositeExtract %float %422 2
%426 = OpCompositeConstruct %v4float %423 %424 %425 %float_1
OpStore %x_GLF_color %426
%415 = OpLabel
OpBranch %405
%405 = OpLabel
OpBranch %394
%394 = OpLabel
OpBranch %376
%376 = OpLabel
OpBranch %362
%362 = OpLabel
OpBranch %348
%348 = OpLabel
OpBranch %340
%340 = OpLabel
OpBranch %327
%327 = OpLabel
OpBranch %314
%314 = OpLabel
OpBranch %301
%301 = OpLabel
OpBranch %286
%286 = OpLabel
%417 = OpLoad %float %grey
%419 = OpCompositeConstruct %v3float %417 %417 %417
%420 = OpCompositeExtract %float %419 0
%421 = OpCompositeExtract %float %419 1
%422 = OpCompositeExtract %float %419 2
%423 = OpCompositeConstruct %v4float %420 %421 %422 %float_1
OpStore %x_GLF_color %423
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %427
%tint_symbol_3 = OpFunction %void None %424
%tint_symbol_1 = OpFunctionParameter %main_out
%431 = OpLabel
%432 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %432
%428 = OpLabel
%429 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %429
OpReturn
OpFunctionEnd
%main = OpFunction %void None %132
%434 = OpLabel
%435 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %435
%436 = OpFunctionCall %void %main_1
%438 = OpLoad %v4float %x_GLF_color
%439 = OpCompositeConstruct %main_out %438
%437 = OpFunctionCall %void %tint_symbol_3 %439
%431 = OpLabel
%432 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %432
%433 = OpFunctionCall %void %main_1
%435 = OpLoad %v4float %x_GLF_color
%436 = OpCompositeConstruct %main_out %435
%434 = OpFunctionCall %void %tint_symbol_3 %436
OpReturn
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
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 525
; Bound: 522
; Schema: 0
OpCapability Shader
%290 = OpExtInstImport "GLSL.std.450"
@ -140,7 +138,7 @@ SKIP: FAILED
%int_8 = OpConstant %int 8
%v3float = OpTypeVector %float 3
%main_out = OpTypeStruct %v4float
%512 = OpTypeFunction %void %main_out
%509 = OpTypeFunction %void %main_out
%merge_i1_i1_i1_ = OpFunction %void None %23
%from = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int
@ -648,217 +646,207 @@ SKIP: FAILED
%320 = OpLabel
%364 = OpLoad %int %i_3
%365 = OpSLessThan %bool %364 %int_10
OpSelectionMerge %366 None
OpBranchConditional %365 %367 %368
%367 = OpLabel
OpBranch %366
%368 = OpLabel
OpBranch %319
%366 = OpLabel
OpBranch %318
OpBranchConditional %365 %318 %319
%319 = OpLabel
OpStore %j_1 %int_0
OpBranch %366
%366 = OpLabel
OpLoopMerge %367 %368 None
OpBranch %369
%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
%374 = OpLabel
OpBranch %367
%372 = OpLabel
%373 = OpLoad %int %j_1
%374 = OpSLessThan %bool %373 %int_10
OpSelectionMerge %375 None
OpBranchConditional %374 %376 %377
%376 = OpLabel
OpBranch %375
%377 = OpLabel
OpBranch %370
%375 = OpLabel
%378 = OpLoad %int %j_1
%379 = OpLoad %int %j_1
%380 = OpAccessChain %_ptr_Private_int %data %379
%381 = OpLoad %int %380
%382 = OpAccessChain %_ptr_Private_int %temp %378
OpStore %382 %381
OpBranch %371
%371 = OpLabel
%383 = OpLoad %int %j_1
%384 = OpIAdd %int %383 %int_1
OpStore %j_1 %384
OpBranch %369
%370 = OpLabel
%385 = OpFunctionCall %void %mergeSort_
%387 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%388 = OpLoad %float %387
%389 = OpConvertFToS %int %388
%391 = OpSLessThan %bool %389 %int_30
OpSelectionMerge %392 None
OpBranchConditional %391 %393 %394
%393 = OpLabel
%395 = OpAccessChain %_ptr_Private_int %data %int_0
%396 = OpLoad %int %395
%398 = OpConvertSToF %float %396
%400 = OpFDiv %float %398 %float_10
%401 = OpFAdd %float %float_0_5 %400
OpStore %grey %401
OpBranch %392
%394 = OpLabel
%402 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%403 = OpLoad %float %402
%404 = OpConvertFToS %int %403
%406 = OpSLessThan %bool %404 %int_60
OpSelectionMerge %407 None
OpBranchConditional %406 %408 %409
%408 = OpLabel
%410 = OpAccessChain %_ptr_Private_int %data %int_1
%411 = OpLoad %int %410
%412 = OpConvertSToF %float %411
%413 = OpFDiv %float %412 %float_10
%414 = OpFAdd %float %float_0_5 %413
OpStore %grey %414
OpBranch %407
%409 = OpLabel
%415 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%416 = OpLoad %float %415
%417 = OpConvertFToS %int %416
%419 = OpSLessThan %bool %417 %int_90
OpSelectionMerge %420 None
OpBranchConditional %419 %421 %422
%421 = OpLabel
%423 = OpAccessChain %_ptr_Private_int %data %int_2
%424 = OpLoad %int %423
%425 = OpConvertSToF %float %424
%426 = OpFDiv %float %425 %float_10
%427 = OpFAdd %float %float_0_5 %426
OpStore %grey %427
OpBranch %420
%422 = OpLabel
%428 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%429 = OpLoad %float %428
%430 = OpConvertFToS %int %429
%432 = OpSLessThan %bool %430 %int_120
OpSelectionMerge %433 None
OpBranchConditional %432 %434 %435
%434 = OpLabel
%436 = OpAccessChain %_ptr_Private_int %data %int_3
%437 = OpLoad %int %436
%438 = OpConvertSToF %float %437
%439 = OpFDiv %float %438 %float_10
%440 = OpFAdd %float %float_0_5 %439
OpStore %grey %440
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
%375 = OpLoad %int %j_1
%376 = OpLoad %int %j_1
%377 = OpAccessChain %_ptr_Private_int %data %376
%378 = OpLoad %int %377
%379 = OpAccessChain %_ptr_Private_int %temp %375
OpStore %379 %378
OpBranch %368
%368 = OpLabel
%380 = OpLoad %int %j_1
%381 = OpIAdd %int %380 %int_1
OpStore %j_1 %381
OpBranch %366
%367 = OpLabel
%382 = OpFunctionCall %void %mergeSort_
%384 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%385 = OpLoad %float %384
%386 = OpConvertFToS %int %385
%388 = OpSLessThan %bool %386 %int_30
OpSelectionMerge %389 None
OpBranchConditional %388 %390 %391
%390 = OpLabel
%392 = OpAccessChain %_ptr_Private_int %data %int_0
%393 = OpLoad %int %392
%395 = OpConvertSToF %float %393
%397 = OpFDiv %float %395 %float_10
%398 = OpFAdd %float %float_0_5 %397
OpStore %grey %398
OpBranch %389
%391 = OpLabel
%399 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%400 = OpLoad %float %399
%401 = OpConvertFToS %int %400
%403 = OpSLessThan %bool %401 %int_60
OpSelectionMerge %404 None
OpBranchConditional %403 %405 %406
%405 = OpLabel
%407 = OpAccessChain %_ptr_Private_int %data %int_1
%408 = OpLoad %int %407
%409 = OpConvertSToF %float %408
%410 = OpFDiv %float %409 %float_10
%411 = OpFAdd %float %float_0_5 %410
OpStore %grey %411
OpBranch %404
%406 = OpLabel
%412 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%413 = OpLoad %float %412
%414 = OpConvertFToS %int %413
%416 = OpSLessThan %bool %414 %int_90
OpSelectionMerge %417 None
OpBranchConditional %416 %418 %419
%418 = OpLabel
%420 = OpAccessChain %_ptr_Private_int %data %int_2
%421 = OpLoad %int %420
%422 = OpConvertSToF %float %421
%423 = OpFDiv %float %422 %float_10
%424 = OpFAdd %float %float_0_5 %423
OpStore %grey %424
OpBranch %417
%419 = OpLabel
%425 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%426 = OpLoad %float %425
%427 = OpConvertFToS %int %426
%429 = OpSLessThan %bool %427 %int_120
OpSelectionMerge %430 None
OpBranchConditional %429 %431 %432
%431 = OpLabel
%433 = OpAccessChain %_ptr_Private_int %data %int_3
%434 = OpLoad %int %433
%435 = OpConvertSToF %float %434
%436 = OpFDiv %float %435 %float_10
%437 = OpFAdd %float %float_0_5 %436
OpStore %grey %437
OpBranch %430
%432 = OpLabel
%438 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%439 = OpLoad %float %438
%440 = OpConvertFToS %int %439
%442 = OpSLessThan %bool %440 %int_150
OpSelectionMerge %443 None
OpBranchConditional %442 %444 %445
%444 = OpLabel
OpKill
%448 = OpLabel
%449 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%450 = OpLoad %float %449
%451 = OpConvertFToS %int %450
%453 = OpSLessThan %bool %451 %int_180
OpSelectionMerge %454 None
OpBranchConditional %453 %455 %456
%455 = OpLabel
%458 = OpAccessChain %_ptr_Private_int %data %int_5
%459 = OpLoad %int %458
%460 = OpConvertSToF %float %459
%461 = OpFDiv %float %460 %float_10
%462 = OpFAdd %float %float_0_5 %461
OpStore %grey %462
OpBranch %454
%456 = OpLabel
%463 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%464 = OpLoad %float %463
%465 = OpConvertFToS %int %464
%467 = OpSLessThan %bool %465 %int_210
OpSelectionMerge %468 None
OpBranchConditional %467 %469 %470
%469 = OpLabel
%472 = OpAccessChain %_ptr_Private_int %data %int_6
%473 = OpLoad %int %472
%474 = OpConvertSToF %float %473
%475 = OpFDiv %float %474 %float_10
%476 = OpFAdd %float %float_0_5 %475
OpStore %grey %476
OpBranch %468
%470 = OpLabel
%477 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%478 = OpLoad %float %477
%479 = OpConvertFToS %int %478
%481 = OpSLessThan %bool %479 %int_240
OpSelectionMerge %482 None
OpBranchConditional %481 %483 %484
%483 = OpLabel
%486 = OpAccessChain %_ptr_Private_int %data %int_7
%487 = OpLoad %int %486
%488 = OpConvertSToF %float %487
%489 = OpFDiv %float %488 %float_10
%490 = OpFAdd %float %float_0_5 %489
OpStore %grey %490
OpBranch %482
%484 = OpLabel
%491 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%492 = OpLoad %float %491
%493 = OpConvertFToS %int %492
%495 = OpSLessThan %bool %493 %int_270
OpSelectionMerge %496 None
OpBranchConditional %495 %497 %498
%497 = OpLabel
%500 = OpAccessChain %_ptr_Private_int %data %int_8
%501 = OpLoad %int %500
%502 = OpConvertSToF %float %501
%503 = OpFDiv %float %502 %float_10
%504 = OpFAdd %float %float_0_5 %503
OpStore %grey %504
OpBranch %496
%498 = OpLabel
%445 = OpLabel
%446 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%447 = OpLoad %float %446
%448 = OpConvertFToS %int %447
%450 = OpSLessThan %bool %448 %int_180
OpSelectionMerge %451 None
OpBranchConditional %450 %452 %453
%452 = OpLabel
%455 = OpAccessChain %_ptr_Private_int %data %int_5
%456 = OpLoad %int %455
%457 = OpConvertSToF %float %456
%458 = OpFDiv %float %457 %float_10
%459 = OpFAdd %float %float_0_5 %458
OpStore %grey %459
OpBranch %451
%453 = OpLabel
%460 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%461 = OpLoad %float %460
%462 = OpConvertFToS %int %461
%464 = OpSLessThan %bool %462 %int_210
OpSelectionMerge %465 None
OpBranchConditional %464 %466 %467
%466 = OpLabel
%469 = OpAccessChain %_ptr_Private_int %data %int_6
%470 = OpLoad %int %469
%471 = OpConvertSToF %float %470
%472 = OpFDiv %float %471 %float_10
%473 = OpFAdd %float %float_0_5 %472
OpStore %grey %473
OpBranch %465
%467 = OpLabel
%474 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%475 = OpLoad %float %474
%476 = OpConvertFToS %int %475
%478 = OpSLessThan %bool %476 %int_240
OpSelectionMerge %479 None
OpBranchConditional %478 %480 %481
%480 = OpLabel
%483 = OpAccessChain %_ptr_Private_int %data %int_7
%484 = OpLoad %int %483
%485 = OpConvertSToF %float %484
%486 = OpFDiv %float %485 %float_10
%487 = OpFAdd %float %float_0_5 %486
OpStore %grey %487
OpBranch %479
%481 = OpLabel
%488 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
%489 = OpLoad %float %488
%490 = OpConvertFToS %int %489
%492 = OpSLessThan %bool %490 %int_270
OpSelectionMerge %493 None
OpBranchConditional %492 %494 %495
%494 = OpLabel
%497 = OpAccessChain %_ptr_Private_int %data %int_8
%498 = OpLoad %int %497
%499 = OpConvertSToF %float %498
%500 = OpFDiv %float %499 %float_10
%501 = OpFAdd %float %float_0_5 %500
OpStore %grey %501
OpBranch %493
%495 = OpLabel
OpKill
%496 = OpLabel
OpBranch %482
%482 = OpLabel
OpBranch %468
%468 = OpLabel
OpBranch %454
%454 = OpLabel
OpBranch %446
%446 = OpLabel
OpBranch %433
%433 = OpLabel
OpBranch %420
%420 = OpLabel
OpBranch %407
%407 = OpLabel
OpBranch %392
%392 = OpLabel
%505 = OpLoad %float %grey
%507 = OpCompositeConstruct %v3float %505 %505 %505
%508 = OpCompositeExtract %float %507 0
%509 = OpCompositeExtract %float %507 1
%510 = OpCompositeExtract %float %507 2
%511 = OpCompositeConstruct %v4float %508 %509 %510 %float_1
OpStore %x_GLF_color %511
%493 = OpLabel
OpBranch %479
%479 = OpLabel
OpBranch %465
%465 = OpLabel
OpBranch %451
%451 = OpLabel
OpBranch %443
%443 = OpLabel
OpBranch %430
%430 = OpLabel
OpBranch %417
%417 = OpLabel
OpBranch %404
%404 = OpLabel
OpBranch %389
%389 = OpLabel
%502 = OpLoad %float %grey
%504 = OpCompositeConstruct %v3float %502 %502 %502
%505 = OpCompositeExtract %float %504 0
%506 = OpCompositeExtract %float %504 1
%507 = OpCompositeExtract %float %504 2
%508 = OpCompositeConstruct %v4float %505 %506 %507 %float_1
OpStore %x_GLF_color %508
OpReturn
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %512
%tint_symbol_3 = OpFunction %void None %509
%tint_symbol_1 = OpFunctionParameter %main_out
%516 = OpLabel
%517 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %517
%513 = OpLabel
%514 = OpCompositeExtract %v4float %tint_symbol_1 0
OpStore %tint_symbol_2 %514
OpReturn
OpFunctionEnd
%main = OpFunction %void None %246
%519 = OpLabel
%520 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %520
%521 = OpFunctionCall %void %main_1
%523 = OpLoad %v4float %x_GLF_color
%524 = OpCompositeConstruct %main_out %523
%522 = OpFunctionCall %void %tint_symbol_3 %524
%516 = OpLabel
%517 = OpLoad %v4float %tint_symbol
OpStore %gl_FragCoord %517
%518 = OpFunctionCall %void %main_1
%520 = OpLoad %v4float %x_GLF_color
%521 = OpCompositeConstruct %main_out %520
%519 = OpFunctionCall %void %tint_symbol_3 %521
OpReturn
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