Update .out files with new loop SPIR-V.

Also update breakForLoop and call builder.closeLoop() in code
generation.

Remove dead code.

Change-Id: Ic8ce5b208530f8787989ef45a2efa405f1b45310
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 06ab094..e5e2169 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -142,7 +142,6 @@
     std::unordered_map<const glslang::TTypeList*, spv::Id> structMap;
     std::unordered_map<const glslang::TTypeList*, std::vector<int> > memberRemapper;  // for mapping glslang block indices to spv indices (e.g., due to hidden members)
     std::stack<bool> breakForLoop;  // false means break for switch
-    std::stack<glslang::TIntermTyped*> loopTerminal;  // code from the last part of a for loop: for(...; ...; terminal), needed for e.g., continue };
 };
 
 //
@@ -1354,10 +1353,12 @@
         builder.createLoopMerge(&blocks.merge, &blocks.continue_target, spv::LoopControlMaskNone);
         builder.createConditionalBranch(condition, &blocks.body, &blocks.merge);
 
+        breakForLoop.push(true);
         builder.setBuildPoint(&blocks.body);
         if (node->getBody())
             node->getBody()->traverse(this);
         builder.createBranch(&blocks.continue_target);
+        breakForLoop.pop();
 
         builder.setBuildPoint(&blocks.continue_target);
         if (node->getTerminal())
@@ -1366,10 +1367,12 @@
     } else {
         builder.createBranch(&blocks.body);
 
+        breakForLoop.push(true);
         builder.setBuildPoint(&blocks.body);
         if (node->getBody())
             node->getBody()->traverse(this);
         builder.createBranch(&blocks.continue_target);
+        breakForLoop.pop();
 
         builder.setBuildPoint(&blocks.continue_target);
         if (node->getTerminal())
@@ -1387,6 +1390,7 @@
     }
 
     builder.setBuildPoint(&blocks.merge);
+    builder.closeLoop();
     return false;
 }
 
@@ -1406,8 +1410,6 @@
             builder.addSwitchBreak();
         break;
     case glslang::EOpContinue:
-        if (loopTerminal.top())
-            loopTerminal.top()->traverse(this);
         builder.createLoopContinue();
         break;
     case glslang::EOpReturn:
diff --git a/Test/baseResults/spv.dataOutIndirect.vert.out b/Test/baseResults/spv.dataOutIndirect.vert.out
index 0b24b62..0efe656 100755
--- a/Test/baseResults/spv.dataOutIndirect.vert.out
+++ b/Test/baseResults/spv.dataOutIndirect.vert.out
@@ -1,71 +1,73 @@
-spv.dataOutIndirect.vert

-WARNING: 0:3: attribute deprecated in version 130; may be removed in future release

-WARNING: 0:4: varying deprecated in version 130; may be removed in future release

-

-

-Linked vertex stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 38

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Vertex 4  "main" 26 23 37

-                              Source GLSL 130

-                              Name 4  "main"

-                              Name 8  "i"

-                              Name 23  "colorOut"

-                              Name 26  "color"

-                              Name 32  "gl_Position"

-                              Name 37  "gl_VertexID"

-                              Decorate 32(gl_Position) BuiltIn Position

-                              Decorate 37(gl_VertexID) BuiltIn VertexId

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeInt 32 1

-               7:             TypePointer Function 6(int)

-               9:      6(int) Constant 1

-              14:      6(int) Constant 5

-              15:             TypeBool

-              17:             TypeFloat 32

-              18:             TypeVector 17(float) 4

-              19:             TypeInt 32 0

-              20:     19(int) Constant 6

-              21:             TypeArray 18(fvec4) 20

-              22:             TypePointer Output 21

-    23(colorOut):     22(ptr) Variable Output

-              25:             TypePointer Input 18(fvec4)

-       26(color):     25(ptr) Variable Input

-              28:             TypePointer Output 18(fvec4)

- 32(gl_Position):     28(ptr) Variable Output

-              33:      6(int) Constant 2

-              36:             TypePointer Input 6(int)

- 37(gl_VertexID):     36(ptr) Variable Input

-         4(main):           2 Function None 3

-               5:             Label

-            8(i):      7(ptr) Variable Function

-                              Store 8(i) 9

-                              Branch 10

-              10:             Label

-              13:      6(int) Load 8(i)

-              16:    15(bool) SLessThan 13 14

-                              LoopMerge 11 10 None

-                              BranchConditional 16 12 11

-              12:               Label

-              24:      6(int)   Load 8(i)

-              27:   18(fvec4)   Load 26(color)

-              29:     28(ptr)   AccessChain 23(colorOut) 24

-                                Store 29 27

-              30:      6(int)   Load 8(i)

-              31:      6(int)   IAdd 30 9

-                                Store 8(i) 31

-                                Branch 10

-              11:             Label

-              34:     28(ptr) AccessChain 23(colorOut) 33

-              35:   18(fvec4) Load 34

-                              Store 32(gl_Position) 35

-                              Return

-                              FunctionEnd

+spv.dataOutIndirect.vert
+WARNING: 0:3: attribute deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 39
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 27 24 38
+                              Source GLSL 130
+                              Name 4  "main"
+                              Name 8  "i"
+                              Name 24  "colorOut"
+                              Name 27  "color"
+                              Name 33  "gl_Position"
+                              Name 38  "gl_VertexID"
+                              Decorate 33(gl_Position) BuiltIn Position
+                              Decorate 38(gl_VertexID) BuiltIn VertexId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               9:      6(int) Constant 1
+              15:      6(int) Constant 5
+              16:             TypeBool
+              18:             TypeFloat 32
+              19:             TypeVector 18(float) 4
+              20:             TypeInt 32 0
+              21:     20(int) Constant 6
+              22:             TypeArray 19(fvec4) 21
+              23:             TypePointer Output 22
+    24(colorOut):     23(ptr) Variable Output
+              26:             TypePointer Input 19(fvec4)
+       27(color):     26(ptr) Variable Input
+              29:             TypePointer Output 19(fvec4)
+ 33(gl_Position):     29(ptr) Variable Output
+              34:      6(int) Constant 2
+              37:             TypePointer Input 6(int)
+ 38(gl_VertexID):     37(ptr) Variable Input
+         4(main):           2 Function None 3
+               5:             Label
+            8(i):      7(ptr) Variable Function
+                              Store 8(i) 9
+                              Branch 13
+              10:             Label
+              25:      6(int) Load 8(i)
+              28:   19(fvec4) Load 27(color)
+              30:     29(ptr) AccessChain 24(colorOut) 25
+                              Store 30 28
+                              Branch 12
+              11:             Label
+              35:     29(ptr) AccessChain 24(colorOut) 34
+              36:   19(fvec4) Load 35
+                              Store 33(gl_Position) 36
+                              Return
+              12:             Label
+              31:      6(int) Load 8(i)
+              32:      6(int) IAdd 31 9
+                              Store 8(i) 32
+                              Branch 13
+              13:             Label
+              14:      6(int) Load 8(i)
+              17:    16(bool) SLessThan 14 15
+                              LoopMerge 11 12 None
+                              BranchConditional 17 10 11
+                                FunctionEnd
diff --git a/Test/baseResults/spv.do-simple.vert.out b/Test/baseResults/spv.do-simple.vert.out
index 5da8827..694da83 100755
--- a/Test/baseResults/spv.do-simple.vert.out
+++ b/Test/baseResults/spv.do-simple.vert.out
@@ -5,56 +5,45 @@
 

 // Module Version 10000

 // Generated by (magic number): 80001

-// Id's are bound by 29

+// Id's are bound by 23

 

                               Capability Shader

                1:             ExtInstImport  "GLSL.std.450"

                               MemoryModel Logical GLSL450

-                              EntryPoint Vertex 4  "main" 27 28

+                              EntryPoint Vertex 4  "main" 21 22

                               Source ESSL 300

                               Name 4  "main"

                               Name 8  "i"

-                              Name 27  "gl_VertexID"

-                              Name 28  "gl_InstanceID"

-                              Decorate 27(gl_VertexID) BuiltIn VertexId

-                              Decorate 28(gl_InstanceID) BuiltIn InstanceId

+                              Name 21  "gl_VertexID"

+                              Name 22  "gl_InstanceID"

+                              Decorate 21(gl_VertexID) BuiltIn VertexId

+                              Decorate 22(gl_InstanceID) BuiltIn InstanceId

                2:             TypeVoid

                3:             TypeFunction 2

                6:             TypeInt 32 1

                7:             TypePointer Function 6(int)

                9:      6(int) Constant 0

-              14:             TypeBool

-              15:    14(bool) ConstantTrue

-              19:      6(int) Constant 10

-              23:      6(int) Constant 1

-              25:    14(bool) ConstantFalse

-              26:             TypePointer Input 6(int)

- 27(gl_VertexID):     26(ptr) Variable Input

-28(gl_InstanceID):     26(ptr) Variable Input

+              14:      6(int) Constant 1

+              17:      6(int) Constant 10

+              18:             TypeBool

+              20:             TypePointer Input 6(int)

+ 21(gl_VertexID):     20(ptr) Variable Input

+22(gl_InstanceID):     20(ptr) Variable Input

          4(main):           2 Function None 3

                5:             Label

             8(i):      7(ptr) Variable Function

                               Store 8(i) 9

                               Branch 10

               10:             Label

-              13:    14(bool) Phi 15 5 25 12

-                              LoopMerge 11 10 None

-                              Branch 16

-              16:             Label

-                              SelectionMerge 12 None

-                              BranchConditional 13 12 17

-              17:               Label

-              18:      6(int)   Load 8(i)

-              20:    14(bool)   SLessThan 18 19

-                                SelectionMerge 21 None

-                                BranchConditional 20 21 11

-              21:               Label

-                                Branch 12

-              12:             Label

-              22:      6(int) Load 8(i)

-              24:      6(int) IAdd 22 23

-                              Store 8(i) 24

-                              Branch 10

+              13:      6(int) Load 8(i)

+              15:      6(int) IAdd 13 14

+                              Store 8(i) 15

+                              Branch 12

               11:             Label

                               Return

-                              FunctionEnd

+              12:             Label

+              16:      6(int) Load 8(i)

+              19:    18(bool) SLessThan 16 17

+                              LoopMerge 11 12 None

+                              BranchConditional 19 10 11

+                                FunctionEnd

diff --git a/Test/baseResults/spv.do-while-continue-break.vert.out b/Test/baseResults/spv.do-while-continue-break.vert.out
index f148d51..c70c28d 100755
--- a/Test/baseResults/spv.do-while-continue-break.vert.out
+++ b/Test/baseResults/spv.do-while-continue-break.vert.out
@@ -1,104 +1,93 @@
-spv.do-while-continue-break.vert

-

-Linked vertex stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 51

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Vertex 4  "main" 49 50

-                              Source ESSL 300

-                              Name 4  "main"

-                              Name 8  "i"

-                              Name 24  "A"

-                              Name 30  "B"

-                              Name 33  "C"

-                              Name 39  "D"

-                              Name 42  "E"

-                              Name 44  "F"

-                              Name 46  "G"

-                              Name 49  "gl_VertexID"

-                              Name 50  "gl_InstanceID"

-                              Decorate 49(gl_VertexID) BuiltIn VertexId

-                              Decorate 50(gl_InstanceID) BuiltIn InstanceId

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeInt 32 1

-               7:             TypePointer Function 6(int)

-               9:      6(int) Constant 0

-              14:             TypeBool

-              15:    14(bool) ConstantTrue

-              19:      6(int) Constant 1

-              21:      6(int) Constant 19

-              26:      6(int) Constant 2

-              31:    14(bool) ConstantFalse

-              35:      6(int) Constant 5

-              40:      6(int) Constant 3

-              43:      6(int) Constant 42

-              45:      6(int) Constant 99

-              47:      6(int) Constant 12

-              48:             TypePointer Input 6(int)

- 49(gl_VertexID):     48(ptr) Variable Input

-50(gl_InstanceID):     48(ptr) Variable Input

-         4(main):           2 Function None 3

-               5:             Label

-            8(i):      7(ptr) Variable Function

-           24(A):      7(ptr) Variable Function

-           30(B):      7(ptr) Variable Function

-           33(C):      7(ptr) Variable Function

-           39(D):      7(ptr) Variable Function

-           42(E):      7(ptr) Variable Function

-           44(F):      7(ptr) Variable Function

-           46(G):      7(ptr) Variable Function

-                              Store 8(i) 9

-                              Branch 10

-              10:             Label

-              13:    14(bool) Phi 15 5 31 28 31 38

-                              LoopMerge 11 10 None

-                              Branch 16

-              16:             Label

-                              SelectionMerge 12 None

-                              BranchConditional 13 12 17

-              17:               Label

-              18:      6(int)   Load 8(i)

-              20:      6(int)   IAdd 18 19

-                                Store 8(i) 20

-              22:    14(bool)   SLessThan 20 21

-                                SelectionMerge 23 None

-                                BranchConditional 22 23 11

-              23:               Label

-                                Branch 12

-              12:             Label

-                              Store 24(A) 9

-              25:      6(int) Load 8(i)

-              27:    14(bool) IEqual 25 26

-                              SelectionMerge 29 None

-                              BranchConditional 27 28 29

-              28:               Label

-                                Store 30(B) 19

-                                Branch 10

-              32:               Label

-                                Store 33(C) 26

-                                Branch 29

-              29:             Label

-              34:      6(int) Load 8(i)

-              36:    14(bool) IEqual 34 35

-                              SelectionMerge 38 None

-                              BranchConditional 36 37 38

-              37:               Label

-                                Store 39(D) 40

-                                Branch 11

-              41:               Label

-                                Store 42(E) 43

-                                Branch 38

-              38:             Label

-                              Store 44(F) 45

-                              Branch 10

-              11:             Label

-                              Store 46(G) 47

-                              Return

-                              FunctionEnd

+spv.do-while-continue-break.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 45
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 43 44
+                              Source ESSL 300
+                              Name 4  "main"
+                              Name 8  "i"
+                              Name 13  "A"
+                              Name 20  "B"
+                              Name 23  "C"
+                              Name 29  "D"
+                              Name 32  "E"
+                              Name 34  "F"
+                              Name 40  "G"
+                              Name 43  "gl_VertexID"
+                              Name 44  "gl_InstanceID"
+                              Decorate 43(gl_VertexID) BuiltIn VertexId
+                              Decorate 44(gl_InstanceID) BuiltIn InstanceId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               9:      6(int) Constant 0
+              15:      6(int) Constant 2
+              16:             TypeBool
+              21:      6(int) Constant 1
+              25:      6(int) Constant 5
+              30:      6(int) Constant 3
+              33:      6(int) Constant 42
+              35:      6(int) Constant 99
+              38:      6(int) Constant 19
+              41:      6(int) Constant 12
+              42:             TypePointer Input 6(int)
+ 43(gl_VertexID):     42(ptr) Variable Input
+44(gl_InstanceID):     42(ptr) Variable Input
+         4(main):           2 Function None 3
+               5:             Label
+            8(i):      7(ptr) Variable Function
+           13(A):      7(ptr) Variable Function
+           20(B):      7(ptr) Variable Function
+           23(C):      7(ptr) Variable Function
+           29(D):      7(ptr) Variable Function
+           32(E):      7(ptr) Variable Function
+           34(F):      7(ptr) Variable Function
+           40(G):      7(ptr) Variable Function
+                              Store 8(i) 9
+                              Branch 10
+              10:             Label
+                              Store 13(A) 9
+              14:      6(int) Load 8(i)
+              17:    16(bool) IEqual 14 15
+                              SelectionMerge 19 None
+                              BranchConditional 17 18 19
+              11:               Label
+                                Store 40(G) 41
+                                Return
+              12:               Label
+              36:      6(int)   Load 8(i)
+              37:      6(int)   IAdd 36 21
+                                Store 8(i) 37
+              39:    16(bool)   SLessThan 37 38
+                                LoopMerge 11 12 None
+                                BranchConditional 39 10 11
+              18:                 Label
+                                  Store 20(B) 21
+                                  Branch 12
+              22:                 Label
+                                  Store 23(C) 15
+                                  Branch 19
+              19:                 Label
+              24:      6(int)     Load 8(i)
+              26:    16(bool)     IEqual 24 25
+                                  SelectionMerge 28 None
+                                  BranchConditional 26 27 28
+              27:                   Label
+                                    Store 29(D) 30
+                                    Branch 11
+              31:                   Label
+                                    Store 32(E) 33
+                                    Branch 28
+              28:                 Label
+                                  Store 34(F) 35
+                                  Branch 12
+                                  FunctionEnd
diff --git a/Test/baseResults/spv.doWhileLoop.frag.out b/Test/baseResults/spv.doWhileLoop.frag.out
index d33fb8b..64d0581 100755
--- a/Test/baseResults/spv.doWhileLoop.frag.out
+++ b/Test/baseResults/spv.doWhileLoop.frag.out
@@ -1,73 +1,62 @@
-spv.doWhileLoop.frag

-

-Linked fragment stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 40

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Fragment 4  "main" 11

-                              ExecutionMode 4 OriginLowerLeft

-                              Source GLSL 110

-                              Name 4  "main"

-                              Name 9  "color"

-                              Name 11  "BaseColor"

-                              Name 27  "d"

-                              Name 32  "bigColor"

-                              Name 38  "gl_FragColor"

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeFloat 32

-               7:             TypeVector 6(float) 4

-               8:             TypePointer Function 7(fvec4)

-              10:             TypePointer Input 7(fvec4)

-   11(BaseColor):     10(ptr) Variable Input

-              17:             TypeBool

-              18:    17(bool) ConstantTrue

-              21:             TypeInt 32 0

-              22:     21(int) Constant 0

-              23:             TypePointer Function 6(float)

-              26:             TypePointer UniformConstant 6(float)

-           27(d):     26(ptr) Variable UniformConstant

-              31:             TypePointer UniformConstant 7(fvec4)

-    32(bigColor):     31(ptr) Variable UniformConstant

-              36:    17(bool) ConstantFalse

-              37:             TypePointer Output 7(fvec4)

-38(gl_FragColor):     37(ptr) Variable Output

-         4(main):           2 Function None 3

-               5:             Label

-        9(color):      8(ptr) Variable Function

-              12:    7(fvec4) Load 11(BaseColor)

-                              Store 9(color) 12

-                              Branch 13

-              13:             Label

-              16:    17(bool) Phi 18 5 36 15

-                              LoopMerge 14 13 None

-                              Branch 19

-              19:             Label

-                              SelectionMerge 15 None

-                              BranchConditional 16 15 20

-              20:               Label

-              24:     23(ptr)   AccessChain 9(color) 22

-              25:    6(float)   Load 24

-              28:    6(float)   Load 27(d)

-              29:    17(bool)   FOrdLessThan 25 28

-                                SelectionMerge 30 None

-                                BranchConditional 29 30 14

-              30:               Label

-                                Branch 15

-              15:             Label

-              33:    7(fvec4) Load 32(bigColor)

-              34:    7(fvec4) Load 9(color)

-              35:    7(fvec4) FAdd 34 33

-                              Store 9(color) 35

-                              Branch 13

-              14:             Label

-              39:    7(fvec4) Load 9(color)

-                              Store 38(gl_FragColor) 39

-                              Return

-                              FunctionEnd

+spv.doWhileLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 34
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 11
+                              ExecutionMode 4 OriginLowerLeft
+                              Source GLSL 110
+                              Name 4  "main"
+                              Name 9  "color"
+                              Name 11  "BaseColor"
+                              Name 17  "bigColor"
+                              Name 27  "d"
+                              Name 32  "gl_FragColor"
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+              10:             TypePointer Input 7(fvec4)
+   11(BaseColor):     10(ptr) Variable Input
+              16:             TypePointer UniformConstant 7(fvec4)
+    17(bigColor):     16(ptr) Variable UniformConstant
+              21:             TypeInt 32 0
+              22:     21(int) Constant 0
+              23:             TypePointer Function 6(float)
+              26:             TypePointer UniformConstant 6(float)
+           27(d):     26(ptr) Variable UniformConstant
+              29:             TypeBool
+              31:             TypePointer Output 7(fvec4)
+32(gl_FragColor):     31(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+        9(color):      8(ptr) Variable Function
+              12:    7(fvec4) Load 11(BaseColor)
+                              Store 9(color) 12
+                              Branch 13
+              13:             Label
+              18:    7(fvec4) Load 17(bigColor)
+              19:    7(fvec4) Load 9(color)
+              20:    7(fvec4) FAdd 19 18
+                              Store 9(color) 20
+                              Branch 15
+              14:             Label
+              33:    7(fvec4) Load 9(color)
+                              Store 32(gl_FragColor) 33
+                              Return
+              15:             Label
+              24:     23(ptr) AccessChain 9(color) 22
+              25:    6(float) Load 24
+              28:    6(float) Load 27(d)
+              30:    29(bool) FOrdLessThan 25 28
+                              LoopMerge 14 15 None
+                              BranchConditional 30 13 14
+                                FunctionEnd
diff --git a/Test/baseResults/spv.for-continue-break.vert.out b/Test/baseResults/spv.for-continue-break.vert.out
index eac3ddb..df2acab 100755
--- a/Test/baseResults/spv.for-continue-break.vert.out
+++ b/Test/baseResults/spv.for-continue-break.vert.out
@@ -1,97 +1,96 @@
-spv.for-continue-break.vert

-

-Linked vertex stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 48

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Vertex 4  "main" 46 47

-                              Source ESSL 300

-                              Name 4  "main"

-                              Name 8  "i"

-                              Name 17  "A"

-                              Name 25  "B"

-                              Name 29  "C"

-                              Name 36  "D"

-                              Name 38  "E"

-                              Name 39  "F"

-                              Name 43  "G"

-                              Name 46  "gl_VertexID"

-                              Name 47  "gl_InstanceID"

-                              Decorate 46(gl_VertexID) BuiltIn VertexId

-                              Decorate 47(gl_InstanceID) BuiltIn InstanceId

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeInt 32 1

-               7:             TypePointer Function 6(int)

-               9:      6(int) Constant 0

-              14:      6(int) Constant 10

-              15:             TypeBool

-              18:      6(int) Constant 1

-              20:      6(int) Constant 2

-              31:      6(int) Constant 3

-              40:      6(int) Constant 12

-              44:      6(int) Constant 99

-              45:             TypePointer Input 6(int)

- 46(gl_VertexID):     45(ptr) Variable Input

-47(gl_InstanceID):     45(ptr) Variable Input

-         4(main):           2 Function None 3

-               5:             Label

-            8(i):      7(ptr) Variable Function

-           17(A):      7(ptr) Variable Function

-           25(B):      7(ptr) Variable Function

-           29(C):      7(ptr) Variable Function

-           36(D):      7(ptr) Variable Function

-           38(E):      7(ptr) Variable Function

-           39(F):      7(ptr) Variable Function

-           43(G):      7(ptr) Variable Function

-                              Store 8(i) 9

-                              Branch 10

-              10:             Label

-              13:      6(int) Load 8(i)

-              16:    15(bool) SLessThan 13 14

-                              LoopMerge 11 10 None

-                              BranchConditional 16 12 11

-              12:               Label

-                                Store 17(A) 18

-              19:      6(int)   Load 8(i)

-              21:      6(int)   SMod 19 20

-              22:    15(bool)   IEqual 21 9

-                                SelectionMerge 24 None

-                                BranchConditional 22 23 24

-              23:                 Label

-                                  Store 25(B) 18

-              26:      6(int)     Load 8(i)

-              27:      6(int)     IAdd 26 18

-                                  Store 8(i) 27

-                                  Branch 10

-              28:                 Label

-                                  Store 29(C) 18

-                                  Branch 24

-              24:               Label

-              30:      6(int)   Load 8(i)

-              32:      6(int)   SMod 30 31

-              33:    15(bool)   IEqual 32 9

-                                SelectionMerge 35 None

-                                BranchConditional 33 34 35

-              34:                 Label

-                                  Store 36(D) 18

-                                  Branch 11

-              37:                 Label

-                                  Store 38(E) 18

-                                  Branch 35

-              35:               Label

-                                Store 39(F) 40

-              41:      6(int)   Load 8(i)

-              42:      6(int)   IAdd 41 18

-                                Store 8(i) 42

-                                Branch 10

-              11:             Label

-                              Store 43(G) 44

-                              Return

-                              FunctionEnd

+spv.for-continue-break.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 47
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 45 46
+                              Source ESSL 300
+                              Name 4  "main"
+                              Name 8  "i"
+                              Name 18  "A"
+                              Name 26  "B"
+                              Name 28  "C"
+                              Name 35  "D"
+                              Name 37  "E"
+                              Name 38  "F"
+                              Name 42  "G"
+                              Name 45  "gl_VertexID"
+                              Name 46  "gl_InstanceID"
+                              Decorate 45(gl_VertexID) BuiltIn VertexId
+                              Decorate 46(gl_InstanceID) BuiltIn InstanceId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               9:      6(int) Constant 0
+              15:      6(int) Constant 10
+              16:             TypeBool
+              19:      6(int) Constant 1
+              21:      6(int) Constant 2
+              30:      6(int) Constant 3
+              39:      6(int) Constant 12
+              43:      6(int) Constant 99
+              44:             TypePointer Input 6(int)
+ 45(gl_VertexID):     44(ptr) Variable Input
+46(gl_InstanceID):     44(ptr) Variable Input
+         4(main):           2 Function None 3
+               5:             Label
+            8(i):      7(ptr) Variable Function
+           18(A):      7(ptr) Variable Function
+           26(B):      7(ptr) Variable Function
+           28(C):      7(ptr) Variable Function
+           35(D):      7(ptr) Variable Function
+           37(E):      7(ptr) Variable Function
+           38(F):      7(ptr) Variable Function
+           42(G):      7(ptr) Variable Function
+                              Store 8(i) 9
+                              Branch 13
+              10:             Label
+                              Store 18(A) 19
+              20:      6(int) Load 8(i)
+              22:      6(int) SMod 20 21
+              23:    16(bool) IEqual 22 9
+                              SelectionMerge 25 None
+                              BranchConditional 23 24 25
+              11:               Label
+                                Store 42(G) 43
+                                Return
+              12:               Label
+              40:      6(int)   Load 8(i)
+              41:      6(int)   IAdd 40 19
+                                Store 8(i) 41
+                                Branch 13
+              13:               Label
+              14:      6(int)   Load 8(i)
+              17:    16(bool)   SLessThan 14 15
+                                LoopMerge 11 12 None
+                                BranchConditional 17 10 11
+              24:                 Label
+                                  Store 26(B) 19
+                                  Branch 12
+              27:                 Label
+                                  Store 28(C) 19
+                                  Branch 25
+              25:                 Label
+              29:      6(int)     Load 8(i)
+              31:      6(int)     SMod 29 30
+              32:    16(bool)     IEqual 31 9
+                                  SelectionMerge 34 None
+                                  BranchConditional 32 33 34
+              33:                   Label
+                                    Store 35(D) 19
+                                    Branch 11
+              36:                   Label
+                                    Store 37(E) 19
+                                    Branch 34
+              34:                 Label
+                                  Store 38(F) 39
+                                  Branch 12
+                                  FunctionEnd
diff --git a/Test/baseResults/spv.forLoop.frag.out b/Test/baseResults/spv.forLoop.frag.out
index 1be209b..3e4cb28 100755
--- a/Test/baseResults/spv.forLoop.frag.out
+++ b/Test/baseResults/spv.forLoop.frag.out
@@ -1,194 +1,204 @@
-spv.forLoop.frag

-

-Linked fragment stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 122

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Fragment 4  "main" 11 97

-                              ExecutionMode 4 OriginLowerLeft

-                              Source GLSL 130

-                              Name 4  "main"

-                              Name 9  "color"

-                              Name 11  "BaseColor"

-                              Name 15  "i"

-                              Name 22  "Count"

-                              Name 27  "bigColor"

-                              Name 35  "gl_FragColor"

-                              Name 38  "sum"

-                              Name 40  "i"

-                              Name 50  "v4"

-                              Name 60  "i"

-                              Name 66  "tv4"

-                              Name 83  "r"

-                              Name 89  "i"

-                              Name 97  "f"

-                              Name 110  "i"

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeFloat 32

-               7:             TypeVector 6(float) 4

-               8:             TypePointer Function 7(fvec4)

-              10:             TypePointer Input 7(fvec4)

-   11(BaseColor):     10(ptr) Variable Input

-              13:             TypeInt 32 1

-              14:             TypePointer Function 13(int)

-              16:     13(int) Constant 0

-              21:             TypePointer UniformConstant 13(int)

-       22(Count):     21(ptr) Variable UniformConstant

-              24:             TypeBool

-              26:             TypePointer UniformConstant 7(fvec4)

-    27(bigColor):     26(ptr) Variable UniformConstant

-              32:     13(int) Constant 1

-              34:             TypePointer Output 7(fvec4)

-35(gl_FragColor):     34(ptr) Variable Output

-              37:             TypePointer Function 6(float)

-              39:    6(float) Constant 0

-              45:     13(int) Constant 4

-              47:             TypeInt 32 0

-              48:             TypeVector 47(int) 4

-              49:             TypePointer UniformConstant 48(ivec4)

-          50(v4):     49(ptr) Variable UniformConstant

-              52:             TypePointer UniformConstant 47(int)

-              71:     47(int) Constant 4

-              84:             TypeVector 6(float) 3

-              96:             TypePointer Input 6(float)

-           97(f):     96(ptr) Variable Input

-              99:     47(int) Constant 3

-             115:     13(int) Constant 16

-         4(main):           2 Function None 3

-               5:             Label

-        9(color):      8(ptr) Variable Function

-           15(i):     14(ptr) Variable Function

-         38(sum):     37(ptr) Variable Function

-           40(i):     14(ptr) Variable Function

-           60(i):     14(ptr) Variable Function

-         66(tv4):      8(ptr) Variable Function

-           83(r):      8(ptr) Variable Function

-           89(i):     14(ptr) Variable Function

-          110(i):     14(ptr) Variable Function

-              12:    7(fvec4) Load 11(BaseColor)

-                              Store 9(color) 12

-                              Store 15(i) 16

-                              Branch 17

-              17:             Label

-              20:     13(int) Load 15(i)

-              23:     13(int) Load 22(Count)

-              25:    24(bool) SLessThan 20 23

-                              LoopMerge 18 17 None

-                              BranchConditional 25 19 18

-              19:               Label

-              28:    7(fvec4)   Load 27(bigColor)

-              29:    7(fvec4)   Load 9(color)

-              30:    7(fvec4)   FAdd 29 28

-                                Store 9(color) 30

-              31:     13(int)   Load 15(i)

-              33:     13(int)   IAdd 31 32

-                                Store 15(i) 33

-                                Branch 17

-              18:             Label

-              36:    7(fvec4) Load 9(color)

-                              Store 35(gl_FragColor) 36

-                              Store 38(sum) 39

-                              Store 40(i) 16

-                              Branch 41

-              41:             Label

-              44:     13(int) Load 40(i)

-              46:    24(bool) SLessThan 44 45

-                              LoopMerge 42 41 None

-                              BranchConditional 46 43 42

-              43:               Label

-              51:     13(int)   Load 40(i)

-              53:     52(ptr)   AccessChain 50(v4) 51

-              54:     47(int)   Load 53

-              55:    6(float)   ConvertUToF 54

-              56:    6(float)   Load 38(sum)

-              57:    6(float)   FAdd 56 55

-                                Store 38(sum) 57

-              58:     13(int)   Load 40(i)

-              59:     13(int)   IAdd 58 32

-                                Store 40(i) 59

-                                Branch 41

-              42:             Label

-                              Store 60(i) 16

-                              Branch 61

-              61:             Label

-              64:     13(int) Load 60(i)

-              65:    24(bool) SLessThan 64 45

-                              LoopMerge 62 61 None

-                              BranchConditional 65 63 62

-              63:               Label

-              67:     13(int)   Load 60(i)

-              68:     13(int)   Load 60(i)

-              69:     52(ptr)   AccessChain 50(v4) 68

-              70:     47(int)   Load 69

-              72:     47(int)   IMul 70 71

-              73:    6(float)   ConvertUToF 72

-              74:     37(ptr)   AccessChain 66(tv4) 67

-                                Store 74 73

-              75:     13(int)   Load 60(i)

-              76:     13(int)   IAdd 75 32

-                                Store 60(i) 76

-                                Branch 61

-              62:             Label

-              77:    6(float) Load 38(sum)

-              78:    7(fvec4) CompositeConstruct 77 77 77 77

-              79:    7(fvec4) Load 66(tv4)

-              80:    7(fvec4) FAdd 78 79

-              81:    7(fvec4) Load 35(gl_FragColor)

-              82:    7(fvec4) FAdd 81 80

-                              Store 35(gl_FragColor) 82

-              85:    7(fvec4) Load 11(BaseColor)

-              86:   84(fvec3) VectorShuffle 85 85 0 1 2

-              87:    7(fvec4) Load 83(r)

-              88:    7(fvec4) VectorShuffle 87 86 4 5 6 3

-                              Store 83(r) 88

-                              Store 89(i) 16

-                              Branch 90

-              90:             Label

-              93:     13(int) Load 89(i)

-              94:     13(int) Load 22(Count)

-              95:    24(bool) SLessThan 93 94

-                              LoopMerge 91 90 None

-                              BranchConditional 95 92 91

-              92:               Label

-              98:    6(float)   Load 97(f)

-             100:     37(ptr)   AccessChain 83(r) 99

-                                Store 100 98

-             101:     13(int)   Load 89(i)

-             102:     13(int)   IAdd 101 32

-                                Store 89(i) 102

-                                Branch 90

-              91:             Label

-             103:    7(fvec4) Load 83(r)

-             104:   84(fvec3) VectorShuffle 103 103 0 1 2

-             105:    7(fvec4) Load 35(gl_FragColor)

-             106:   84(fvec3) VectorShuffle 105 105 0 1 2

-             107:   84(fvec3) FAdd 106 104

-             108:    7(fvec4) Load 35(gl_FragColor)

-             109:    7(fvec4) VectorShuffle 108 107 4 5 6 3

-                              Store 35(gl_FragColor) 109

-                              Store 110(i) 16

-                              Branch 111

-             111:             Label

-             114:     13(int) Load 110(i)

-             116:    24(bool) SLessThan 114 115

-                              LoopMerge 112 111 None

-                              BranchConditional 116 113 112

-             113:               Label

-             117:    6(float)   Load 97(f)

-             118:    7(fvec4)   Load 35(gl_FragColor)

-             119:    7(fvec4)   VectorTimesScalar 118 117

-                                Store 35(gl_FragColor) 119

-             120:     13(int)   Load 110(i)

-             121:     13(int)   IAdd 120 45

-                                Store 110(i) 121

-                                Branch 111

-             112:             Label

-                              Return

-                              FunctionEnd

+spv.forLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 127
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 11 101
+                              ExecutionMode 4 OriginLowerLeft
+                              Source GLSL 130
+                              Name 4  "main"
+                              Name 9  "color"
+                              Name 11  "BaseColor"
+                              Name 15  "i"
+                              Name 23  "Count"
+                              Name 28  "bigColor"
+                              Name 36  "gl_FragColor"
+                              Name 39  "sum"
+                              Name 41  "i"
+                              Name 52  "v4"
+                              Name 62  "i"
+                              Name 69  "tv4"
+                              Name 86  "r"
+                              Name 92  "i"
+                              Name 101  "f"
+                              Name 114  "i"
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+              10:             TypePointer Input 7(fvec4)
+   11(BaseColor):     10(ptr) Variable Input
+              13:             TypeInt 32 1
+              14:             TypePointer Function 13(int)
+              16:     13(int) Constant 0
+              22:             TypePointer UniformConstant 13(int)
+       23(Count):     22(ptr) Variable UniformConstant
+              25:             TypeBool
+              27:             TypePointer UniformConstant 7(fvec4)
+    28(bigColor):     27(ptr) Variable UniformConstant
+              33:     13(int) Constant 1
+              35:             TypePointer Output 7(fvec4)
+36(gl_FragColor):     35(ptr) Variable Output
+              38:             TypePointer Function 6(float)
+              40:    6(float) Constant 0
+              47:     13(int) Constant 4
+              49:             TypeInt 32 0
+              50:             TypeVector 49(int) 4
+              51:             TypePointer UniformConstant 50(ivec4)
+          52(v4):     51(ptr) Variable UniformConstant
+              54:             TypePointer UniformConstant 49(int)
+              74:     49(int) Constant 4
+              87:             TypeVector 6(float) 3
+             100:             TypePointer Input 6(float)
+          101(f):    100(ptr) Variable Input
+             103:     49(int) Constant 3
+             120:     13(int) Constant 16
+         4(main):           2 Function None 3
+               5:             Label
+        9(color):      8(ptr) Variable Function
+           15(i):     14(ptr) Variable Function
+         39(sum):     38(ptr) Variable Function
+           41(i):     14(ptr) Variable Function
+           62(i):     14(ptr) Variable Function
+         69(tv4):      8(ptr) Variable Function
+           86(r):      8(ptr) Variable Function
+           92(i):     14(ptr) Variable Function
+          114(i):     14(ptr) Variable Function
+              12:    7(fvec4) Load 11(BaseColor)
+                              Store 9(color) 12
+                              Store 15(i) 16
+                              Branch 20
+              17:             Label
+              29:    7(fvec4) Load 28(bigColor)
+              30:    7(fvec4) Load 9(color)
+              31:    7(fvec4) FAdd 30 29
+                              Store 9(color) 31
+                              Branch 19
+              18:             Label
+              37:    7(fvec4) Load 9(color)
+                              Store 36(gl_FragColor) 37
+                              Store 39(sum) 40
+                              Store 41(i) 16
+                              Branch 45
+              19:             Label
+              32:     13(int) Load 15(i)
+              34:     13(int) IAdd 32 33
+                              Store 15(i) 34
+                              Branch 20
+              20:             Label
+              21:     13(int) Load 15(i)
+              24:     13(int) Load 23(Count)
+              26:    25(bool) SLessThan 21 24
+                              LoopMerge 18 19 None
+                              BranchConditional 26 17 18
+              42:               Label
+              53:     13(int)   Load 41(i)
+              55:     54(ptr)   AccessChain 52(v4) 53
+              56:     49(int)   Load 55
+              57:    6(float)   ConvertUToF 56
+              58:    6(float)   Load 39(sum)
+              59:    6(float)   FAdd 58 57
+                                Store 39(sum) 59
+                                Branch 44
+              43:               Label
+                                Store 62(i) 16
+                                Branch 66
+              44:               Label
+              60:     13(int)   Load 41(i)
+              61:     13(int)   IAdd 60 33
+                                Store 41(i) 61
+                                Branch 45
+              45:               Label
+              46:     13(int)   Load 41(i)
+              48:    25(bool)   SLessThan 46 47
+                                LoopMerge 43 44 None
+                                BranchConditional 48 42 43
+              63:                 Label
+              70:     13(int)     Load 62(i)
+              71:     13(int)     Load 62(i)
+              72:     54(ptr)     AccessChain 52(v4) 71
+              73:     49(int)     Load 72
+              75:     49(int)     IMul 73 74
+              76:    6(float)     ConvertUToF 75
+              77:     38(ptr)     AccessChain 69(tv4) 70
+                                  Store 77 76
+                                  Branch 65
+              64:                 Label
+              80:    6(float)     Load 39(sum)
+              81:    7(fvec4)     CompositeConstruct 80 80 80 80
+              82:    7(fvec4)     Load 69(tv4)
+              83:    7(fvec4)     FAdd 81 82
+              84:    7(fvec4)     Load 36(gl_FragColor)
+              85:    7(fvec4)     FAdd 84 83
+                                  Store 36(gl_FragColor) 85
+              88:    7(fvec4)     Load 11(BaseColor)
+              89:   87(fvec3)     VectorShuffle 88 88 0 1 2
+              90:    7(fvec4)     Load 86(r)
+              91:    7(fvec4)     VectorShuffle 90 89 4 5 6 3
+                                  Store 86(r) 91
+                                  Store 92(i) 16
+                                  Branch 96
+              65:                 Label
+              78:     13(int)     Load 62(i)
+              79:     13(int)     IAdd 78 33
+                                  Store 62(i) 79
+                                  Branch 66
+              66:                 Label
+              67:     13(int)     Load 62(i)
+              68:    25(bool)     SLessThan 67 47
+                                  LoopMerge 64 65 None
+                                  BranchConditional 68 63 64
+              93:                   Label
+             102:    6(float)       Load 101(f)
+             104:     38(ptr)       AccessChain 86(r) 103
+                                    Store 104 102
+                                    Branch 95
+              94:                   Label
+             107:    7(fvec4)       Load 86(r)
+             108:   87(fvec3)       VectorShuffle 107 107 0 1 2
+             109:    7(fvec4)       Load 36(gl_FragColor)
+             110:   87(fvec3)       VectorShuffle 109 109 0 1 2
+             111:   87(fvec3)       FAdd 110 108
+             112:    7(fvec4)       Load 36(gl_FragColor)
+             113:    7(fvec4)       VectorShuffle 112 111 4 5 6 3
+                                    Store 36(gl_FragColor) 113
+                                    Store 114(i) 16
+                                    Branch 118
+              95:                   Label
+             105:     13(int)       Load 92(i)
+             106:     13(int)       IAdd 105 33
+                                    Store 92(i) 106
+                                    Branch 96
+              96:                   Label
+              97:     13(int)       Load 92(i)
+              98:     13(int)       Load 23(Count)
+              99:    25(bool)       SLessThan 97 98
+                                    LoopMerge 94 95 None
+                                    BranchConditional 99 93 94
+             115:                     Label
+             122:    6(float)         Load 101(f)
+             123:    7(fvec4)         Load 36(gl_FragColor)
+             124:    7(fvec4)         VectorTimesScalar 123 122
+                                      Store 36(gl_FragColor) 124
+                                      Branch 117
+             116:                     Label
+                                      Return
+             117:                     Label
+             125:     13(int)         Load 114(i)
+             126:     13(int)         IAdd 125 47
+                                      Store 114(i) 126
+                                      Branch 118
+             118:                     Label
+             119:     13(int)         Load 114(i)
+             121:    25(bool)         SLessThan 119 120
+                                      LoopMerge 116 117 None
+                                      BranchConditional 121 115 116
+                                        FunctionEnd
diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out
index 721b5a8..1f9cbce 100755
--- a/Test/baseResults/spv.localAggregates.frag.out
+++ b/Test/baseResults/spv.localAggregates.frag.out
@@ -1,215 +1,217 @@
-spv.localAggregates.frag

-WARNING: 0:4: varying deprecated in version 130; may be removed in future release

-WARNING: 0:5: varying deprecated in version 130; may be removed in future release

-

-

-Linked fragment stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 136

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Fragment 4  "main" 40 96

-                              ExecutionMode 4 OriginLowerLeft

-                              Source GLSL 130

-                              Name 4  "main"

-                              Name 8  "s1"

-                              MemberName 8(s1) 0  "i"

-                              MemberName 8(s1) 1  "f"

-                              Name 10  "s2"

-                              MemberName 10(s2) 0  "i"

-                              MemberName 10(s2) 1  "f"

-                              MemberName 10(s2) 2  "s1_1"

-                              MemberName 10(s2) 3  "bleh"

-                              Name 12  "locals2"

-                              Name 13  "s3"

-                              MemberName 13(s3) 0  "s2_1"

-                              MemberName 13(s3) 1  "i"

-                              MemberName 13(s3) 2  "f"

-                              MemberName 13(s3) 3  "s1_1"

-                              Name 15  "foo3"

-                              Name 36  "localFArray"

-                              Name 40  "coord"

-                              Name 49  "localIArray"

-                              Name 68  "x"

-                              Name 70  "localArray"

-                              Name 75  "i"

-                              Name 82  "a"

-                              Name 88  "condition"

-                              Name 96  "color"

-                              Name 106  "gl_FragColor"

-                              Name 126  "samp2D"

-                              Name 132  "foo"

-                              Name 133  "foo2"

-                              Name 135  "uFloatArray"

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeInt 32 1

-               7:             TypeFloat 32

-           8(s1):             TypeStruct 6(int) 7(float)

-               9:             TypeVector 7(float) 4

-          10(s2):             TypeStruct 6(int) 7(float) 8(s1) 9(fvec4)

-              11:             TypePointer Function 10(s2)

-          13(s3):             TypeStruct 10(s2) 6(int) 7(float) 8(s1)

-              14:             TypePointer UniformConstant 13(s3)

-        15(foo3):     14(ptr) Variable UniformConstant

-              16:      6(int) Constant 0

-              17:             TypePointer UniformConstant 10(s2)

-              20:             TypePointer UniformConstant 6(int)

-              23:             TypeBool

-              27:      6(int) Constant 2

-              28:      6(int) Constant 1

-              29:    7(float) Constant 1065353216

-              30:             TypePointer Function 7(float)

-              32:             TypeInt 32 0

-              33:     32(int) Constant 16

-              34:             TypeArray 7(float) 33

-              35:             TypePointer Function 34

-              37:      6(int) Constant 4

-              38:             TypeVector 7(float) 2

-              39:             TypePointer Input 38(fvec2)

-       40(coord):     39(ptr) Variable Input

-              41:     32(int) Constant 0

-              42:             TypePointer Input 7(float)

-              46:     32(int) Constant 8

-              47:             TypeArray 6(int) 46

-              48:             TypePointer Function 47

-              52:             TypePointer Function 6(int)

-              69:      6(int) Constant 5

-              80:      6(int) Constant 16

-              84:    7(float) Constant 0

-   88(condition):     20(ptr) Variable UniformConstant

-              94:      6(int) Constant 3

-              95:             TypePointer Input 9(fvec4)

-       96(color):     95(ptr) Variable Input

-              98:             TypePointer Function 9(fvec4)

-             100:     32(int) Constant 1

-             103:     32(int) Constant 2

-             105:             TypePointer Output 9(fvec4)

-106(gl_FragColor):    105(ptr) Variable Output

-             123:             TypeImage 7(float) 2D sampled format:Unknown

-             124:             TypeSampledImage 123

-             125:             TypePointer UniformConstant 124

-     126(samp2D):    125(ptr) Variable UniformConstant

-             131:             TypePointer UniformConstant 8(s1)

-        132(foo):    131(ptr) Variable UniformConstant

-       133(foo2):     17(ptr) Variable UniformConstant

-             134:             TypePointer UniformConstant 34

-135(uFloatArray):    134(ptr) Variable UniformConstant

-         4(main):           2 Function None 3

-               5:             Label

-     12(locals2):     11(ptr) Variable Function

- 36(localFArray):     35(ptr) Variable Function

- 49(localIArray):     48(ptr) Variable Function

-           68(x):     52(ptr) Variable Function

-  70(localArray):     35(ptr) Variable Function

-           75(i):     52(ptr) Variable Function

-           82(a):     35(ptr) Variable Function

-              18:     17(ptr) AccessChain 15(foo3) 16

-              19:      10(s2) Load 18

-                              Store 12(locals2) 19

-              21:     20(ptr) AccessChain 15(foo3) 16 16

-              22:      6(int) Load 21

-              24:    23(bool) SGreaterThan 22 16

-                              SelectionMerge 26 None

-                              BranchConditional 24 25 54

-              25:               Label

-              31:     30(ptr)   AccessChain 12(locals2) 27 28

-                                Store 31 29

-              43:     42(ptr)   AccessChain 40(coord) 41

-              44:    7(float)   Load 43

-              45:     30(ptr)   AccessChain 36(localFArray) 37

-                                Store 45 44

-              50:     20(ptr)   AccessChain 15(foo3) 16 16

-              51:      6(int)   Load 50

-              53:     52(ptr)   AccessChain 49(localIArray) 27

-                                Store 53 51

-                                Branch 26

-              54:               Label

-              55:     42(ptr)   AccessChain 40(coord) 41

-              56:    7(float)   Load 55

-              57:     30(ptr)   AccessChain 12(locals2) 27 28

-                                Store 57 56

-              58:     30(ptr)   AccessChain 36(localFArray) 37

-                                Store 58 29

-              59:     52(ptr)   AccessChain 49(localIArray) 27

-                                Store 59 16

-                                Branch 26

-              26:             Label

-              60:     52(ptr) AccessChain 49(localIArray) 27

-              61:      6(int) Load 60

-              62:    23(bool) IEqual 61 16

-                              SelectionMerge 64 None

-                              BranchConditional 62 63 64

-              63:               Label

-              65:     30(ptr)   AccessChain 36(localFArray) 37

-              66:    7(float)   Load 65

-              67:    7(float)   FAdd 66 29

-                                Store 65 67

-                                Branch 64

-              64:             Label

-                              Store 68(x) 69

-              71:      6(int) Load 68(x)

-              72:     42(ptr) AccessChain 40(coord) 41

-              73:    7(float) Load 72

-              74:     30(ptr) AccessChain 70(localArray) 71

-                              Store 74 73

-                              Store 75(i) 16

-                              Branch 76

-              76:             Label

-              79:      6(int) Load 75(i)

-              81:    23(bool) SLessThan 79 80

-                              LoopMerge 77 76 None

-                              BranchConditional 81 78 77

-              78:               Label

-              83:      6(int)   Load 75(i)

-              85:     30(ptr)   AccessChain 82(a) 83

-                                Store 85 84

-              86:      6(int)   Load 75(i)

-              87:      6(int)   IAdd 86 28

-                                Store 75(i) 87

-                                Branch 76

-              77:             Label

-              89:      6(int) Load 88(condition)

-              90:    23(bool) IEqual 89 28

-                              SelectionMerge 92 None

-                              BranchConditional 90 91 92

-              91:               Label

-              93:          34   Load 70(localArray)

-                                Store 82(a) 93

-                                Branch 92

-              92:             Label

-              97:    9(fvec4) Load 96(color)

-              99:     98(ptr) AccessChain 12(locals2) 94

-                              Store 99 97

-             101:     42(ptr) AccessChain 40(coord) 100

-             102:    7(float) Load 101

-             104:     30(ptr) AccessChain 12(locals2) 94 103

-                              Store 104 102

-             107:     98(ptr) AccessChain 12(locals2) 94

-             108:    9(fvec4) Load 107

-             109:     30(ptr) AccessChain 36(localFArray) 37

-             110:    7(float) Load 109

-             111:     30(ptr) AccessChain 12(locals2) 27 28

-             112:    7(float) Load 111

-             113:    7(float) FAdd 110 112

-             114:      6(int) Load 68(x)

-             115:     30(ptr) AccessChain 70(localArray) 114

-             116:    7(float) Load 115

-             117:    7(float) FAdd 113 116

-             118:      6(int) Load 68(x)

-             119:     30(ptr) AccessChain 82(a) 118

-             120:    7(float) Load 119

-             121:    7(float) FAdd 117 120

-             122:    9(fvec4) VectorTimesScalar 108 121

-             127:         124 Load 126(samp2D)

-             128:   38(fvec2) Load 40(coord)

-             129:    9(fvec4) ImageSampleImplicitLod 127 128

-             130:    9(fvec4) FMul 122 129

-                              Store 106(gl_FragColor) 130

-                              Return

-                              FunctionEnd

+spv.localAggregates.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:5: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 137
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 40 97
+                              ExecutionMode 4 OriginLowerLeft
+                              Source GLSL 130
+                              Name 4  "main"
+                              Name 8  "s1"
+                              MemberName 8(s1) 0  "i"
+                              MemberName 8(s1) 1  "f"
+                              Name 10  "s2"
+                              MemberName 10(s2) 0  "i"
+                              MemberName 10(s2) 1  "f"
+                              MemberName 10(s2) 2  "s1_1"
+                              MemberName 10(s2) 3  "bleh"
+                              Name 12  "locals2"
+                              Name 13  "s3"
+                              MemberName 13(s3) 0  "s2_1"
+                              MemberName 13(s3) 1  "i"
+                              MemberName 13(s3) 2  "f"
+                              MemberName 13(s3) 3  "s1_1"
+                              Name 15  "foo3"
+                              Name 36  "localFArray"
+                              Name 40  "coord"
+                              Name 49  "localIArray"
+                              Name 68  "x"
+                              Name 70  "localArray"
+                              Name 75  "i"
+                              Name 83  "a"
+                              Name 89  "condition"
+                              Name 97  "color"
+                              Name 107  "gl_FragColor"
+                              Name 127  "samp2D"
+                              Name 133  "foo"
+                              Name 134  "foo2"
+                              Name 136  "uFloatArray"
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypeFloat 32
+           8(s1):             TypeStruct 6(int) 7(float)
+               9:             TypeVector 7(float) 4
+          10(s2):             TypeStruct 6(int) 7(float) 8(s1) 9(fvec4)
+              11:             TypePointer Function 10(s2)
+          13(s3):             TypeStruct 10(s2) 6(int) 7(float) 8(s1)
+              14:             TypePointer UniformConstant 13(s3)
+        15(foo3):     14(ptr) Variable UniformConstant
+              16:      6(int) Constant 0
+              17:             TypePointer UniformConstant 10(s2)
+              20:             TypePointer UniformConstant 6(int)
+              23:             TypeBool
+              27:      6(int) Constant 2
+              28:      6(int) Constant 1
+              29:    7(float) Constant 1065353216
+              30:             TypePointer Function 7(float)
+              32:             TypeInt 32 0
+              33:     32(int) Constant 16
+              34:             TypeArray 7(float) 33
+              35:             TypePointer Function 34
+              37:      6(int) Constant 4
+              38:             TypeVector 7(float) 2
+              39:             TypePointer Input 38(fvec2)
+       40(coord):     39(ptr) Variable Input
+              41:     32(int) Constant 0
+              42:             TypePointer Input 7(float)
+              46:     32(int) Constant 8
+              47:             TypeArray 6(int) 46
+              48:             TypePointer Function 47
+              52:             TypePointer Function 6(int)
+              69:      6(int) Constant 5
+              81:      6(int) Constant 16
+              85:    7(float) Constant 0
+   89(condition):     20(ptr) Variable UniformConstant
+              95:      6(int) Constant 3
+              96:             TypePointer Input 9(fvec4)
+       97(color):     96(ptr) Variable Input
+              99:             TypePointer Function 9(fvec4)
+             101:     32(int) Constant 1
+             104:     32(int) Constant 2
+             106:             TypePointer Output 9(fvec4)
+107(gl_FragColor):    106(ptr) Variable Output
+             124:             TypeImage 7(float) 2D sampled format:Unknown
+             125:             TypeSampledImage 124
+             126:             TypePointer UniformConstant 125
+     127(samp2D):    126(ptr) Variable UniformConstant
+             132:             TypePointer UniformConstant 8(s1)
+        133(foo):    132(ptr) Variable UniformConstant
+       134(foo2):     17(ptr) Variable UniformConstant
+             135:             TypePointer UniformConstant 34
+136(uFloatArray):    135(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+     12(locals2):     11(ptr) Variable Function
+ 36(localFArray):     35(ptr) Variable Function
+ 49(localIArray):     48(ptr) Variable Function
+           68(x):     52(ptr) Variable Function
+  70(localArray):     35(ptr) Variable Function
+           75(i):     52(ptr) Variable Function
+           83(a):     35(ptr) Variable Function
+              18:     17(ptr) AccessChain 15(foo3) 16
+              19:      10(s2) Load 18
+                              Store 12(locals2) 19
+              21:     20(ptr) AccessChain 15(foo3) 16 16
+              22:      6(int) Load 21
+              24:    23(bool) SGreaterThan 22 16
+                              SelectionMerge 26 None
+                              BranchConditional 24 25 54
+              25:               Label
+              31:     30(ptr)   AccessChain 12(locals2) 27 28
+                                Store 31 29
+              43:     42(ptr)   AccessChain 40(coord) 41
+              44:    7(float)   Load 43
+              45:     30(ptr)   AccessChain 36(localFArray) 37
+                                Store 45 44
+              50:     20(ptr)   AccessChain 15(foo3) 16 16
+              51:      6(int)   Load 50
+              53:     52(ptr)   AccessChain 49(localIArray) 27
+                                Store 53 51
+                                Branch 26
+              54:               Label
+              55:     42(ptr)   AccessChain 40(coord) 41
+              56:    7(float)   Load 55
+              57:     30(ptr)   AccessChain 12(locals2) 27 28
+                                Store 57 56
+              58:     30(ptr)   AccessChain 36(localFArray) 37
+                                Store 58 29
+              59:     52(ptr)   AccessChain 49(localIArray) 27
+                                Store 59 16
+                                Branch 26
+              26:             Label
+              60:     52(ptr) AccessChain 49(localIArray) 27
+              61:      6(int) Load 60
+              62:    23(bool) IEqual 61 16
+                              SelectionMerge 64 None
+                              BranchConditional 62 63 64
+              63:               Label
+              65:     30(ptr)   AccessChain 36(localFArray) 37
+              66:    7(float)   Load 65
+              67:    7(float)   FAdd 66 29
+                                Store 65 67
+                                Branch 64
+              64:             Label
+                              Store 68(x) 69
+              71:      6(int) Load 68(x)
+              72:     42(ptr) AccessChain 40(coord) 41
+              73:    7(float) Load 72
+              74:     30(ptr) AccessChain 70(localArray) 71
+                              Store 74 73
+                              Store 75(i) 16
+                              Branch 79
+              76:             Label
+              84:      6(int) Load 75(i)
+              86:     30(ptr) AccessChain 83(a) 84
+                              Store 86 85
+                              Branch 78
+              77:             Label
+              90:      6(int) Load 89(condition)
+              91:    23(bool) IEqual 90 28
+                              SelectionMerge 93 None
+                              BranchConditional 91 92 93
+              78:               Label
+              87:      6(int)   Load 75(i)
+              88:      6(int)   IAdd 87 28
+                                Store 75(i) 88
+                                Branch 79
+              79:               Label
+              80:      6(int)   Load 75(i)
+              82:    23(bool)   SLessThan 80 81
+                                LoopMerge 77 78 None
+                                BranchConditional 82 76 77
+              92:                 Label
+              94:          34     Load 70(localArray)
+                                  Store 83(a) 94
+                                  Branch 93
+              93:                 Label
+              98:    9(fvec4)     Load 97(color)
+             100:     99(ptr)     AccessChain 12(locals2) 95
+                                  Store 100 98
+             102:     42(ptr)     AccessChain 40(coord) 101
+             103:    7(float)     Load 102
+             105:     30(ptr)     AccessChain 12(locals2) 95 104
+                                  Store 105 103
+             108:     99(ptr)     AccessChain 12(locals2) 95
+             109:    9(fvec4)     Load 108
+             110:     30(ptr)     AccessChain 36(localFArray) 37
+             111:    7(float)     Load 110
+             112:     30(ptr)     AccessChain 12(locals2) 27 28
+             113:    7(float)     Load 112
+             114:    7(float)     FAdd 111 113
+             115:      6(int)     Load 68(x)
+             116:     30(ptr)     AccessChain 70(localArray) 115
+             117:    7(float)     Load 116
+             118:    7(float)     FAdd 114 117
+             119:      6(int)     Load 68(x)
+             120:     30(ptr)     AccessChain 83(a) 119
+             121:    7(float)     Load 120
+             122:    7(float)     FAdd 118 121
+             123:    9(fvec4)     VectorTimesScalar 109 122
+             128:         125     Load 127(samp2D)
+             129:   38(fvec2)     Load 40(coord)
+             130:    9(fvec4)     ImageSampleImplicitLod 128 129
+             131:    9(fvec4)     FMul 123 130
+                                  Store 107(gl_FragColor) 131
+                                  Return
+                                  FunctionEnd
diff --git a/Test/baseResults/spv.loops.frag.out b/Test/baseResults/spv.loops.frag.out
index 5602e08..d6ec0a9 100755
--- a/Test/baseResults/spv.loops.frag.out
+++ b/Test/baseResults/spv.loops.frag.out
@@ -1,1098 +1,1086 @@
-spv.loops.frag

-WARNING: 0:14: varying deprecated in version 130; may be removed in future release

-

-

-Linked fragment stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 718

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Fragment 4  "main" 11

-                              ExecutionMode 4 OriginLowerLeft

-                              Source GLSL 130

-                              Name 4  "main"

-                              Name 9  "color"

-                              Name 11  "BaseColor"

-                              Name 50  "d"

-                              Name 54  "bigColor"

-                              Name 66  "bigColor1_1"

-                              Name 97  "d2"

-                              Name 105  "d3"

-                              Name 109  "bigColor1_2"

-                              Name 120  "bigColor1_3"

-                              Name 126  "d4"

-                              Name 137  "i"

-                              Name 144  "Count"

-                              Name 147  "bigColor2"

-                              Name 165  "bigColor3"

-                              Name 170  "i"

-                              Name 184  "i"

-                              Name 218  "i"

-                              Name 239  "i"

-                              Name 264  "i"

-                              Name 298  "bigColor4"

-                              Name 334  "d5"

-                              Name 338  "bigColor5"

-                              Name 355  "d6"

-                              Name 367  "bigColor6"

-                              Name 401  "d7"

-                              Name 434  "bigColor7"

-                              Name 457  "d8"

-                              Name 497  "d9"

-                              Name 527  "d10"

-                              Name 535  "d11"

-                              Name 545  "d12"

-                              Name 569  "bigColor8"

-                              Name 596  "gl_FragColor"

-                              Name 603  "d14"

-                              Name 608  "d15"

-                              Name 626  "d16"

-                              Name 664  "d17"

-                              Name 670  "d18"

-                              Name 701  "d13"

-                              Name 702  "d19"

-                              Name 703  "d20"

-                              Name 704  "d21"

-                              Name 705  "d22"

-                              Name 706  "d23"

-                              Name 707  "d24"

-                              Name 708  "d25"

-                              Name 709  "d26"

-                              Name 710  "d27"

-                              Name 711  "d28"

-                              Name 712  "d29"

-                              Name 713  "d30"

-                              Name 714  "d31"

-                              Name 715  "d32"

-                              Name 716  "d33"

-                              Name 717  "d34"

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeFloat 32

-               7:             TypeVector 6(float) 4

-               8:             TypePointer Function 7(fvec4)

-              10:             TypePointer Input 7(fvec4)

-   11(BaseColor):     10(ptr) Variable Input

-              16:             TypeBool

-              17:    16(bool) ConstantTrue

-              18:             TypeInt 32 0

-              19:     18(int) Constant 0

-              20:             TypePointer Function 6(float)

-              23:    6(float) Constant 1051260355

-              27:    7(fvec4) ConstantComposite 23 23 23 23

-              33:    6(float) Constant 1059648963

-              37:    7(fvec4) ConstantComposite 33 33 33 33

-              49:             TypePointer UniformConstant 6(float)

-           50(d):     49(ptr) Variable UniformConstant

-              53:             TypePointer UniformConstant 7(fvec4)

-    54(bigColor):     53(ptr) Variable UniformConstant

-              61:     18(int) Constant 2

- 66(bigColor1_1):     53(ptr) Variable UniformConstant

-              70:     18(int) Constant 3

-              86:    6(float) Constant 1109917696

-              89:    6(float) Constant 1065353216

-          97(d2):     49(ptr) Variable UniformConstant

-             102:     18(int) Constant 1

-         105(d3):     49(ptr) Variable UniformConstant

-109(bigColor1_2):     53(ptr) Variable UniformConstant

-120(bigColor1_3):     53(ptr) Variable UniformConstant

-         126(d4):     49(ptr) Variable UniformConstant

-             135:             TypeInt 32 1

-             136:             TypePointer Function 135(int)

-             138:    135(int) Constant 0

-             143:             TypePointer UniformConstant 135(int)

-      144(Count):    143(ptr) Variable UniformConstant

-  147(bigColor2):     53(ptr) Variable UniformConstant

-             152:    135(int) Constant 1

-  165(bigColor3):     53(ptr) Variable UniformConstant

-             169:    16(bool) ConstantFalse

-             175:    135(int) Constant 42

-             189:    135(int) Constant 100

-             193:    6(float) Constant 1101004800

-             223:    135(int) Constant 120

-  298(bigColor4):     53(ptr) Variable UniformConstant

-         334(d5):     49(ptr) Variable UniformConstant

-  338(bigColor5):     53(ptr) Variable UniformConstant

-         355(d6):     49(ptr) Variable UniformConstant

-  367(bigColor6):     53(ptr) Variable UniformConstant

-         401(d7):     49(ptr) Variable UniformConstant

-             429:    6(float) Constant 0

-  434(bigColor7):     53(ptr) Variable UniformConstant

-         457(d8):     49(ptr) Variable UniformConstant

-             477:    6(float) Constant 1073741824

-         497(d9):     49(ptr) Variable UniformConstant

-             513:    6(float) Constant 1084227584

-        527(d10):     49(ptr) Variable UniformConstant

-        535(d11):     49(ptr) Variable UniformConstant

-        545(d12):     49(ptr) Variable UniformConstant

-             567:    6(float) Constant 1092616192

-  569(bigColor8):     53(ptr) Variable UniformConstant

-             595:             TypePointer Output 7(fvec4)

-596(gl_FragColor):    595(ptr) Variable Output

-        603(d14):     49(ptr) Variable UniformConstant

-        608(d15):     49(ptr) Variable UniformConstant

-        626(d16):     49(ptr) Variable UniformConstant

-        664(d17):     49(ptr) Variable UniformConstant

-        670(d18):     49(ptr) Variable UniformConstant

-        701(d13):     49(ptr) Variable UniformConstant

-        702(d19):     49(ptr) Variable UniformConstant

-        703(d20):     49(ptr) Variable UniformConstant

-        704(d21):     49(ptr) Variable UniformConstant

-        705(d22):     49(ptr) Variable UniformConstant

-        706(d23):     49(ptr) Variable UniformConstant

-        707(d24):     49(ptr) Variable UniformConstant

-        708(d25):     49(ptr) Variable UniformConstant

-        709(d26):     49(ptr) Variable UniformConstant

-        710(d27):     49(ptr) Variable UniformConstant

-        711(d28):     49(ptr) Variable UniformConstant

-        712(d29):     49(ptr) Variable UniformConstant

-        713(d30):     49(ptr) Variable UniformConstant

-        714(d31):     49(ptr) Variable UniformConstant

-        715(d32):     49(ptr) Variable UniformConstant

-        716(d33):     49(ptr) Variable UniformConstant

-        717(d34):     49(ptr) Variable UniformConstant

-         4(main):           2 Function None 3

-               5:             Label

-        9(color):      8(ptr) Variable Function

-          137(i):    136(ptr) Variable Function

-          170(i):    136(ptr) Variable Function

-          184(i):    136(ptr) Variable Function

-          218(i):    136(ptr) Variable Function

-          239(i):    136(ptr) Variable Function

-          264(i):    136(ptr) Variable Function

-              12:    7(fvec4) Load 11(BaseColor)

-                              Store 9(color) 12

-                              Branch 13

-              13:             Label

-                              LoopMerge 14 13 None

-                              BranchConditional 17 15 14

-              15:               Label

-              21:     20(ptr)   AccessChain 9(color) 19

-              22:    6(float)   Load 21

-              24:    16(bool)   FOrdLessThan 22 23

-                                SelectionMerge 26 None

-                                BranchConditional 24 25 26

-              25:                 Label

-              28:    7(fvec4)     Load 9(color)

-              29:    7(fvec4)     FAdd 28 27

-                                  Store 9(color) 29

-                                  Branch 14

-              26:               Label

-              31:     20(ptr)   AccessChain 9(color) 19

-              32:    6(float)   Load 31

-              34:    16(bool)   FOrdLessThan 32 33

-                                SelectionMerge 36 None

-                                BranchConditional 34 35 36

-              35:                 Label

-              38:    7(fvec4)     Load 9(color)

-              39:    7(fvec4)     FAdd 38 37

-                                  Store 9(color) 39

-                                  Branch 14

-              36:               Label

-              41:    7(fvec4)   Load 9(color)

-              42:    7(fvec4)   FAdd 41 27

-                                Store 9(color) 42

-                                Branch 14

-              14:             Label

-                              Branch 44

-              44:             Label

-              47:     20(ptr) AccessChain 9(color) 19

-              48:    6(float) Load 47

-              51:    6(float) Load 50(d)

-              52:    16(bool) FOrdLessThan 48 51

-                              LoopMerge 45 44 None

-                              BranchConditional 52 46 45

-              46:               Label

-              55:    7(fvec4)   Load 54(bigColor)

-              56:    7(fvec4)   Load 9(color)

-              57:    7(fvec4)   FAdd 56 55

-                                Store 9(color) 57

-                                Branch 44

-              45:             Label

-                              Branch 58

-              58:             Label

-              62:     20(ptr) AccessChain 9(color) 61

-              63:    6(float) Load 62

-              64:    6(float) Load 50(d)

-              65:    16(bool) FOrdLessThan 63 64

-                              LoopMerge 59 58 None

-                              BranchConditional 65 60 59

-              60:               Label

-              67:    7(fvec4)   Load 66(bigColor1_1)

-              68:    7(fvec4)   Load 9(color)

-              69:    7(fvec4)   FAdd 68 67

-                                Store 9(color) 69

-              71:     20(ptr)   AccessChain 9(color) 70

-              72:    6(float)   Load 71

-              73:    6(float)   Load 50(d)

-              74:    16(bool)   FOrdLessThan 72 73

-                                SelectionMerge 76 None

-                                BranchConditional 74 75 76

-              75:                 Label

-                                  Branch 58

-              76:               Label

-              78:    7(fvec4)   Load 66(bigColor1_1)

-              79:    7(fvec4)   Load 9(color)

-              80:    7(fvec4)   FAdd 79 78

-                                Store 9(color) 80

-                                Branch 58

-              59:             Label

-                              Branch 81

-              81:             Label

-              84:     20(ptr) AccessChain 9(color) 19

-              85:    6(float) Load 84

-              87:    16(bool) FOrdLessThan 85 86

-                              LoopMerge 82 81 None

-                              BranchConditional 87 83 82

-              83:               Label

-              88:    7(fvec4)   Load 9(color)

-              90:    7(fvec4)   CompositeConstruct 89 89 89 89

-              91:    7(fvec4)   FAdd 88 90

-                                Store 9(color) 91

-                                Branch 81

-              82:             Label

-                              Branch 92

-              92:             Label

-              95:     20(ptr) AccessChain 9(color) 70

-              96:    6(float) Load 95

-              98:    6(float) Load 97(d2)

-              99:    16(bool) FOrdLessThan 96 98

-                              SelectionMerge 101 None

-                              BranchConditional 99 100 101

-             100:               Label

-             103:     20(ptr)   AccessChain 9(color) 102

-             104:    6(float)   Load 103

-             106:    6(float)   Load 105(d3)

-             107:    16(bool)   FOrdLessThan 104 106

-                                Branch 101

-             101:             Label

-             108:    16(bool) Phi 99 92 107 100

-                              LoopMerge 93 92 None

-                              BranchConditional 108 94 93

-              94:               Label

-             110:    7(fvec4)   Load 109(bigColor1_2)

-             111:    7(fvec4)   Load 9(color)

-             112:    7(fvec4)   FAdd 111 110

-                                Store 9(color) 112

-                                Branch 92

-              93:             Label

-                              Branch 113

-             113:             Label

-             116:     20(ptr) AccessChain 9(color) 61

-             117:    6(float) Load 116

-             118:    6(float) Load 105(d3)

-             119:    16(bool) FOrdLessThan 117 118

-                              LoopMerge 114 113 None

-                              BranchConditional 119 115 114

-             115:               Label

-             121:    7(fvec4)   Load 120(bigColor1_3)

-             122:    7(fvec4)   Load 9(color)

-             123:    7(fvec4)   FAdd 122 121

-                                Store 9(color) 123

-             124:     20(ptr)   AccessChain 9(color) 102

-             125:    6(float)   Load 124

-             127:    6(float)   Load 126(d4)

-             128:    16(bool)   FOrdLessThan 125 127

-                                SelectionMerge 130 None

-                                BranchConditional 128 129 130

-             129:                 Label

-                                  Branch 114

-             130:               Label

-             132:    7(fvec4)   Load 120(bigColor1_3)

-             133:    7(fvec4)   Load 9(color)

-             134:    7(fvec4)   FAdd 133 132

-                                Store 9(color) 134

-                                Branch 113

-             114:             Label

-                              Store 137(i) 138

-                              Branch 139

-             139:             Label

-             142:    135(int) Load 137(i)

-             145:    135(int) Load 144(Count)

-             146:    16(bool) SLessThan 142 145

-                              LoopMerge 140 139 None

-                              BranchConditional 146 141 140

-             141:               Label

-             148:    7(fvec4)   Load 147(bigColor2)

-             149:    7(fvec4)   Load 9(color)

-             150:    7(fvec4)   FAdd 149 148

-                                Store 9(color) 150

-             151:    135(int)   Load 137(i)

-             153:    135(int)   IAdd 151 152

-                                Store 137(i) 153

-                                Branch 139

-             140:             Label

-                              Branch 154

-             154:             Label

-             157:    16(bool) Phi 17 140 169 156

-                              LoopMerge 155 154 None

-                              Branch 158

-             158:             Label

-                              SelectionMerge 156 None

-                              BranchConditional 157 156 159

-             159:               Label

-             160:     20(ptr)   AccessChain 9(color) 19

-             161:    6(float)   Load 160

-             162:    6(float)   Load 97(d2)

-             163:    16(bool)   FOrdLessThan 161 162

-                                SelectionMerge 164 None

-                                BranchConditional 163 164 155

-             164:               Label

-                                Branch 156

-             156:             Label

-             166:    7(fvec4) Load 165(bigColor3)

-             167:    7(fvec4) Load 9(color)

-             168:    7(fvec4) FAdd 167 166

-                              Store 9(color) 168

-                              Branch 154

-             155:             Label

-                              Store 170(i) 138

-                              Branch 171

-             171:             Label

-             174:    135(int) Load 170(i)

-             176:    16(bool) SLessThan 174 175

-                              LoopMerge 172 171 None

-                              BranchConditional 176 173 172

-             173:               Label

-             177:    6(float)   Load 105(d3)

-             178:     20(ptr)   AccessChain 9(color) 61

-             179:    6(float)   Load 178

-             180:    6(float)   FAdd 179 177

-             181:     20(ptr)   AccessChain 9(color) 61

-                                Store 181 180

-             182:    135(int)   Load 170(i)

-             183:    135(int)   IAdd 182 152

-                                Store 170(i) 183

-                                Branch 171

-             172:             Label

-                              Store 184(i) 138

-                              Branch 185

-             185:             Label

-             188:    135(int) Load 184(i)

-             190:    16(bool) SLessThan 188 189

-                              LoopMerge 186 185 None

-                              BranchConditional 190 187 186

-             187:               Label

-             191:     20(ptr)   AccessChain 9(color) 61

-             192:    6(float)   Load 191

-             194:    16(bool)   FOrdLessThan 192 193

-                                SelectionMerge 196 None

-                                BranchConditional 194 195 200

-             195:                 Label

-             197:     20(ptr)     AccessChain 9(color) 19

-             198:    6(float)     Load 197

-             199:    6(float)     FAdd 198 89

-                                  Store 197 199

-                                  Branch 196

-             200:                 Label

-             201:     20(ptr)     AccessChain 9(color) 102

-             202:    6(float)     Load 201

-             203:    6(float)     FAdd 202 89

-                                  Store 201 203

-                                  Branch 196

-             196:               Label

-             204:     20(ptr)   AccessChain 9(color) 70

-             205:    6(float)   Load 204

-             206:    16(bool)   FOrdLessThan 205 193

-                                SelectionMerge 208 None

-                                BranchConditional 206 207 208

-             207:                 Label

-             209:     20(ptr)     AccessChain 9(color) 61

-             210:    6(float)     Load 209

-             211:     20(ptr)     AccessChain 9(color) 102

-             212:    6(float)     Load 211

-             213:    16(bool)     FOrdGreaterThan 210 212

-                                  SelectionMerge 215 None

-                                  BranchConditional 213 214 215

-             214:                   Label

-                                    Branch 215

-             215:                 Label

-                                  Branch 208

-             208:               Label

-             216:    135(int)   Load 184(i)

-             217:    135(int)   IAdd 216 152

-                                Store 184(i) 217

-                                Branch 185

-             186:             Label

-                              Store 218(i) 138

-                              Branch 219

-             219:             Label

-             222:    135(int) Load 218(i)

-             224:    16(bool) SLessThan 222 223

-                              LoopMerge 220 219 None

-                              BranchConditional 224 221 220

-             221:               Label

-             225:     20(ptr)   AccessChain 9(color) 61

-             226:    6(float)   Load 225

-             227:    16(bool)   FOrdLessThan 226 193

-                                SelectionMerge 229 None

-                                BranchConditional 227 228 233

-             228:                 Label

-             230:     20(ptr)     AccessChain 9(color) 19

-             231:    6(float)     Load 230

-             232:    6(float)     FAdd 231 89

-                                  Store 230 232

-                                  Branch 229

-             233:                 Label

-             234:     20(ptr)     AccessChain 9(color) 102

-             235:    6(float)     Load 234

-             236:    6(float)     FAdd 235 89

-                                  Store 234 236

-                                  Branch 229

-             229:               Label

-             237:    135(int)   Load 218(i)

-             238:    135(int)   IAdd 237 152

-                                Store 218(i) 238

-                                Branch 219

-             220:             Label

-                              Store 239(i) 138

-                              Branch 240

-             240:             Label

-             243:    135(int) Load 239(i)

-             244:    16(bool) SLessThan 243 175

-                              LoopMerge 241 240 None

-                              BranchConditional 244 242 241

-             242:               Label

-             245:    6(float)   Load 105(d3)

-             246:     20(ptr)   AccessChain 9(color) 61

-             247:    6(float)   Load 246

-             248:    6(float)   FAdd 247 245

-             249:     20(ptr)   AccessChain 9(color) 61

-                                Store 249 248

-             250:     20(ptr)   AccessChain 9(color) 19

-             251:    6(float)   Load 250

-             252:    6(float)   Load 126(d4)

-             253:    16(bool)   FOrdLessThan 251 252

-                                SelectionMerge 255 None

-                                BranchConditional 253 254 255

-             254:                 Label

-             256:    135(int)     Load 239(i)

-             257:    135(int)     IAdd 256 152

-                                  Store 239(i) 257

-                                  Branch 240

-             255:               Label

-             259:     20(ptr)   AccessChain 9(color) 70

-             260:    6(float)   Load 259

-             261:    6(float)   FAdd 260 89

-                                Store 259 261

-             262:    135(int)   Load 239(i)

-             263:    135(int)   IAdd 262 152

-                                Store 239(i) 263

-                                Branch 240

-             241:             Label

-                              Store 264(i) 138

-                              Branch 265

-             265:             Label

-             268:    135(int) Load 264(i)

-             269:    16(bool) SLessThan 268 175

-                              LoopMerge 266 265 None

-                              BranchConditional 269 267 266

-             267:               Label

-             270:    6(float)   Load 105(d3)

-             271:     20(ptr)   AccessChain 9(color) 61

-             272:    6(float)   Load 271

-             273:    6(float)   FAdd 272 270

-             274:     20(ptr)   AccessChain 9(color) 61

-                                Store 274 273

-             275:     20(ptr)   AccessChain 9(color) 19

-             276:    6(float)   Load 275

-             277:    6(float)   Load 126(d4)

-             278:    16(bool)   FOrdLessThan 276 277

-                                SelectionMerge 280 None

-                                BranchConditional 278 279 280

-             279:                 Label

-                                  Branch 266

-             280:               Label

-             282:     20(ptr)   AccessChain 9(color) 70

-             283:    6(float)   Load 282

-             284:    6(float)   FAdd 283 89

-                                Store 282 284

-             285:    135(int)   Load 264(i)

-             286:    135(int)   IAdd 285 152

-                                Store 264(i) 286

-                                Branch 265

-             266:             Label

-                              Branch 287

-             287:             Label

-             290:    16(bool) Phi 17 266 169 306 169 314

-                              LoopMerge 288 287 None

-                              Branch 291

-             291:             Label

-                              SelectionMerge 289 None

-                              BranchConditional 290 289 292

-             292:               Label

-             293:     20(ptr)   AccessChain 9(color) 61

-             294:    6(float)   Load 293

-             295:    6(float)   Load 126(d4)

-             296:    16(bool)   FOrdLessThan 294 295

-                                SelectionMerge 297 None

-                                BranchConditional 296 297 288

-             297:               Label

-                                Branch 289

-             289:             Label

-             299:    7(fvec4) Load 298(bigColor4)

-             300:    7(fvec4) Load 9(color)

-             301:    7(fvec4) FAdd 300 299

-                              Store 9(color) 301

-             302:     20(ptr) AccessChain 9(color) 19

-             303:    6(float) Load 302

-             304:    6(float) Load 126(d4)

-             305:    16(bool) FOrdLessThan 303 304

-                              SelectionMerge 307 None

-                              BranchConditional 305 306 307

-             306:               Label

-                                Branch 287

-             307:             Label

-             309:     20(ptr) AccessChain 9(color) 102

-             310:    6(float) Load 309

-             311:    6(float) Load 126(d4)

-             312:    16(bool) FOrdLessThan 310 311

-                              SelectionMerge 314 None

-                              BranchConditional 312 313 320

-             313:               Label

-             315:    6(float)   Load 126(d4)

-             316:     20(ptr)   AccessChain 9(color) 102

-             317:    6(float)   Load 316

-             318:    6(float)   FAdd 317 315

-             319:     20(ptr)   AccessChain 9(color) 102

-                                Store 319 318

-                                Branch 314

-             320:               Label

-             321:    6(float)   Load 126(d4)

-             322:     20(ptr)   AccessChain 9(color) 19

-             323:    6(float)   Load 322

-             324:    6(float)   FAdd 323 321

-             325:     20(ptr)   AccessChain 9(color) 19

-                                Store 325 324

-                                Branch 314

-             314:             Label

-                              Branch 287

-             288:             Label

-                              Branch 326

-             326:             Label

-             329:    16(bool) Phi 17 288 169 347

-                              LoopMerge 327 326 None

-                              Branch 330

-             330:             Label

-                              SelectionMerge 328 None

-                              BranchConditional 329 328 331

-             331:               Label

-             332:     20(ptr)   AccessChain 9(color) 19

-             333:    6(float)   Load 332

-             335:    6(float)   Load 334(d5)

-             336:    16(bool)   FOrdLessThan 333 335

-                                SelectionMerge 337 None

-                                BranchConditional 336 337 327

-             337:               Label

-                                Branch 328

-             328:             Label

-             339:    7(fvec4) Load 338(bigColor5)

-             340:    7(fvec4) Load 9(color)

-             341:    7(fvec4) FAdd 340 339

-                              Store 9(color) 341

-             342:     20(ptr) AccessChain 9(color) 102

-             343:    6(float) Load 342

-             344:    6(float) Load 334(d5)

-             345:    16(bool) FOrdLessThan 343 344

-                              SelectionMerge 347 None

-                              BranchConditional 345 346 347

-             346:               Label

-             348:    6(float)   Load 334(d5)

-             349:     20(ptr)   AccessChain 9(color) 102

-             350:    6(float)   Load 349

-             351:    6(float)   FAdd 350 348

-             352:     20(ptr)   AccessChain 9(color) 102

-                                Store 352 351

-                                Branch 347

-             347:             Label

-                              Branch 326

-             327:             Label

-             353:     20(ptr) AccessChain 9(color) 19

-             354:    6(float) Load 353

-             356:    6(float) Load 355(d6)

-             357:    16(bool) FOrdLessThan 354 356

-                              SelectionMerge 359 None

-                              BranchConditional 357 358 371

-             358:               Label

-                                Branch 360

-             360:               Label

-             363:     20(ptr)   AccessChain 9(color) 102

-             364:    6(float)   Load 363

-             365:    6(float)   Load 355(d6)

-             366:    16(bool)   FOrdLessThan 364 365

-                                LoopMerge 361 360 None

-                                BranchConditional 366 362 361

-             362:                 Label

-             368:    7(fvec4)     Load 367(bigColor6)

-             369:    7(fvec4)     Load 9(color)

-             370:    7(fvec4)     FAdd 369 368

-                                  Store 9(color) 370

-                                  Branch 360

-             361:               Label

-                                Branch 359

-             371:               Label

-                                Branch 372

-             372:               Label

-             375:     20(ptr)   AccessChain 9(color) 61

-             376:    6(float)   Load 375

-             377:    6(float)   Load 355(d6)

-             378:    16(bool)   FOrdLessThan 376 377

-                                LoopMerge 373 372 None

-                                BranchConditional 378 374 373

-             374:                 Label

-             379:     49(ptr)     AccessChain 367(bigColor6) 61

-             380:    6(float)     Load 379

-             381:     20(ptr)     AccessChain 9(color) 61

-             382:    6(float)     Load 381

-             383:    6(float)     FAdd 382 380

-             384:     20(ptr)     AccessChain 9(color) 61

-                                  Store 384 383

-                                  Branch 372

-             373:               Label

-                                Branch 359

-             359:             Label

-             385:     20(ptr) AccessChain 9(color) 19

-             386:    6(float) Load 385

-             387:    6(float) Load 355(d6)

-             388:    16(bool) FOrdLessThan 386 387

-                              SelectionMerge 390 None

-                              BranchConditional 388 389 407

-             389:               Label

-                                Branch 391

-             391:               Label

-             394:     20(ptr)   AccessChain 9(color) 102

-             395:    6(float)   Load 394

-             396:    6(float)   Load 355(d6)

-             397:    16(bool)   FOrdLessThan 395 396

-                                LoopMerge 392 391 None

-                                BranchConditional 397 393 392

-             393:                 Label

-             398:    7(fvec4)     Load 367(bigColor6)

-             399:    7(fvec4)     Load 9(color)

-             400:    7(fvec4)     FAdd 399 398

-                                  Store 9(color) 400

-             402:    6(float)     Load 401(d7)

-             403:    16(bool)     FOrdLessThan 402 89

-                                  SelectionMerge 405 None

-                                  BranchConditional 403 404 405

-             404:                   Label

-                                    Branch 392

-             405:                 Label

-                                  Branch 391

-             392:               Label

-                                Branch 390

-             407:               Label

-                                Branch 408

-             408:               Label

-             411:     20(ptr)   AccessChain 9(color) 61

-             412:    6(float)   Load 411

-             413:    6(float)   Load 355(d6)

-             414:    16(bool)   FOrdLessThan 412 413

-                                LoopMerge 409 408 None

-                                BranchConditional 414 410 409

-             410:                 Label

-             415:     49(ptr)     AccessChain 367(bigColor6) 61

-             416:    6(float)     Load 415

-             417:     20(ptr)     AccessChain 9(color) 61

-             418:    6(float)     Load 417

-             419:    6(float)     FAdd 418 416

-             420:     20(ptr)     AccessChain 9(color) 61

-                                  Store 420 419

-                                  Branch 408

-             409:               Label

-                                Branch 390

-             390:             Label

-                              Branch 421

-             421:             Label

-             424:    16(bool) Phi 17 390 169 441

-                              LoopMerge 422 421 None

-                              Branch 425

-             425:             Label

-                              SelectionMerge 423 None

-                              BranchConditional 424 423 426

-             426:               Label

-                                SelectionMerge 427 None

-                                BranchConditional 17 427 422

-             427:               Label

-                                Branch 423

-             423:             Label

-             428:    6(float) Load 401(d7)

-             430:    16(bool) FOrdLessThan 428 429

-                              SelectionMerge 432 None

-                              BranchConditional 430 431 432

-             431:               Label

-                                Branch 422

-             432:             Label

-             435:    7(fvec4) Load 434(bigColor7)

-             436:    7(fvec4) Load 9(color)

-             437:    7(fvec4) FAdd 436 435

-                              Store 9(color) 437

-             438:    6(float) Load 401(d7)

-             439:    16(bool) FOrdLessThan 438 89

-                              SelectionMerge 441 None

-                              BranchConditional 439 440 441

-             440:               Label

-             442:     20(ptr)   AccessChain 9(color) 61

-             443:    6(float)   Load 442

-             444:    6(float)   FAdd 443 89

-                                Store 442 444

-                                Branch 422

-             441:             Label

-             446:    7(fvec4) Load 11(BaseColor)

-             447:    7(fvec4) Load 9(color)

-             448:    7(fvec4) FAdd 447 446

-                              Store 9(color) 448

-                              Branch 421

-             422:             Label

-                              Branch 449

-             449:             Label

-             452:    16(bool) Phi 17 422 169 472

-                              LoopMerge 450 449 None

-                              Branch 453

-             453:             Label

-                              SelectionMerge 451 None

-                              BranchConditional 452 451 454

-             454:               Label

-             455:     20(ptr)   AccessChain 9(color) 61

-             456:    6(float)   Load 455

-             458:    6(float)   Load 457(d8)

-             459:    16(bool)   FOrdLessThan 456 458

-                                SelectionMerge 460 None

-                                BranchConditional 459 460 450

-             460:               Label

-                                Branch 451

-             451:             Label

-             461:    6(float) Load 457(d8)

-             462:    16(bool) FOrdLessThan 461 429

-                              SelectionMerge 464 None

-                              BranchConditional 462 463 464

-             463:               Label

-                                Branch 450

-             464:             Label

-             466:    7(fvec4) Load 434(bigColor7)

-             467:    7(fvec4) Load 9(color)

-             468:    7(fvec4) FAdd 467 466

-                              Store 9(color) 468

-             469:    6(float) Load 457(d8)

-             470:    16(bool) FOrdLessThan 469 89

-                              SelectionMerge 472 None

-                              BranchConditional 470 471 472

-             471:               Label

-             473:     20(ptr)   AccessChain 9(color) 61

-             474:    6(float)   Load 473

-             475:    6(float)   FAdd 474 89

-                                Store 473 475

-             476:    6(float)   Load 457(d8)

-             478:    16(bool)   FOrdLessThan 476 477

-                                SelectionMerge 480 None

-                                BranchConditional 478 479 484

-             479:                 Label

-             481:     20(ptr)     AccessChain 9(color) 102

-             482:    6(float)     Load 481

-             483:    6(float)     FAdd 482 89

-                                  Store 481 483

-                                  Branch 480

-             484:                 Label

-             485:     20(ptr)     AccessChain 9(color) 19

-             486:    6(float)     Load 485

-             487:    6(float)     FAdd 486 89

-                                  Store 485 487

-                                  Branch 480

-             480:               Label

-                                Branch 450

-             472:             Label

-             489:    7(fvec4) Load 11(BaseColor)

-             490:    7(fvec4) Load 9(color)

-             491:    7(fvec4) FAdd 490 489

-                              Store 9(color) 491

-                              Branch 449

-             450:             Label

-                              Branch 492

-             492:             Label

-             495:     20(ptr) AccessChain 9(color) 70

-             496:    6(float) Load 495

-             498:    6(float) Load 497(d9)

-             499:    16(bool) FOrdLessThan 496 498

-                              LoopMerge 493 492 None

-                              BranchConditional 499 494 493

-             494:               Label

-             500:    6(float)   Load 497(d9)

-             501:    6(float)   Load 457(d8)

-             502:    16(bool)   FOrdGreaterThan 500 501

-                                SelectionMerge 504 None

-                                BranchConditional 502 503 504

-             503:                 Label

-             505:     20(ptr)     AccessChain 9(color) 19

-             506:    6(float)     Load 505

-             507:    6(float)     Load 401(d7)

-             508:    16(bool)     FOrdLessThanEqual 506 507

-                                  SelectionMerge 510 None

-                                  BranchConditional 508 509 510

-             509:                   Label

-             511:     20(ptr)       AccessChain 9(color) 61

-             512:    6(float)       Load 511

-             514:    16(bool)       FOrdEqual 512 513

-                                    SelectionMerge 516 None

-                                    BranchConditional 514 515 520

-             515:                     Label

-             517:     20(ptr)         AccessChain 9(color) 70

-             518:    6(float)         Load 517

-             519:    6(float)         FAdd 518 89

-                                      Store 517 519

-                                      Branch 516

-             520:                     Label

-                                      Branch 493

-             516:                   Label

-                                    Branch 510

-             510:                 Label

-                                  Branch 504

-             504:               Label

-                                Branch 492

-             493:             Label

-                              Branch 522

-             522:             Label

-             525:     20(ptr) AccessChain 9(color) 61

-             526:    6(float) Load 525

-             528:    6(float) Load 527(d10)

-             529:    16(bool) FOrdLessThan 526 528

-                              LoopMerge 523 522 None

-                              BranchConditional 529 524 523

-             524:               Label

-             530:     20(ptr)   AccessChain 9(color) 102

-             531:    6(float)   Load 530

-             532:    6(float)   FAdd 531 89

-                                Store 530 532

-             533:     20(ptr)   AccessChain 9(color) 102

-             534:    6(float)   Load 533

-             536:    6(float)   Load 535(d11)

-             537:    16(bool)   FOrdLessThan 534 536

-                                SelectionMerge 539 None

-                                BranchConditional 537 538 539

-             538:                 Label

-             540:     20(ptr)     AccessChain 9(color) 61

-             541:    6(float)     Load 540

-             542:    6(float)     FAdd 541 89

-                                  Store 540 542

-             543:     20(ptr)     AccessChain 9(color) 70

-             544:    6(float)     Load 543

-             546:    6(float)     Load 545(d12)

-             547:    16(bool)     FOrdLessThan 544 546

-                                  SelectionMerge 549 None

-                                  BranchConditional 547 548 553

-             548:                   Label

-             550:     20(ptr)       AccessChain 9(color) 70

-             551:    6(float)       Load 550

-             552:    6(float)       FAdd 551 89

-                                    Store 550 552

-                                    Branch 549

-             553:                   Label

-             554:     20(ptr)       AccessChain 9(color) 19

-             555:    6(float)       Load 554

-             556:    6(float)       FAdd 555 89

-                                    Store 554 556

-                                    Branch 549

-             549:                 Label

-                                  Branch 522

-             539:               Label

-             558:    7(fvec4)   Load 9(color)

-             559:    7(fvec4)   CompositeConstruct 89 89 89 89

-             560:    7(fvec4)   FAdd 558 559

-                                Store 9(color) 560

-                                Branch 523

-             523:             Label

-                              Branch 562

-             562:             Label

-             565:     20(ptr) AccessChain 9(color) 19

-             566:    6(float) Load 565

-             568:    16(bool) FOrdLessThan 566 567

-                              LoopMerge 563 562 None

-                              BranchConditional 568 564 563

-             564:               Label

-             570:    7(fvec4)   Load 569(bigColor8)

-             571:    7(fvec4)   Load 9(color)

-             572:    7(fvec4)   FAdd 571 570

-                                Store 9(color) 572

-             573:     20(ptr)   AccessChain 9(color) 61

-             574:    6(float)   Load 573

-             575:    6(float)   Load 457(d8)

-             576:    16(bool)   FOrdLessThan 574 575

-                                SelectionMerge 578 None

-                                BranchConditional 576 577 578

-             577:                 Label

-             579:     20(ptr)     AccessChain 9(color) 70

-             580:    6(float)     Load 579

-             581:    6(float)     Load 355(d6)

-             582:    16(bool)     FOrdLessThan 580 581

-                                  SelectionMerge 584 None

-                                  BranchConditional 582 583 584

-             583:                   Label

-                                    Branch 562

-             584:                 Label

-                                  Branch 578

-             578:               Label

-             586:     49(ptr)   AccessChain 569(bigColor8) 19

-             587:    6(float)   Load 586

-             588:     20(ptr)   AccessChain 9(color) 102

-             589:    6(float)   Load 588

-             590:    6(float)   FAdd 589 587

-             591:     20(ptr)   AccessChain 9(color) 102

-                                Store 591 590

-                                Branch 562

-             563:             Label

-             592:    7(fvec4) Load 9(color)

-             593:    7(fvec4) CompositeConstruct 89 89 89 89

-             594:    7(fvec4) FAdd 592 593

-                              Store 9(color) 594

-             597:    7(fvec4) Load 9(color)

-                              Store 596(gl_FragColor) 597

-                              Branch 598

-             598:             Label

-             601:     20(ptr) AccessChain 9(color) 19

-             602:    6(float) Load 601

-             604:    6(float) Load 603(d14)

-             605:    16(bool) FOrdLessThan 602 604

-                              LoopMerge 599 598 None

-                              BranchConditional 605 600 599

-             600:               Label

-             606:     20(ptr)   AccessChain 9(color) 102

-             607:    6(float)   Load 606

-             609:    6(float)   Load 608(d15)

-             610:    16(bool)   FOrdLessThan 607 609

-                                SelectionMerge 612 None

-                                BranchConditional 610 611 614

-             611:                 Label

-                                  Return

-             614:                 Label

-             615:    7(fvec4)     Load 9(color)

-             616:    7(fvec4)     CompositeConstruct 89 89 89 89

-             617:    7(fvec4)     FAdd 615 616

-                                  Store 9(color) 617

-                                  Branch 612

-             612:               Label

-                                Branch 598

-             599:             Label

-             618:    7(fvec4) Load 9(color)

-             619:    7(fvec4) CompositeConstruct 89 89 89 89

-             620:    7(fvec4) FAdd 618 619

-                              Store 9(color) 620

-                              Branch 621

-             621:             Label

-             624:     20(ptr) AccessChain 9(color) 70

-             625:    6(float) Load 624

-             627:    6(float) Load 626(d16)

-             628:    16(bool) FOrdLessThan 625 627

-                              LoopMerge 622 621 None

-                              BranchConditional 628 623 622

-             623:               Label

-             629:     20(ptr)   AccessChain 9(color) 70

-             630:    6(float)   Load 629

-             631:    6(float)   FAdd 630 89

-                                Store 629 631

-                                Branch 621

-             622:             Label

-                              Branch 632

-             632:             Label

-             635:     20(ptr) AccessChain 9(color) 70

-             636:    6(float) Load 635

-             637:    6(float) Load 97(d2)

-             638:    16(bool) FOrdLessThan 636 637

-                              SelectionMerge 640 None

-                              BranchConditional 638 639 640

-             639:               Label

-             641:     20(ptr)   AccessChain 9(color) 102

-             642:    6(float)   Load 641

-             643:    6(float)   Load 105(d3)

-             644:    16(bool)   FOrdLessThan 642 643

-                                Branch 640

-             640:             Label

-             645:    16(bool) Phi 638 632 644 639

-                              LoopMerge 633 632 None

-                              BranchConditional 645 634 633

-             634:               Label

-             646:    7(fvec4)   Load 109(bigColor1_2)

-             647:    7(fvec4)   Load 9(color)

-             648:    7(fvec4)   FAdd 647 646

-                                Store 9(color) 648

-             649:     20(ptr)   AccessChain 9(color) 61

-             650:    6(float)   Load 649

-             651:    6(float)   Load 105(d3)

-             652:    16(bool)   FOrdLessThan 650 651

-                                SelectionMerge 654 None

-                                BranchConditional 652 653 654

-             653:                 Label

-                                  Return

-             654:               Label

-                                Branch 632

-             633:             Label

-                              Branch 656

-             656:             Label

-             659:    16(bool) Phi 17 633 169 674

-                              LoopMerge 657 656 None

-                              Branch 660

-             660:             Label

-                              SelectionMerge 658 None

-                              BranchConditional 659 658 661

-             661:               Label

-             662:     20(ptr)   AccessChain 9(color) 19

-             663:    6(float)   Load 662

-             665:    6(float)   Load 664(d17)

-             666:    16(bool)   FOrdLessThan 663 665

-                                SelectionMerge 667 None

-                                BranchConditional 666 667 657

-             667:               Label

-                                Branch 658

-             658:             Label

-             668:     20(ptr) AccessChain 9(color) 102

-             669:    6(float) Load 668

-             671:    6(float) Load 670(d18)

-             672:    16(bool) FOrdLessThan 669 671

-                              SelectionMerge 674 None

-                              BranchConditional 672 673 674

-             673:               Label

-                                Return

-             674:             Label

-             676:    7(fvec4) Load 9(color)

-             677:    7(fvec4) CompositeConstruct 89 89 89 89

-             678:    7(fvec4) FAdd 676 677

-                              Store 9(color) 678

-                              Branch 656

-             657:             Label

-                              Branch 679

-             679:             Label

-             682:     20(ptr) AccessChain 9(color) 102

-             683:    6(float) Load 682

-             684:    6(float) Load 626(d16)

-             685:    16(bool) FOrdLessThan 683 684

-                              LoopMerge 680 679 None

-                              BranchConditional 685 681 680

-             681:               Label

-             686:     20(ptr)   AccessChain 9(color) 70

-             687:    6(float)   Load 686

-             688:    6(float)   Load 626(d16)

-             689:    16(bool)   FOrdLessThan 687 688

-                                SelectionMerge 691 None

-                                BranchConditional 689 690 693

-             690:                 Label

-                                  Kill

-             693:                 Label

-             694:    7(fvec4)     Load 9(color)

-             695:    7(fvec4)     CompositeConstruct 89 89 89 89

-             696:    7(fvec4)     FAdd 694 695

-                                  Store 9(color) 696

-                                  Branch 691

-             691:               Label

-                                Branch 679

-             680:             Label

-             697:    7(fvec4) Load 9(color)

-             698:    7(fvec4) CompositeConstruct 89 89 89 89

-             699:    7(fvec4) FAdd 697 698

-                              Store 9(color) 699

-             700:    7(fvec4) Load 9(color)

-                              Store 596(gl_FragColor) 700

-                              Return

-                              FunctionEnd

+spv.loops.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 714
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 11
+                              ExecutionMode 4 OriginLowerLeft
+                              Source GLSL 130
+                              Name 4  "main"
+                              Name 9  "color"
+                              Name 11  "BaseColor"
+                              Name 52  "d"
+                              Name 56  "bigColor"
+                              Name 69  "bigColor1_1"
+                              Name 102  "d2"
+                              Name 110  "d3"
+                              Name 114  "bigColor1_2"
+                              Name 126  "bigColor1_3"
+                              Name 132  "d4"
+                              Name 143  "i"
+                              Name 151  "Count"
+                              Name 154  "bigColor2"
+                              Name 164  "bigColor3"
+                              Name 172  "i"
+                              Name 187  "i"
+                              Name 222  "i"
+                              Name 244  "i"
+                              Name 268  "i"
+                              Name 295  "bigColor4"
+                              Name 330  "bigColor5"
+                              Name 336  "d5"
+                              Name 352  "d6"
+                              Name 365  "bigColor6"
+                              Name 401  "d7"
+                              Name 431  "bigColor7"
+                              Name 449  "d8"
+                              Name 491  "d9"
+                              Name 522  "d10"
+                              Name 530  "d11"
+                              Name 540  "d12"
+                              Name 565  "bigColor8"
+                              Name 592  "gl_FragColor"
+                              Name 600  "d14"
+                              Name 605  "d15"
+                              Name 624  "d16"
+                              Name 660  "d18"
+                              Name 671  "d17"
+                              Name 697  "d13"
+                              Name 698  "d19"
+                              Name 699  "d20"
+                              Name 700  "d21"
+                              Name 701  "d22"
+                              Name 702  "d23"
+                              Name 703  "d24"
+                              Name 704  "d25"
+                              Name 705  "d26"
+                              Name 706  "d27"
+                              Name 707  "d28"
+                              Name 708  "d29"
+                              Name 709  "d30"
+                              Name 710  "d31"
+                              Name 711  "d32"
+                              Name 712  "d33"
+                              Name 713  "d34"
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+              10:             TypePointer Input 7(fvec4)
+   11(BaseColor):     10(ptr) Variable Input
+              17:             TypeBool
+              18:    17(bool) ConstantTrue
+              19:             TypeInt 32 0
+              20:     19(int) Constant 0
+              21:             TypePointer Function 6(float)
+              24:    6(float) Constant 1051260355
+              28:    7(fvec4) ConstantComposite 24 24 24 24
+              34:    6(float) Constant 1059648963
+              38:    7(fvec4) ConstantComposite 34 34 34 34
+              51:             TypePointer UniformConstant 6(float)
+           52(d):     51(ptr) Variable UniformConstant
+              55:             TypePointer UniformConstant 7(fvec4)
+    56(bigColor):     55(ptr) Variable UniformConstant
+              64:     19(int) Constant 2
+ 69(bigColor1_1):     55(ptr) Variable UniformConstant
+              73:     19(int) Constant 3
+              90:    6(float) Constant 1109917696
+              93:    6(float) Constant 1065353216
+         102(d2):     51(ptr) Variable UniformConstant
+             107:     19(int) Constant 1
+         110(d3):     51(ptr) Variable UniformConstant
+114(bigColor1_2):     55(ptr) Variable UniformConstant
+126(bigColor1_3):     55(ptr) Variable UniformConstant
+         132(d4):     51(ptr) Variable UniformConstant
+             141:             TypeInt 32 1
+             142:             TypePointer Function 141(int)
+             144:    141(int) Constant 0
+             150:             TypePointer UniformConstant 141(int)
+      151(Count):    150(ptr) Variable UniformConstant
+  154(bigColor2):     55(ptr) Variable UniformConstant
+             159:    141(int) Constant 1
+  164(bigColor3):     55(ptr) Variable UniformConstant
+             178:    141(int) Constant 42
+             193:    141(int) Constant 100
+             197:    6(float) Constant 1101004800
+             228:    141(int) Constant 120
+  295(bigColor4):     55(ptr) Variable UniformConstant
+  330(bigColor5):     55(ptr) Variable UniformConstant
+         336(d5):     51(ptr) Variable UniformConstant
+         352(d6):     51(ptr) Variable UniformConstant
+  365(bigColor6):     55(ptr) Variable UniformConstant
+         401(d7):     51(ptr) Variable UniformConstant
+             426:    6(float) Constant 0
+  431(bigColor7):     55(ptr) Variable UniformConstant
+         449(d8):     51(ptr) Variable UniformConstant
+             466:    6(float) Constant 1073741824
+         491(d9):     51(ptr) Variable UniformConstant
+             507:    6(float) Constant 1084227584
+        522(d10):     51(ptr) Variable UniformConstant
+        530(d11):     51(ptr) Variable UniformConstant
+        540(d12):     51(ptr) Variable UniformConstant
+             563:    6(float) Constant 1092616192
+  565(bigColor8):     55(ptr) Variable UniformConstant
+             591:             TypePointer Output 7(fvec4)
+592(gl_FragColor):    591(ptr) Variable Output
+        600(d14):     51(ptr) Variable UniformConstant
+        605(d15):     51(ptr) Variable UniformConstant
+        624(d16):     51(ptr) Variable UniformConstant
+        660(d18):     51(ptr) Variable UniformConstant
+        671(d17):     51(ptr) Variable UniformConstant
+        697(d13):     51(ptr) Variable UniformConstant
+        698(d19):     51(ptr) Variable UniformConstant
+        699(d20):     51(ptr) Variable UniformConstant
+        700(d21):     51(ptr) Variable UniformConstant
+        701(d22):     51(ptr) Variable UniformConstant
+        702(d23):     51(ptr) Variable UniformConstant
+        703(d24):     51(ptr) Variable UniformConstant
+        704(d25):     51(ptr) Variable UniformConstant
+        705(d26):     51(ptr) Variable UniformConstant
+        706(d27):     51(ptr) Variable UniformConstant
+        707(d28):     51(ptr) Variable UniformConstant
+        708(d29):     51(ptr) Variable UniformConstant
+        709(d30):     51(ptr) Variable UniformConstant
+        710(d31):     51(ptr) Variable UniformConstant
+        711(d32):     51(ptr) Variable UniformConstant
+        712(d33):     51(ptr) Variable UniformConstant
+        713(d34):     51(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+        9(color):      8(ptr) Variable Function
+          143(i):    142(ptr) Variable Function
+          172(i):    142(ptr) Variable Function
+          187(i):    142(ptr) Variable Function
+          222(i):    142(ptr) Variable Function
+          244(i):    142(ptr) Variable Function
+          268(i):    142(ptr) Variable Function
+              12:    7(fvec4) Load 11(BaseColor)
+                              Store 9(color) 12
+                              Branch 16
+              13:             Label
+              22:     21(ptr) AccessChain 9(color) 20
+              23:    6(float) Load 22
+              25:    17(bool) FOrdLessThan 23 24
+                              SelectionMerge 27 None
+                              BranchConditional 25 26 27
+              14:               Label
+                                Branch 48
+              15:               Label
+                                Branch 16
+              16:               Label
+                                LoopMerge 14 15 None
+                                BranchConditional 18 13 14
+              26:                 Label
+              29:    7(fvec4)     Load 9(color)
+              30:    7(fvec4)     FAdd 29 28
+                                  Store 9(color) 30
+                                  Branch 14
+              27:                 Label
+              32:     21(ptr)     AccessChain 9(color) 20
+              33:    6(float)     Load 32
+              35:    17(bool)     FOrdLessThan 33 34
+                                  SelectionMerge 37 None
+                                  BranchConditional 35 36 37
+              36:                   Label
+              39:    7(fvec4)       Load 9(color)
+              40:    7(fvec4)       FAdd 39 38
+                                    Store 9(color) 40
+                                    Branch 14
+              37:                 Label
+              42:    7(fvec4)     Load 9(color)
+              43:    7(fvec4)     FAdd 42 28
+                                  Store 9(color) 43
+                                  Branch 14
+              45:                 Label
+              57:    7(fvec4)     Load 56(bigColor)
+              58:    7(fvec4)     Load 9(color)
+              59:    7(fvec4)     FAdd 58 57
+                                  Store 9(color) 59
+                                  Branch 47
+              46:                 Label
+                                  Branch 63
+              47:                 Label
+                                  Branch 48
+              48:                 Label
+              49:     21(ptr)     AccessChain 9(color) 20
+              50:    6(float)     Load 49
+              53:    6(float)     Load 52(d)
+              54:    17(bool)     FOrdLessThan 50 53
+                                  LoopMerge 46 47 None
+                                  BranchConditional 54 45 46
+              60:                   Label
+              70:    7(fvec4)       Load 69(bigColor1_1)
+              71:    7(fvec4)       Load 9(color)
+              72:    7(fvec4)       FAdd 71 70
+                                    Store 9(color) 72
+              74:     21(ptr)       AccessChain 9(color) 73
+              75:    6(float)       Load 74
+              76:    6(float)       Load 52(d)
+              77:    17(bool)       FOrdLessThan 75 76
+                                    SelectionMerge 79 None
+                                    BranchConditional 77 78 79
+              61:                     Label
+                                      Branch 87
+              62:                     Label
+                                      Branch 63
+              63:                     Label
+              65:     21(ptr)         AccessChain 9(color) 64
+              66:    6(float)         Load 65
+              67:    6(float)         Load 52(d)
+              68:    17(bool)         FOrdLessThan 66 67
+                                      LoopMerge 61 62 None
+                                      BranchConditional 68 60 61
+              78:                       Label
+                                        Branch 62
+              79:                       Label
+              81:    7(fvec4)           Load 69(bigColor1_1)
+              82:    7(fvec4)           Load 9(color)
+              83:    7(fvec4)           FAdd 82 81
+                                        Store 9(color) 83
+                                        Branch 62
+              84:                       Label
+              92:    7(fvec4)           Load 9(color)
+              94:    7(fvec4)           CompositeConstruct 93 93 93 93
+              95:    7(fvec4)           FAdd 92 94
+                                        Store 9(color) 95
+                                        Branch 86
+              85:                       Label
+                                        Branch 99
+              86:                       Label
+                                        Branch 87
+              87:                       Label
+              88:     21(ptr)           AccessChain 9(color) 20
+              89:    6(float)           Load 88
+              91:    17(bool)           FOrdLessThan 89 90
+                                        LoopMerge 85 86 None
+                                        BranchConditional 91 84 85
+              96:                         Label
+             115:    7(fvec4)             Load 114(bigColor1_2)
+             116:    7(fvec4)             Load 9(color)
+             117:    7(fvec4)             FAdd 116 115
+                                          Store 9(color) 117
+                                          Branch 98
+              97:                         Label
+                                          Branch 121
+              98:                         Label
+                                          Branch 99
+              99:                         Label
+             100:     21(ptr)             AccessChain 9(color) 73
+             101:    6(float)             Load 100
+             103:    6(float)             Load 102(d2)
+             104:    17(bool)             FOrdLessThan 101 103
+                                          SelectionMerge 106 None
+                                          BranchConditional 104 105 106
+             105:                           Label
+             108:     21(ptr)               AccessChain 9(color) 107
+             109:    6(float)               Load 108
+             111:    6(float)               Load 110(d3)
+             112:    17(bool)               FOrdLessThan 109 111
+                                            Branch 106
+             106:                         Label
+             113:    17(bool)             Phi 104 99 112 105
+                                          LoopMerge 97 98 None
+                                          BranchConditional 113 96 97
+             118:                           Label
+             127:    7(fvec4)               Load 126(bigColor1_3)
+             128:    7(fvec4)               Load 9(color)
+             129:    7(fvec4)               FAdd 128 127
+                                            Store 9(color) 129
+             130:     21(ptr)               AccessChain 9(color) 107
+             131:    6(float)               Load 130
+             133:    6(float)               Load 132(d4)
+             134:    17(bool)               FOrdLessThan 131 133
+                                            SelectionMerge 136 None
+                                            BranchConditional 134 135 136
+             119:                             Label
+                                              Store 143(i) 144
+                                              Branch 148
+             120:                             Label
+                                              Branch 121
+             121:                             Label
+             122:     21(ptr)                 AccessChain 9(color) 64
+             123:    6(float)                 Load 122
+             124:    6(float)                 Load 110(d3)
+             125:    17(bool)                 FOrdLessThan 123 124
+                                              LoopMerge 119 120 None
+                                              BranchConditional 125 118 119
+             135:                               Label
+                                                Branch 119
+             136:                               Label
+             138:    7(fvec4)                   Load 126(bigColor1_3)
+             139:    7(fvec4)                   Load 9(color)
+             140:    7(fvec4)                   FAdd 139 138
+                                                Store 9(color) 140
+                                                Branch 120
+             145:                               Label
+             155:    7(fvec4)                   Load 154(bigColor2)
+             156:    7(fvec4)                   Load 9(color)
+             157:    7(fvec4)                   FAdd 156 155
+                                                Store 9(color) 157
+                                                Branch 147
+             146:                               Label
+                                                Branch 161
+             147:                               Label
+             158:    141(int)                   Load 143(i)
+             160:    141(int)                   IAdd 158 159
+                                                Store 143(i) 160
+                                                Branch 148
+             148:                               Label
+             149:    141(int)                   Load 143(i)
+             152:    141(int)                   Load 151(Count)
+             153:    17(bool)                   SLessThan 149 152
+                                                LoopMerge 146 147 None
+                                                BranchConditional 153 145 146
+             161:                                 Label
+             165:    7(fvec4)                     Load 164(bigColor3)
+             166:    7(fvec4)                     Load 9(color)
+             167:    7(fvec4)                     FAdd 166 165
+                                                  Store 9(color) 167
+                                                  Branch 163
+             162:                                 Label
+                                                  Store 172(i) 144
+                                                  Branch 176
+             163:                                 Label
+             168:     21(ptr)                     AccessChain 9(color) 20
+             169:    6(float)                     Load 168
+             170:    6(float)                     Load 102(d2)
+             171:    17(bool)                     FOrdLessThan 169 170
+                                                  LoopMerge 162 163 None
+                                                  BranchConditional 171 161 162
+             173:                                   Label
+             180:    6(float)                       Load 110(d3)
+             181:     21(ptr)                       AccessChain 9(color) 64
+             182:    6(float)                       Load 181
+             183:    6(float)                       FAdd 182 180
+             184:     21(ptr)                       AccessChain 9(color) 64
+                                                    Store 184 183
+                                                    Branch 175
+             174:                                   Label
+                                                    Store 187(i) 144
+                                                    Branch 191
+             175:                                   Label
+             185:    141(int)                       Load 172(i)
+             186:    141(int)                       IAdd 185 159
+                                                    Store 172(i) 186
+                                                    Branch 176
+             176:                                   Label
+             177:    141(int)                       Load 172(i)
+             179:    17(bool)                       SLessThan 177 178
+                                                    LoopMerge 174 175 None
+                                                    BranchConditional 179 173 174
+             188:                                     Label
+             195:     21(ptr)                         AccessChain 9(color) 64
+             196:    6(float)                         Load 195
+             198:    17(bool)                         FOrdLessThan 196 197
+                                                      SelectionMerge 200 None
+                                                      BranchConditional 198 199 204
+             189:                                       Label
+                                                        Store 222(i) 144
+                                                        Branch 226
+             190:                                       Label
+             220:    141(int)                           Load 187(i)
+             221:    141(int)                           IAdd 220 159
+                                                        Store 187(i) 221
+                                                        Branch 191
+             191:                                       Label
+             192:    141(int)                           Load 187(i)
+             194:    17(bool)                           SLessThan 192 193
+                                                        LoopMerge 189 190 None
+                                                        BranchConditional 194 188 189
+             199:                                         Label
+             201:     21(ptr)                             AccessChain 9(color) 20
+             202:    6(float)                             Load 201
+             203:    6(float)                             FAdd 202 93
+                                                          Store 201 203
+                                                          Branch 200
+             204:                                         Label
+             205:     21(ptr)                             AccessChain 9(color) 107
+             206:    6(float)                             Load 205
+             207:    6(float)                             FAdd 206 93
+                                                          Store 205 207
+                                                          Branch 200
+             200:                                         Label
+             208:     21(ptr)                             AccessChain 9(color) 73
+             209:    6(float)                             Load 208
+             210:    17(bool)                             FOrdLessThan 209 197
+                                                          SelectionMerge 212 None
+                                                          BranchConditional 210 211 212
+             211:                                           Label
+             213:     21(ptr)                               AccessChain 9(color) 64
+             214:    6(float)                               Load 213
+             215:     21(ptr)                               AccessChain 9(color) 107
+             216:    6(float)                               Load 215
+             217:    17(bool)                               FOrdGreaterThan 214 216
+                                                            SelectionMerge 219 None
+                                                            BranchConditional 217 218 219
+             218:                                             Label
+                                                              Branch 219
+             219:                                           Label
+                                                            Branch 212
+             212:                                         Label
+                                                          Branch 190
+             223:                                         Label
+             230:     21(ptr)                             AccessChain 9(color) 64
+             231:    6(float)                             Load 230
+             232:    17(bool)                             FOrdLessThan 231 197
+                                                          SelectionMerge 234 None
+                                                          BranchConditional 232 233 238
+             224:                                           Label
+                                                            Store 244(i) 144
+                                                            Branch 248
+             225:                                           Label
+             242:    141(int)                               Load 222(i)
+             243:    141(int)                               IAdd 242 159
+                                                            Store 222(i) 243
+                                                            Branch 226
+             226:                                           Label
+             227:    141(int)                               Load 222(i)
+             229:    17(bool)                               SLessThan 227 228
+                                                            LoopMerge 224 225 None
+                                                            BranchConditional 229 223 224
+             233:                                             Label
+             235:     21(ptr)                                 AccessChain 9(color) 20
+             236:    6(float)                                 Load 235
+             237:    6(float)                                 FAdd 236 93
+                                                              Store 235 237
+                                                              Branch 234
+             238:                                             Label
+             239:     21(ptr)                                 AccessChain 9(color) 107
+             240:    6(float)                                 Load 239
+             241:    6(float)                                 FAdd 240 93
+                                                              Store 239 241
+                                                              Branch 234
+             234:                                             Label
+                                                              Branch 225
+             245:                                             Label
+             251:    6(float)                                 Load 110(d3)
+             252:     21(ptr)                                 AccessChain 9(color) 64
+             253:    6(float)                                 Load 252
+             254:    6(float)                                 FAdd 253 251
+             255:     21(ptr)                                 AccessChain 9(color) 64
+                                                              Store 255 254
+             256:     21(ptr)                                 AccessChain 9(color) 20
+             257:    6(float)                                 Load 256
+             258:    6(float)                                 Load 132(d4)
+             259:    17(bool)                                 FOrdLessThan 257 258
+                                                              SelectionMerge 261 None
+                                                              BranchConditional 259 260 261
+             246:                                               Label
+                                                                Store 268(i) 144
+                                                                Branch 272
+             247:                                               Label
+             266:    141(int)                                   Load 244(i)
+             267:    141(int)                                   IAdd 266 159
+                                                                Store 244(i) 267
+                                                                Branch 248
+             248:                                               Label
+             249:    141(int)                                   Load 244(i)
+             250:    17(bool)                                   SLessThan 249 178
+                                                                LoopMerge 246 247 None
+                                                                BranchConditional 250 245 246
+             260:                                                 Label
+                                                                  Branch 247
+             261:                                                 Label
+             263:     21(ptr)                                     AccessChain 9(color) 73
+             264:    6(float)                                     Load 263
+             265:    6(float)                                     FAdd 264 93
+                                                                  Store 263 265
+                                                                  Branch 247
+             269:                                                 Label
+             275:    6(float)                                     Load 110(d3)
+             276:     21(ptr)                                     AccessChain 9(color) 64
+             277:    6(float)                                     Load 276
+             278:    6(float)                                     FAdd 277 275
+             279:     21(ptr)                                     AccessChain 9(color) 64
+                                                                  Store 279 278
+             280:     21(ptr)                                     AccessChain 9(color) 20
+             281:    6(float)                                     Load 280
+             282:    6(float)                                     Load 132(d4)
+             283:    17(bool)                                     FOrdLessThan 281 282
+                                                                  SelectionMerge 285 None
+                                                                  BranchConditional 283 284 285
+             270:                                                   Label
+                                                                    Branch 292
+             271:                                                   Label
+             290:    141(int)                                       Load 268(i)
+             291:    141(int)                                       IAdd 290 159
+                                                                    Store 268(i) 291
+                                                                    Branch 272
+             272:                                                   Label
+             273:    141(int)                                       Load 268(i)
+             274:    17(bool)                                       SLessThan 273 178
+                                                                    LoopMerge 270 271 None
+                                                                    BranchConditional 274 269 270
+             284:                                                     Label
+                                                                      Branch 270
+             285:                                                     Label
+             287:     21(ptr)                                         AccessChain 9(color) 73
+             288:    6(float)                                         Load 287
+             289:    6(float)                                         FAdd 288 93
+                                                                      Store 287 289
+                                                                      Branch 271
+             292:                                                     Label
+             296:    7(fvec4)                                         Load 295(bigColor4)
+             297:    7(fvec4)                                         Load 9(color)
+             298:    7(fvec4)                                         FAdd 297 296
+                                                                      Store 9(color) 298
+             299:     21(ptr)                                         AccessChain 9(color) 20
+             300:    6(float)                                         Load 299
+             301:    6(float)                                         Load 132(d4)
+             302:    17(bool)                                         FOrdLessThan 300 301
+                                                                      SelectionMerge 304 None
+                                                                      BranchConditional 302 303 304
+             293:                                                       Label
+                                                                        Branch 327
+             294:                                                       Label
+             323:     21(ptr)                                           AccessChain 9(color) 64
+             324:    6(float)                                           Load 323
+             325:    6(float)                                           Load 132(d4)
+             326:    17(bool)                                           FOrdLessThan 324 325
+                                                                        LoopMerge 293 294 None
+                                                                        BranchConditional 326 292 293
+             303:                                                         Label
+                                                                          Branch 294
+             304:                                                         Label
+             306:     21(ptr)                                             AccessChain 9(color) 107
+             307:    6(float)                                             Load 306
+             308:    6(float)                                             Load 132(d4)
+             309:    17(bool)                                             FOrdLessThan 307 308
+                                                                          SelectionMerge 311 None
+                                                                          BranchConditional 309 310 317
+             310:                                                           Label
+             312:    6(float)                                               Load 132(d4)
+             313:     21(ptr)                                               AccessChain 9(color) 107
+             314:    6(float)                                               Load 313
+             315:    6(float)                                               FAdd 314 312
+             316:     21(ptr)                                               AccessChain 9(color) 107
+                                                                            Store 316 315
+                                                                            Branch 311
+             317:                                                           Label
+             318:    6(float)                                               Load 132(d4)
+             319:     21(ptr)                                               AccessChain 9(color) 20
+             320:    6(float)                                               Load 319
+             321:    6(float)                                               FAdd 320 318
+             322:     21(ptr)                                               AccessChain 9(color) 20
+                                                                            Store 322 321
+                                                                            Branch 311
+             311:                                                         Label
+                                                                          Branch 294
+             327:                                                         Label
+             331:    7(fvec4)                                             Load 330(bigColor5)
+             332:    7(fvec4)                                             Load 9(color)
+             333:    7(fvec4)                                             FAdd 332 331
+                                                                          Store 9(color) 333
+             334:     21(ptr)                                             AccessChain 9(color) 107
+             335:    6(float)                                             Load 334
+             337:    6(float)                                             Load 336(d5)
+             338:    17(bool)                                             FOrdLessThan 335 337
+                                                                          SelectionMerge 340 None
+                                                                          BranchConditional 338 339 340
+             328:                                                           Label
+             350:     21(ptr)                                               AccessChain 9(color) 20
+             351:    6(float)                                               Load 350
+             353:    6(float)                                               Load 352(d6)
+             354:    17(bool)                                               FOrdLessThan 351 353
+                                                                            SelectionMerge 356 None
+                                                                            BranchConditional 354 355 369
+             329:                                                             Label
+             346:     21(ptr)                                                 AccessChain 9(color) 20
+             347:    6(float)                                                 Load 346
+             348:    6(float)                                                 Load 336(d5)
+             349:    17(bool)                                                 FOrdLessThan 347 348
+                                                                              LoopMerge 328 329 None
+                                                                              BranchConditional 349 327 328
+             339:                                                               Label
+             341:    6(float)                                                   Load 336(d5)
+             342:     21(ptr)                                                   AccessChain 9(color) 107
+             343:    6(float)                                                   Load 342
+             344:    6(float)                                                   FAdd 343 341
+             345:     21(ptr)                                                   AccessChain 9(color) 107
+                                                                                Store 345 344
+                                                                                Branch 340
+             340:                                                               Label
+                                                                                Branch 329
+             355:                                                               Label
+                                                                                Branch 360
+             357:                                                               Label
+             366:    7(fvec4)                                                   Load 365(bigColor6)
+             367:    7(fvec4)                                                   Load 9(color)
+             368:    7(fvec4)                                                   FAdd 367 366
+                                                                                Store 9(color) 368
+                                                                                Branch 359
+             358:                                                               Label
+                                                                                Branch 356
+             359:                                                               Label
+                                                                                Branch 360
+             360:                                                               Label
+             361:     21(ptr)                                                   AccessChain 9(color) 107
+             362:    6(float)                                                   Load 361
+             363:    6(float)                                                   Load 352(d6)
+             364:    17(bool)                                                   FOrdLessThan 362 363
+                                                                                LoopMerge 358 359 None
+                                                                                BranchConditional 364 357 358
+             369:                                                                 Label
+                                                                                  Branch 373
+             370:                                                                 Label
+             378:     51(ptr)                                                     AccessChain 365(bigColor6) 64
+             379:    6(float)                                                     Load 378
+             380:     21(ptr)                                                     AccessChain 9(color) 64
+             381:    6(float)                                                     Load 380
+             382:    6(float)                                                     FAdd 381 379
+             383:     21(ptr)                                                     AccessChain 9(color) 64
+                                                                                  Store 383 382
+                                                                                  Branch 372
+             371:                                                                 Label
+                                                                                  Branch 356
+             372:                                                                 Label
+                                                                                  Branch 373
+             373:                                                                 Label
+             374:     21(ptr)                                                     AccessChain 9(color) 64
+             375:    6(float)                                                     Load 374
+             376:    6(float)                                                     Load 352(d6)
+             377:    17(bool)                                                     FOrdLessThan 375 376
+                                                                                  LoopMerge 371 372 None
+                                                                                  BranchConditional 377 370 371
+             356:                                                                   Label
+             384:     21(ptr)                                                       AccessChain 9(color) 20
+             385:    6(float)                                                       Load 384
+             386:    6(float)                                                       Load 352(d6)
+             387:    17(bool)                                                       FOrdLessThan 385 386
+                                                                                    SelectionMerge 389 None
+                                                                                    BranchConditional 387 388 407
+             388:                                                                     Label
+                                                                                      Branch 393
+             390:                                                                     Label
+             398:    7(fvec4)                                                         Load 365(bigColor6)
+             399:    7(fvec4)                                                         Load 9(color)
+             400:    7(fvec4)                                                         FAdd 399 398
+                                                                                      Store 9(color) 400
+             402:    6(float)                                                         Load 401(d7)
+             403:    17(bool)                                                         FOrdLessThan 402 93
+                                                                                      SelectionMerge 405 None
+                                                                                      BranchConditional 403 404 405
+             391:                                                                       Label
+                                                                                        Branch 389
+             392:                                                                       Label
+                                                                                        Branch 393
+             393:                                                                       Label
+             394:     21(ptr)                                                           AccessChain 9(color) 107
+             395:    6(float)                                                           Load 394
+             396:    6(float)                                                           Load 352(d6)
+             397:    17(bool)                                                           FOrdLessThan 395 396
+                                                                                        LoopMerge 391 392 None
+                                                                                        BranchConditional 397 390 391
+             404:                                                                         Label
+                                                                                          Branch 391
+             405:                                                                         Label
+                                                                                          Branch 392
+             407:                                                                         Label
+                                                                                          Branch 411
+             408:                                                                         Label
+             416:     51(ptr)                                                             AccessChain 365(bigColor6) 64
+             417:    6(float)                                                             Load 416
+             418:     21(ptr)                                                             AccessChain 9(color) 64
+             419:    6(float)                                                             Load 418
+             420:    6(float)                                                             FAdd 419 417
+             421:     21(ptr)                                                             AccessChain 9(color) 64
+                                                                                          Store 421 420
+                                                                                          Branch 410
+             409:                                                                         Label
+                                                                                          Branch 389
+             410:                                                                         Label
+                                                                                          Branch 411
+             411:                                                                         Label
+             412:     21(ptr)                                                             AccessChain 9(color) 64
+             413:    6(float)                                                             Load 412
+             414:    6(float)                                                             Load 352(d6)
+             415:    17(bool)                                                             FOrdLessThan 413 414
+                                                                                          LoopMerge 409 410 None
+                                                                                          BranchConditional 415 408 409
+             389:                                                                           Label
+                                                                                            Branch 422
+             422:                                                                           Label
+             425:    6(float)                                                               Load 401(d7)
+             427:    17(bool)                                                               FOrdLessThan 425 426
+                                                                                            SelectionMerge 429 None
+                                                                                            BranchConditional 427 428 429
+             423:                                                                             Label
+                                                                                              Branch 446
+             424:                                                                             Label
+                                                                                              LoopMerge 423 424 None
+                                                                                              BranchConditional 18 422 423
+             428:                                                                               Label
+                                                                                                Branch 423
+             429:                                                                               Label
+             432:    7(fvec4)                                                                   Load 431(bigColor7)
+             433:    7(fvec4)                                                                   Load 9(color)
+             434:    7(fvec4)                                                                   FAdd 433 432
+                                                                                                Store 9(color) 434
+             435:    6(float)                                                                   Load 401(d7)
+             436:    17(bool)                                                                   FOrdLessThan 435 93
+                                                                                                SelectionMerge 438 None
+                                                                                                BranchConditional 436 437 438
+             437:                                                                                 Label
+             439:     21(ptr)                                                                     AccessChain 9(color) 64
+             440:    6(float)                                                                     Load 439
+             441:    6(float)                                                                     FAdd 440 93
+                                                                                                  Store 439 441
+                                                                                                  Branch 423
+             438:                                                                               Label
+             443:    7(fvec4)                                                                   Load 11(BaseColor)
+             444:    7(fvec4)                                                                   Load 9(color)
+             445:    7(fvec4)                                                                   FAdd 444 443
+                                                                                                Store 9(color) 445
+                                                                                                Branch 424
+             446:                                                                               Label
+             450:    6(float)                                                                   Load 449(d8)
+             451:    17(bool)                                                                   FOrdLessThan 450 426
+                                                                                                SelectionMerge 453 None
+                                                                                                BranchConditional 451 452 453
+             447:                                                                                 Label
+                                                                                                  Branch 488
+             448:                                                                                 Label
+             481:     21(ptr)                                                                     AccessChain 9(color) 64
+             482:    6(float)                                                                     Load 481
+             483:    6(float)                                                                     Load 449(d8)
+             484:    17(bool)                                                                     FOrdLessThan 482 483
+                                                                                                  LoopMerge 447 448 None
+                                                                                                  BranchConditional 484 446 447
+             452:                                                                                   Label
+                                                                                                    Branch 447
+             453:                                                                                   Label
+             455:    7(fvec4)                                                                       Load 431(bigColor7)
+             456:    7(fvec4)                                                                       Load 9(color)
+             457:    7(fvec4)                                                                       FAdd 456 455
+                                                                                                    Store 9(color) 457
+             458:    6(float)                                                                       Load 449(d8)
+             459:    17(bool)                                                                       FOrdLessThan 458 93
+                                                                                                    SelectionMerge 461 None
+                                                                                                    BranchConditional 459 460 461
+             460:                                                                                     Label
+             462:     21(ptr)                                                                         AccessChain 9(color) 64
+             463:    6(float)                                                                         Load 462
+             464:    6(float)                                                                         FAdd 463 93
+                                                                                                      Store 462 464
+             465:    6(float)                                                                         Load 449(d8)
+             467:    17(bool)                                                                         FOrdLessThan 465 466
+                                                                                                      SelectionMerge 469 None
+                                                                                                      BranchConditional 467 468 473
+             468:                                                                                       Label
+             470:     21(ptr)                                                                           AccessChain 9(color) 107
+             471:    6(float)                                                                           Load 470
+             472:    6(float)                                                                           FAdd 471 93
+                                                                                                        Store 470 472
+                                                                                                        Branch 469
+             473:                                                                                       Label
+             474:     21(ptr)                                                                           AccessChain 9(color) 20
+             475:    6(float)                                                                           Load 474
+             476:    6(float)                                                                           FAdd 475 93
+                                                                                                        Store 474 476
+                                                                                                        Branch 469
+             469:                                                                                     Label
+                                                                                                      Branch 447
+             461:                                                                                   Label
+             478:    7(fvec4)                                                                       Load 11(BaseColor)
+             479:    7(fvec4)                                                                       Load 9(color)
+             480:    7(fvec4)                                                                       FAdd 479 478
+                                                                                                    Store 9(color) 480
+                                                                                                    Branch 448
+             485:                                                                                   Label
+             494:    6(float)                                                                       Load 491(d9)
+             495:    6(float)                                                                       Load 449(d8)
+             496:    17(bool)                                                                       FOrdGreaterThan 494 495
+                                                                                                    SelectionMerge 498 None
+                                                                                                    BranchConditional 496 497 498
+             486:                                                                                     Label
+                                                                                                      Branch 519
+             487:                                                                                     Label
+                                                                                                      Branch 488
+             488:                                                                                     Label
+             489:     21(ptr)                                                                         AccessChain 9(color) 73
+             490:    6(float)                                                                         Load 489
+             492:    6(float)                                                                         Load 491(d9)
+             493:    17(bool)                                                                         FOrdLessThan 490 492
+                                                                                                      LoopMerge 486 487 None
+                                                                                                      BranchConditional 493 485 486
+             497:                                                                                       Label
+             499:     21(ptr)                                                                           AccessChain 9(color) 20
+             500:    6(float)                                                                           Load 499
+             501:    6(float)                                                                           Load 401(d7)
+             502:    17(bool)                                                                           FOrdLessThanEqual 500 501
+                                                                                                        SelectionMerge 504 None
+                                                                                                        BranchConditional 502 503 504
+             503:                                                                                         Label
+             505:     21(ptr)                                                                             AccessChain 9(color) 64
+             506:    6(float)                                                                             Load 505
+             508:    17(bool)                                                                             FOrdEqual 506 507
+                                                                                                          SelectionMerge 510 None
+                                                                                                          BranchConditional 508 509 514
+             509:                                                                                           Label
+             511:     21(ptr)                                                                               AccessChain 9(color) 73
+             512:    6(float)                                                                               Load 511
+             513:    6(float)                                                                               FAdd 512 93
+                                                                                                            Store 511 513
+                                                                                                            Branch 510
+             514:                                                                                           Label
+                                                                                                            Branch 486
+             510:                                                                                         Label
+                                                                                                          Branch 504
+             504:                                                                                       Label
+                                                                                                        Branch 498
+             498:                                                                                       Label
+                                                                                                        Branch 487
+             516:                                                                                       Label
+             525:     21(ptr)                                                                           AccessChain 9(color) 107
+             526:    6(float)                                                                           Load 525
+             527:    6(float)                                                                           FAdd 526 93
+                                                                                                        Store 525 527
+             528:     21(ptr)                                                                           AccessChain 9(color) 107
+             529:    6(float)                                                                           Load 528
+             531:    6(float)                                                                           Load 530(d11)
+             532:    17(bool)                                                                           FOrdLessThan 529 531
+                                                                                                        SelectionMerge 534 None
+                                                                                                        BranchConditional 532 533 534
+             517:                                                                                         Label
+                                                                                                          Branch 560
+             518:                                                                                         Label
+                                                                                                          Branch 519
+             519:                                                                                         Label
+             520:     21(ptr)                                                                             AccessChain 9(color) 64
+             521:    6(float)                                                                             Load 520
+             523:    6(float)                                                                             Load 522(d10)
+             524:    17(bool)                                                                             FOrdLessThan 521 523
+                                                                                                          LoopMerge 517 518 None
+                                                                                                          BranchConditional 524 516 517
+             533:                                                                                           Label
+             535:     21(ptr)                                                                               AccessChain 9(color) 64
+             536:    6(float)                                                                               Load 535
+             537:    6(float)                                                                               FAdd 536 93
+                                                                                                            Store 535 537
+             538:     21(ptr)                                                                               AccessChain 9(color) 73
+             539:    6(float)                                                                               Load 538
+             541:    6(float)                                                                               Load 540(d12)
+             542:    17(bool)                                                                               FOrdLessThan 539 541
+                                                                                                            SelectionMerge 544 None
+                                                                                                            BranchConditional 542 543 548
+             543:                                                                                             Label
+             545:     21(ptr)                                                                                 AccessChain 9(color) 73
+             546:    6(float)                                                                                 Load 545
+             547:    6(float)                                                                                 FAdd 546 93
+                                                                                                              Store 545 547
+                                                                                                              Branch 544
+             548:                                                                                             Label
+             549:     21(ptr)                                                                                 AccessChain 9(color) 20
+             550:    6(float)                                                                                 Load 549
+             551:    6(float)                                                                                 FAdd 550 93
+                                                                                                              Store 549 551
+                                                                                                              Branch 544
+             544:                                                                                           Label
+                                                                                                            Branch 518
+             534:                                                                                           Label
+             553:    7(fvec4)                                                                               Load 9(color)
+             554:    7(fvec4)                                                                               CompositeConstruct 93 93 93 93
+             555:    7(fvec4)                                                                               FAdd 553 554
+                                                                                                            Store 9(color) 555
+                                                                                                            Branch 517
+             557:                                                                                           Label
+             566:    7(fvec4)                                                                               Load 565(bigColor8)
+             567:    7(fvec4)                                                                               Load 9(color)
+             568:    7(fvec4)                                                                               FAdd 567 566
+                                                                                                            Store 9(color) 568
+             569:     21(ptr)                                                                               AccessChain 9(color) 64
+             570:    6(float)                                                                               Load 569
+             571:    6(float)                                                                               Load 449(d8)
+             572:    17(bool)                                                                               FOrdLessThan 570 571
+                                                                                                            SelectionMerge 574 None
+                                                                                                            BranchConditional 572 573 574
+             558:                                                                                             Label
+             588:    7(fvec4)                                                                                 Load 9(color)
+             589:    7(fvec4)                                                                                 CompositeConstruct 93 93 93 93
+             590:    7(fvec4)                                                                                 FAdd 588 589
+                                                                                                              Store 9(color) 590
+             593:    7(fvec4)                                                                                 Load 9(color)
+                                                                                                              Store 592(gl_FragColor) 593
+                                                                                                              Branch 597
+             559:                                                                                             Label
+                                                                                                              Branch 560
+             560:                                                                                             Label
+             561:     21(ptr)                                                                                 AccessChain 9(color) 20
+             562:    6(float)                                                                                 Load 561
+             564:    17(bool)                                                                                 FOrdLessThan 562 563
+                                                                                                              LoopMerge 558 559 None
+                                                                                                              BranchConditional 564 557 558
+             573:                                                                                               Label
+             575:     21(ptr)                                                                                   AccessChain 9(color) 73
+             576:    6(float)                                                                                   Load 575
+             577:    6(float)                                                                                   Load 352(d6)
+             578:    17(bool)                                                                                   FOrdLessThan 576 577
+                                                                                                                SelectionMerge 580 None
+                                                                                                                BranchConditional 578 579 580
+             579:                                                                                                 Label
+                                                                                                                  Branch 559
+             580:                                                                                               Label
+                                                                                                                Branch 574
+             574:                                                                                               Label
+             582:     51(ptr)                                                                                   AccessChain 565(bigColor8) 20
+             583:    6(float)                                                                                   Load 582
+             584:     21(ptr)                                                                                   AccessChain 9(color) 107
+             585:    6(float)                                                                                   Load 584
+             586:    6(float)                                                                                   FAdd 585 583
+             587:     21(ptr)                                                                                   AccessChain 9(color) 107
+                                                                                                                Store 587 586
+                                                                                                                Branch 559
+             594:                                                                                               Label
+             603:     21(ptr)                                                                                   AccessChain 9(color) 107
+             604:    6(float)                                                                                   Load 603
+             606:    6(float)                                                                                   Load 605(d15)
+             607:    17(bool)                                                                                   FOrdLessThan 604 606
+                                                                                                                SelectionMerge 609 None
+                                                                                                                BranchConditional 607 608 611
+             595:                                                                                                 Label
+             615:    7(fvec4)                                                                                     Load 9(color)
+             616:    7(fvec4)                                                                                     CompositeConstruct 93 93 93 93
+             617:    7(fvec4)                                                                                     FAdd 615 616
+                                                                                                                  Store 9(color) 617
+                                                                                                                  Branch 621
+             596:                                                                                                 Label
+                                                                                                                  Branch 597
+             597:                                                                                                 Label
+             598:     21(ptr)                                                                                     AccessChain 9(color) 20
+             599:    6(float)                                                                                     Load 598
+             601:    6(float)                                                                                     Load 600(d14)
+             602:    17(bool)                                                                                     FOrdLessThan 599 601
+                                                                                                                  LoopMerge 595 596 None
+                                                                                                                  BranchConditional 602 594 595
+             608:                                                                                                   Label
+                                                                                                                    Return
+             611:                                                                                                   Label
+             612:    7(fvec4)                                                                                       Load 9(color)
+             613:    7(fvec4)                                                                                       CompositeConstruct 93 93 93 93
+             614:    7(fvec4)                                                                                       FAdd 612 613
+                                                                                                                    Store 9(color) 614
+                                                                                                                    Branch 609
+             609:                                                                                                   Label
+                                                                                                                    Branch 596
+             618:                                                                                                   Label
+             627:     21(ptr)                                                                                       AccessChain 9(color) 73
+             628:    6(float)                                                                                       Load 627
+             629:    6(float)                                                                                       FAdd 628 93
+                                                                                                                    Store 627 629
+                                                                                                                    Branch 620
+             619:                                                                                                   Label
+                                                                                                                    Branch 633
+             620:                                                                                                   Label
+                                                                                                                    Branch 621
+             621:                                                                                                   Label
+             622:     21(ptr)                                                                                       AccessChain 9(color) 73
+             623:    6(float)                                                                                       Load 622
+             625:    6(float)                                                                                       Load 624(d16)
+             626:    17(bool)                                                                                       FOrdLessThan 623 625
+                                                                                                                    LoopMerge 619 620 None
+                                                                                                                    BranchConditional 626 618 619
+             630:                                                                                                     Label
+             645:    7(fvec4)                                                                                         Load 114(bigColor1_2)
+             646:    7(fvec4)                                                                                         Load 9(color)
+             647:    7(fvec4)                                                                                         FAdd 646 645
+                                                                                                                      Store 9(color) 647
+             648:     21(ptr)                                                                                         AccessChain 9(color) 64
+             649:    6(float)                                                                                         Load 648
+             650:    6(float)                                                                                         Load 110(d3)
+             651:    17(bool)                                                                                         FOrdLessThan 649 650
+                                                                                                                      SelectionMerge 653 None
+                                                                                                                      BranchConditional 651 652 653
+             631:                                                                                                       Label
+                                                                                                                        Branch 655
+             632:                                                                                                       Label
+                                                                                                                        Branch 633
+             633:                                                                                                       Label
+             634:     21(ptr)                                                                                           AccessChain 9(color) 73
+             635:    6(float)                                                                                           Load 634
+             636:    6(float)                                                                                           Load 102(d2)
+             637:    17(bool)                                                                                           FOrdLessThan 635 636
+                                                                                                                        SelectionMerge 639 None
+                                                                                                                        BranchConditional 637 638 639
+             638:                                                                                                         Label
+             640:     21(ptr)                                                                                             AccessChain 9(color) 107
+             641:    6(float)                                                                                             Load 640
+             642:    6(float)                                                                                             Load 110(d3)
+             643:    17(bool)                                                                                             FOrdLessThan 641 642
+                                                                                                                          Branch 639
+             639:                                                                                                       Label
+             644:    17(bool)                                                                                           Phi 637 633 643 638
+                                                                                                                        LoopMerge 631 632 None
+                                                                                                                        BranchConditional 644 630 631
+             652:                                                                                                         Label
+                                                                                                                          Return
+             653:                                                                                                         Label
+                                                                                                                          Branch 632
+             655:                                                                                                         Label
+             658:     21(ptr)                                                                                             AccessChain 9(color) 107
+             659:    6(float)                                                                                             Load 658
+             661:    6(float)                                                                                             Load 660(d18)
+             662:    17(bool)                                                                                             FOrdLessThan 659 661
+                                                                                                                          SelectionMerge 664 None
+                                                                                                                          BranchConditional 662 663 664
+             656:                                                                                                           Label
+                                                                                                                            Branch 677
+             657:                                                                                                           Label
+             669:     21(ptr)                                                                                               AccessChain 9(color) 20
+             670:    6(float)                                                                                               Load 669
+             672:    6(float)                                                                                               Load 671(d17)
+             673:    17(bool)                                                                                               FOrdLessThan 670 672
+                                                                                                                            LoopMerge 656 657 None
+                                                                                                                            BranchConditional 673 655 656
+             663:                                                                                                             Label
+                                                                                                                              Return
+             664:                                                                                                             Label
+             666:    7(fvec4)                                                                                                 Load 9(color)
+             667:    7(fvec4)                                                                                                 CompositeConstruct 93 93 93 93
+             668:    7(fvec4)                                                                                                 FAdd 666 667
+                                                                                                                              Store 9(color) 668
+                                                                                                                              Branch 657
+             674:                                                                                                             Label
+             682:     21(ptr)                                                                                                 AccessChain 9(color) 73
+             683:    6(float)                                                                                                 Load 682
+             684:    6(float)                                                                                                 Load 624(d16)
+             685:    17(bool)                                                                                                 FOrdLessThan 683 684
+                                                                                                                              SelectionMerge 687 None
+                                                                                                                              BranchConditional 685 686 689
+             675:                                                                                                               Label
+             693:    7(fvec4)                                                                                                   Load 9(color)
+             694:    7(fvec4)                                                                                                   CompositeConstruct 93 93 93 93
+             695:    7(fvec4)                                                                                                   FAdd 693 694
+                                                                                                                                Store 9(color) 695
+             696:    7(fvec4)                                                                                                   Load 9(color)
+                                                                                                                                Store 592(gl_FragColor) 696
+                                                                                                                                Return
+             676:                                                                                                               Label
+                                                                                                                                Branch 677
+             677:                                                                                                               Label
+             678:     21(ptr)                                                                                                   AccessChain 9(color) 107
+             679:    6(float)                                                                                                   Load 678
+             680:    6(float)                                                                                                   Load 624(d16)
+             681:    17(bool)                                                                                                   FOrdLessThan 679 680
+                                                                                                                                LoopMerge 675 676 None
+                                                                                                                                BranchConditional 681 674 675
+             686:                                                                                                                 Label
+                                                                                                                                  Kill
+             689:                                                                                                                 Label
+             690:    7(fvec4)                                                                                                     Load 9(color)
+             691:    7(fvec4)                                                                                                     CompositeConstruct 93 93 93 93
+             692:    7(fvec4)                                                                                                     FAdd 690 691
+                                                                                                                                  Store 9(color) 692
+                                                                                                                                  Branch 687
+             687:                                                                                                                 Label
+                                                                                                                                  Branch 676
+                                                                                                                                  FunctionEnd
diff --git a/Test/baseResults/spv.loopsArtificial.frag.out b/Test/baseResults/spv.loopsArtificial.frag.out
index 314a969..ff7a8f2 100755
--- a/Test/baseResults/spv.loopsArtificial.frag.out
+++ b/Test/baseResults/spv.loopsArtificial.frag.out
@@ -1,308 +1,299 @@
-spv.loopsArtificial.frag

-WARNING: 0:14: varying deprecated in version 130; may be removed in future release

-

-

-Linked fragment stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 191

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Fragment 4  "main" 11

-                              ExecutionMode 4 OriginLowerLeft

-                              Source GLSL 130

-                              Name 4  "main"

-                              Name 9  "color"

-                              Name 11  "BaseColor"

-                              Name 27  "d4"

-                              Name 32  "bigColor4"

-                              Name 84  "d13"

-                              Name 144  "gl_FragColor"

-                              Name 146  "bigColor"

-                              Name 147  "bigColor1_1"

-                              Name 148  "bigColor1_2"

-                              Name 149  "bigColor1_3"

-                              Name 150  "bigColor2"

-                              Name 151  "bigColor3"

-                              Name 152  "bigColor5"

-                              Name 153  "bigColor6"

-                              Name 154  "bigColor7"

-                              Name 155  "bigColor8"

-                              Name 156  "d"

-                              Name 157  "d2"

-                              Name 158  "d3"

-                              Name 159  "d5"

-                              Name 160  "d6"

-                              Name 161  "d7"

-                              Name 162  "d8"

-                              Name 163  "d9"

-                              Name 164  "d10"

-                              Name 165  "d11"

-                              Name 166  "d12"

-                              Name 167  "d14"

-                              Name 168  "d15"

-                              Name 169  "d16"

-                              Name 170  "d17"

-                              Name 171  "d18"

-                              Name 172  "d19"

-                              Name 173  "d20"

-                              Name 174  "d21"

-                              Name 175  "d22"

-                              Name 176  "d23"

-                              Name 177  "d24"

-                              Name 178  "d25"

-                              Name 179  "d26"

-                              Name 180  "d27"

-                              Name 181  "d28"

-                              Name 182  "d29"

-                              Name 183  "d30"

-                              Name 184  "d31"

-                              Name 185  "d32"

-                              Name 186  "d33"

-                              Name 187  "d34"

-                              Name 190  "Count"

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeFloat 32

-               7:             TypeVector 6(float) 4

-               8:             TypePointer Function 7(fvec4)

-              10:             TypePointer Input 7(fvec4)

-   11(BaseColor):     10(ptr) Variable Input

-              17:             TypeBool

-              18:    17(bool) ConstantTrue

-              21:             TypeInt 32 0

-              22:     21(int) Constant 2

-              23:             TypePointer Function 6(float)

-              26:             TypePointer UniformConstant 6(float)

-          27(d4):     26(ptr) Variable UniformConstant

-              31:             TypePointer UniformConstant 7(fvec4)

-   32(bigColor4):     31(ptr) Variable UniformConstant

-              36:     21(int) Constant 0

-              43:    6(float) Constant 1073741824

-              56:    6(float) Constant 1065353216

-              58:    17(bool) ConstantFalse

-              60:     21(int) Constant 1

-              81:     21(int) Constant 3

-         84(d13):     26(ptr) Variable UniformConstant

-             143:             TypePointer Output 7(fvec4)

-144(gl_FragColor):    143(ptr) Variable Output

-   146(bigColor):     31(ptr) Variable UniformConstant

-147(bigColor1_1):     31(ptr) Variable UniformConstant

-148(bigColor1_2):     31(ptr) Variable UniformConstant

-149(bigColor1_3):     31(ptr) Variable UniformConstant

-  150(bigColor2):     31(ptr) Variable UniformConstant

-  151(bigColor3):     31(ptr) Variable UniformConstant

-  152(bigColor5):     31(ptr) Variable UniformConstant

-  153(bigColor6):     31(ptr) Variable UniformConstant

-  154(bigColor7):     31(ptr) Variable UniformConstant

-  155(bigColor8):     31(ptr) Variable UniformConstant

-          156(d):     26(ptr) Variable UniformConstant

-         157(d2):     26(ptr) Variable UniformConstant

-         158(d3):     26(ptr) Variable UniformConstant

-         159(d5):     26(ptr) Variable UniformConstant

-         160(d6):     26(ptr) Variable UniformConstant

-         161(d7):     26(ptr) Variable UniformConstant

-         162(d8):     26(ptr) Variable UniformConstant

-         163(d9):     26(ptr) Variable UniformConstant

-        164(d10):     26(ptr) Variable UniformConstant

-        165(d11):     26(ptr) Variable UniformConstant

-        166(d12):     26(ptr) Variable UniformConstant

-        167(d14):     26(ptr) Variable UniformConstant

-        168(d15):     26(ptr) Variable UniformConstant

-        169(d16):     26(ptr) Variable UniformConstant

-        170(d17):     26(ptr) Variable UniformConstant

-        171(d18):     26(ptr) Variable UniformConstant

-        172(d19):     26(ptr) Variable UniformConstant

-        173(d20):     26(ptr) Variable UniformConstant

-        174(d21):     26(ptr) Variable UniformConstant

-        175(d22):     26(ptr) Variable UniformConstant

-        176(d23):     26(ptr) Variable UniformConstant

-        177(d24):     26(ptr) Variable UniformConstant

-        178(d25):     26(ptr) Variable UniformConstant

-        179(d26):     26(ptr) Variable UniformConstant

-        180(d27):     26(ptr) Variable UniformConstant

-        181(d28):     26(ptr) Variable UniformConstant

-        182(d29):     26(ptr) Variable UniformConstant

-        183(d30):     26(ptr) Variable UniformConstant

-        184(d31):     26(ptr) Variable UniformConstant

-        185(d32):     26(ptr) Variable UniformConstant

-        186(d33):     26(ptr) Variable UniformConstant

-        187(d34):     26(ptr) Variable UniformConstant

-             188:             TypeInt 32 1

-             189:             TypePointer UniformConstant 188(int)

-      190(Count):    189(ptr) Variable UniformConstant

-         4(main):           2 Function None 3

-               5:             Label

-        9(color):      8(ptr) Variable Function

-              12:    7(fvec4) Load 11(BaseColor)

-                              Store 9(color) 12

-                              Branch 13

-              13:             Label

-              16:    17(bool) Phi 18 5 58 52 58 66

-                              LoopMerge 14 13 None

-                              Branch 19

-              19:             Label

-                              SelectionMerge 15 None

-                              BranchConditional 16 15 20

-              20:               Label

-              24:     23(ptr)   AccessChain 9(color) 22

-              25:    6(float)   Load 24

-              28:    6(float)   Load 27(d4)

-              29:    17(bool)   FOrdLessThan 25 28

-                                SelectionMerge 30 None

-                                BranchConditional 29 30 14

-              30:               Label

-                                Branch 15

-              15:             Label

-              33:    7(fvec4) Load 32(bigColor4)

-              34:    7(fvec4) Load 9(color)

-              35:    7(fvec4) FAdd 34 33

-                              Store 9(color) 35

-              37:     23(ptr) AccessChain 9(color) 36

-              38:    6(float) Load 37

-              39:    6(float) Load 27(d4)

-              40:    17(bool) FOrdLessThan 38 39

-                              SelectionMerge 42 None

-                              BranchConditional 40 41 42

-              41:               Label

-              44:     23(ptr)   AccessChain 9(color) 22

-              45:    6(float)   Load 44

-              46:    6(float)   FAdd 45 43

-              47:     23(ptr)   AccessChain 9(color) 22

-                                Store 47 46

-              48:     23(ptr)   AccessChain 9(color) 22

-              49:    6(float)   Load 48

-              50:    6(float)   Load 27(d4)

-              51:    17(bool)   FOrdLessThan 49 50

-                                SelectionMerge 53 None

-                                BranchConditional 51 52 53

-              52:                 Label

-              54:     23(ptr)     AccessChain 9(color) 36

-              55:    6(float)     Load 54

-              57:    6(float)     FAdd 55 56

-                                  Store 54 57

-                                  Branch 13

-              53:               Label

-                                Branch 42

-              42:             Label

-              61:     23(ptr) AccessChain 9(color) 60

-              62:    6(float) Load 61

-              63:    6(float) Load 27(d4)

-              64:    17(bool) FOrdLessThan 62 63

-                              SelectionMerge 66 None

-                              BranchConditional 64 65 72

-              65:               Label

-              67:    6(float)   Load 27(d4)

-              68:     23(ptr)   AccessChain 9(color) 60

-              69:    6(float)   Load 68

-              70:    6(float)   FAdd 69 67

-              71:     23(ptr)   AccessChain 9(color) 60

-                                Store 71 70

-                                Branch 66

-              72:               Label

-              73:    6(float)   Load 27(d4)

-              74:     23(ptr)   AccessChain 9(color) 36

-              75:    6(float)   Load 74

-              76:    6(float)   FAdd 75 73

-              77:     23(ptr)   AccessChain 9(color) 36

-                                Store 77 76

-                                Branch 66

-              66:             Label

-                              Branch 13

-              14:             Label

-                              Branch 78

-              78:             Label

-              82:     23(ptr) AccessChain 9(color) 81

-              83:    6(float) Load 82

-              85:    6(float) Load 84(d13)

-              86:    17(bool) FOrdLessThan 83 85

-                              LoopMerge 79 78 None

-                              BranchConditional 86 80 79

-              80:               Label

-              87:     23(ptr)   AccessChain 9(color) 22

-              88:    6(float)   Load 87

-              89:    6(float)   Load 84(d13)

-              90:    17(bool)   FOrdLessThan 88 89

-                                SelectionMerge 92 None

-                                BranchConditional 90 91 96

-              91:                 Label

-              93:    7(fvec4)     Load 9(color)

-              94:    7(fvec4)     CompositeConstruct 56 56 56 56

-              95:    7(fvec4)     FAdd 93 94

-                                  Store 9(color) 95

-                                  Branch 92

-              96:                 Label

-              97:    7(fvec4)     Load 9(color)

-              98:    7(fvec4)     CompositeConstruct 56 56 56 56

-              99:    7(fvec4)     FSub 97 98

-                                  Store 9(color) 99

-                                  Branch 92

-              92:               Label

-             100:    7(fvec4)   Load 32(bigColor4)

-             101:    7(fvec4)   Load 9(color)

-             102:    7(fvec4)   FAdd 101 100

-                                Store 9(color) 102

-             103:     23(ptr)   AccessChain 9(color) 36

-             104:    6(float)   Load 103

-             105:    6(float)   Load 27(d4)

-             106:    17(bool)   FOrdLessThan 104 105

-                                SelectionMerge 108 None

-                                BranchConditional 106 107 108

-             107:                 Label

-             109:     23(ptr)     AccessChain 9(color) 22

-             110:    6(float)     Load 109

-             111:    6(float)     FAdd 110 43

-             112:     23(ptr)     AccessChain 9(color) 22

-                                  Store 112 111

-             113:     23(ptr)     AccessChain 9(color) 22

-             114:    6(float)     Load 113

-             115:    6(float)     Load 27(d4)

-             116:    17(bool)     FOrdLessThan 114 115

-                                  SelectionMerge 118 None

-                                  BranchConditional 116 117 118

-             117:                   Label

-             119:     23(ptr)       AccessChain 9(color) 36

-             120:    6(float)       Load 119

-             121:    6(float)       FAdd 120 56

-                                    Store 119 121

-                                    Branch 78

-             118:                 Label

-                                  Branch 108

-             108:               Label

-             123:     23(ptr)   AccessChain 9(color) 60

-             124:    6(float)   Load 123

-             125:    6(float)   Load 27(d4)

-             126:    17(bool)   FOrdLessThan 124 125

-                                SelectionMerge 128 None

-                                BranchConditional 126 127 134

-             127:                 Label

-             129:    6(float)     Load 27(d4)

-             130:     23(ptr)     AccessChain 9(color) 60

-             131:    6(float)     Load 130

-             132:    6(float)     FAdd 131 129

-             133:     23(ptr)     AccessChain 9(color) 60

-                                  Store 133 132

-                                  Branch 128

-             134:                 Label

-             135:    6(float)     Load 27(d4)

-             136:     23(ptr)     AccessChain 9(color) 36

-             137:    6(float)     Load 136

-             138:    6(float)     FAdd 137 135

-             139:     23(ptr)     AccessChain 9(color) 36

-                                  Store 139 138

-                                  Branch 128

-             128:               Label

-                                Branch 78

-              79:             Label

-             140:    7(fvec4) Load 9(color)

-             141:    7(fvec4) CompositeConstruct 56 56 56 56

-             142:    7(fvec4) FAdd 140 141

-                              Store 9(color) 142

-             145:    7(fvec4) Load 9(color)

-                              Store 144(gl_FragColor) 145

-                              Return

-                              FunctionEnd

+spv.loopsArtificial.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 186
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 11
+                              ExecutionMode 4 OriginLowerLeft
+                              Source GLSL 130
+                              Name 4  "main"
+                              Name 9  "color"
+                              Name 11  "BaseColor"
+                              Name 17  "bigColor4"
+                              Name 27  "d4"
+                              Name 79  "d13"
+                              Name 139  "gl_FragColor"
+                              Name 141  "bigColor"
+                              Name 142  "bigColor1_1"
+                              Name 143  "bigColor1_2"
+                              Name 144  "bigColor1_3"
+                              Name 145  "bigColor2"
+                              Name 146  "bigColor3"
+                              Name 147  "bigColor5"
+                              Name 148  "bigColor6"
+                              Name 149  "bigColor7"
+                              Name 150  "bigColor8"
+                              Name 151  "d"
+                              Name 152  "d2"
+                              Name 153  "d3"
+                              Name 154  "d5"
+                              Name 155  "d6"
+                              Name 156  "d7"
+                              Name 157  "d8"
+                              Name 158  "d9"
+                              Name 159  "d10"
+                              Name 160  "d11"
+                              Name 161  "d12"
+                              Name 162  "d14"
+                              Name 163  "d15"
+                              Name 164  "d16"
+                              Name 165  "d17"
+                              Name 166  "d18"
+                              Name 167  "d19"
+                              Name 168  "d20"
+                              Name 169  "d21"
+                              Name 170  "d22"
+                              Name 171  "d23"
+                              Name 172  "d24"
+                              Name 173  "d25"
+                              Name 174  "d26"
+                              Name 175  "d27"
+                              Name 176  "d28"
+                              Name 177  "d29"
+                              Name 178  "d30"
+                              Name 179  "d31"
+                              Name 180  "d32"
+                              Name 181  "d33"
+                              Name 182  "d34"
+                              Name 185  "Count"
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+              10:             TypePointer Input 7(fvec4)
+   11(BaseColor):     10(ptr) Variable Input
+              16:             TypePointer UniformConstant 7(fvec4)
+   17(bigColor4):     16(ptr) Variable UniformConstant
+              21:             TypeInt 32 0
+              22:     21(int) Constant 0
+              23:             TypePointer Function 6(float)
+              26:             TypePointer UniformConstant 6(float)
+          27(d4):     26(ptr) Variable UniformConstant
+              29:             TypeBool
+              33:    6(float) Constant 1073741824
+              34:     21(int) Constant 2
+              47:    6(float) Constant 1065353216
+              50:     21(int) Constant 1
+              76:     21(int) Constant 3
+         79(d13):     26(ptr) Variable UniformConstant
+             138:             TypePointer Output 7(fvec4)
+139(gl_FragColor):    138(ptr) Variable Output
+   141(bigColor):     16(ptr) Variable UniformConstant
+142(bigColor1_1):     16(ptr) Variable UniformConstant
+143(bigColor1_2):     16(ptr) Variable UniformConstant
+144(bigColor1_3):     16(ptr) Variable UniformConstant
+  145(bigColor2):     16(ptr) Variable UniformConstant
+  146(bigColor3):     16(ptr) Variable UniformConstant
+  147(bigColor5):     16(ptr) Variable UniformConstant
+  148(bigColor6):     16(ptr) Variable UniformConstant
+  149(bigColor7):     16(ptr) Variable UniformConstant
+  150(bigColor8):     16(ptr) Variable UniformConstant
+          151(d):     26(ptr) Variable UniformConstant
+         152(d2):     26(ptr) Variable UniformConstant
+         153(d3):     26(ptr) Variable UniformConstant
+         154(d5):     26(ptr) Variable UniformConstant
+         155(d6):     26(ptr) Variable UniformConstant
+         156(d7):     26(ptr) Variable UniformConstant
+         157(d8):     26(ptr) Variable UniformConstant
+         158(d9):     26(ptr) Variable UniformConstant
+        159(d10):     26(ptr) Variable UniformConstant
+        160(d11):     26(ptr) Variable UniformConstant
+        161(d12):     26(ptr) Variable UniformConstant
+        162(d14):     26(ptr) Variable UniformConstant
+        163(d15):     26(ptr) Variable UniformConstant
+        164(d16):     26(ptr) Variable UniformConstant
+        165(d17):     26(ptr) Variable UniformConstant
+        166(d18):     26(ptr) Variable UniformConstant
+        167(d19):     26(ptr) Variable UniformConstant
+        168(d20):     26(ptr) Variable UniformConstant
+        169(d21):     26(ptr) Variable UniformConstant
+        170(d22):     26(ptr) Variable UniformConstant
+        171(d23):     26(ptr) Variable UniformConstant
+        172(d24):     26(ptr) Variable UniformConstant
+        173(d25):     26(ptr) Variable UniformConstant
+        174(d26):     26(ptr) Variable UniformConstant
+        175(d27):     26(ptr) Variable UniformConstant
+        176(d28):     26(ptr) Variable UniformConstant
+        177(d29):     26(ptr) Variable UniformConstant
+        178(d30):     26(ptr) Variable UniformConstant
+        179(d31):     26(ptr) Variable UniformConstant
+        180(d32):     26(ptr) Variable UniformConstant
+        181(d33):     26(ptr) Variable UniformConstant
+        182(d34):     26(ptr) Variable UniformConstant
+             183:             TypeInt 32 1
+             184:             TypePointer UniformConstant 183(int)
+      185(Count):    184(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+        9(color):      8(ptr) Variable Function
+              12:    7(fvec4) Load 11(BaseColor)
+                              Store 9(color) 12
+                              Branch 13
+              13:             Label
+              18:    7(fvec4) Load 17(bigColor4)
+              19:    7(fvec4) Load 9(color)
+              20:    7(fvec4) FAdd 19 18
+                              Store 9(color) 20
+              24:     23(ptr) AccessChain 9(color) 22
+              25:    6(float) Load 24
+              28:    6(float) Load 27(d4)
+              30:    29(bool) FOrdLessThan 25 28
+                              SelectionMerge 32 None
+                              BranchConditional 30 31 32
+              14:               Label
+                                Branch 75
+              15:               Label
+              68:     23(ptr)   AccessChain 9(color) 34
+              69:    6(float)   Load 68
+              70:    6(float)   Load 27(d4)
+              71:    29(bool)   FOrdLessThan 69 70
+                                LoopMerge 14 15 None
+                                BranchConditional 71 13 14
+              31:                 Label
+              35:     23(ptr)     AccessChain 9(color) 34
+              36:    6(float)     Load 35
+              37:    6(float)     FAdd 36 33
+              38:     23(ptr)     AccessChain 9(color) 34
+                                  Store 38 37
+              39:     23(ptr)     AccessChain 9(color) 34
+              40:    6(float)     Load 39
+              41:    6(float)     Load 27(d4)
+              42:    29(bool)     FOrdLessThan 40 41
+                                  SelectionMerge 44 None
+                                  BranchConditional 42 43 44
+              43:                   Label
+              45:     23(ptr)       AccessChain 9(color) 22
+              46:    6(float)       Load 45
+              48:    6(float)       FAdd 46 47
+                                    Store 45 48
+                                    Branch 15
+              44:                 Label
+                                  Branch 32
+              32:                 Label
+              51:     23(ptr)     AccessChain 9(color) 50
+              52:    6(float)     Load 51
+              53:    6(float)     Load 27(d4)
+              54:    29(bool)     FOrdLessThan 52 53
+                                  SelectionMerge 56 None
+                                  BranchConditional 54 55 62
+              55:                   Label
+              57:    6(float)       Load 27(d4)
+              58:     23(ptr)       AccessChain 9(color) 50
+              59:    6(float)       Load 58
+              60:    6(float)       FAdd 59 57
+              61:     23(ptr)       AccessChain 9(color) 50
+                                    Store 61 60
+                                    Branch 56
+              62:                   Label
+              63:    6(float)       Load 27(d4)
+              64:     23(ptr)       AccessChain 9(color) 22
+              65:    6(float)       Load 64
+              66:    6(float)       FAdd 65 63
+              67:     23(ptr)       AccessChain 9(color) 22
+                                    Store 67 66
+                                    Branch 56
+              56:                 Label
+                                  Branch 15
+              72:                 Label
+              82:     23(ptr)     AccessChain 9(color) 34
+              83:    6(float)     Load 82
+              84:    6(float)     Load 79(d13)
+              85:    29(bool)     FOrdLessThan 83 84
+                                  SelectionMerge 87 None
+                                  BranchConditional 85 86 91
+              73:                   Label
+             135:    7(fvec4)       Load 9(color)
+             136:    7(fvec4)       CompositeConstruct 47 47 47 47
+             137:    7(fvec4)       FAdd 135 136
+                                    Store 9(color) 137
+             140:    7(fvec4)       Load 9(color)
+                                    Store 139(gl_FragColor) 140
+                                    Return
+              74:                   Label
+                                    Branch 75
+              75:                   Label
+              77:     23(ptr)       AccessChain 9(color) 76
+              78:    6(float)       Load 77
+              80:    6(float)       Load 79(d13)
+              81:    29(bool)       FOrdLessThan 78 80
+                                    LoopMerge 73 74 None
+                                    BranchConditional 81 72 73
+              86:                     Label
+              88:    7(fvec4)         Load 9(color)
+              89:    7(fvec4)         CompositeConstruct 47 47 47 47
+              90:    7(fvec4)         FAdd 88 89
+                                      Store 9(color) 90
+                                      Branch 87
+              91:                     Label
+              92:    7(fvec4)         Load 9(color)
+              93:    7(fvec4)         CompositeConstruct 47 47 47 47
+              94:    7(fvec4)         FSub 92 93
+                                      Store 9(color) 94
+                                      Branch 87
+              87:                     Label
+              95:    7(fvec4)         Load 17(bigColor4)
+              96:    7(fvec4)         Load 9(color)
+              97:    7(fvec4)         FAdd 96 95
+                                      Store 9(color) 97
+              98:     23(ptr)         AccessChain 9(color) 22
+              99:    6(float)         Load 98
+             100:    6(float)         Load 27(d4)
+             101:    29(bool)         FOrdLessThan 99 100
+                                      SelectionMerge 103 None
+                                      BranchConditional 101 102 103
+             102:                       Label
+             104:     23(ptr)           AccessChain 9(color) 34
+             105:    6(float)           Load 104
+             106:    6(float)           FAdd 105 33
+             107:     23(ptr)           AccessChain 9(color) 34
+                                        Store 107 106
+             108:     23(ptr)           AccessChain 9(color) 34
+             109:    6(float)           Load 108
+             110:    6(float)           Load 27(d4)
+             111:    29(bool)           FOrdLessThan 109 110
+                                        SelectionMerge 113 None
+                                        BranchConditional 111 112 113
+             112:                         Label
+             114:     23(ptr)             AccessChain 9(color) 22
+             115:    6(float)             Load 114
+             116:    6(float)             FAdd 115 47
+                                          Store 114 116
+                                          Branch 74
+             113:                       Label
+                                        Branch 103
+             103:                     Label
+             118:     23(ptr)         AccessChain 9(color) 50
+             119:    6(float)         Load 118
+             120:    6(float)         Load 27(d4)
+             121:    29(bool)         FOrdLessThan 119 120
+                                      SelectionMerge 123 None
+                                      BranchConditional 121 122 129
+             122:                       Label
+             124:    6(float)           Load 27(d4)
+             125:     23(ptr)           AccessChain 9(color) 50
+             126:    6(float)           Load 125
+             127:    6(float)           FAdd 126 124
+             128:     23(ptr)           AccessChain 9(color) 50
+                                        Store 128 127
+                                        Branch 123
+             129:                       Label
+             130:    6(float)           Load 27(d4)
+             131:     23(ptr)           AccessChain 9(color) 22
+             132:    6(float)           Load 131
+             133:    6(float)           FAdd 132 130
+             134:     23(ptr)           AccessChain 9(color) 22
+                                        Store 134 133
+                                        Branch 123
+             123:                     Label
+                                      Branch 74
+                                      FunctionEnd
diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out
index 97cbcf9..bc91acc 100755
--- a/Test/baseResults/spv.switch.frag.out
+++ b/Test/baseResults/spv.switch.frag.out
@@ -1,400 +1,404 @@
-spv.switch.frag

-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.

-WARNING: 0:121: 'switch' : last case/default label not followed by statements 

-WARNING: 0:134: 'switch' : last case/default label not followed by statements 

-WARNING: 0:139: 'switch' : last case/default label not followed by statements 

-

-

-Linked fragment stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 263

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Fragment 4  "main" 73 221

-                              ExecutionMode 4 OriginLowerLeft

-                              Source ESSL 310

-                              Name 4  "main"

-                              Name 15  "foo1(vf4;vf4;i1;"

-                              Name 12  "v1"

-                              Name 13  "v2"

-                              Name 14  "i1"

-                              Name 20  "foo2(vf4;vf4;i1;"

-                              Name 17  "v1"

-                              Name 18  "v2"

-                              Name 19  "i1"

-                              Name 58  "local"

-                              Name 60  "c"

-                              Name 71  "f"

-                              Name 73  "x"

-                              Name 127  "d"

-                              Name 153  "i"

-                              Name 171  "j"

-                              Name 221  "color"

-                              Name 227  "v"

-                              Name 228  "param"

-                              Name 230  "param"

-                              Name 232  "param"

-                              Name 240  "param"

-                              Name 242  "param"

-                              Name 244  "param"

-                              Decorate 58(local) RelaxedPrecision

-                              Decorate 60(c) RelaxedPrecision

-                              Decorate 71(f) RelaxedPrecision

-                              Decorate 73(x) RelaxedPrecision

-                              Decorate 127(d) RelaxedPrecision

-                              Decorate 153(i) RelaxedPrecision

-                              Decorate 171(j) RelaxedPrecision

-                              Decorate 221(color) RelaxedPrecision

-                              Decorate 227(v) RelaxedPrecision

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeFloat 32

-               7:             TypeVector 6(float) 4

-               8:             TypePointer Function 7(fvec4)

-               9:             TypeInt 32 1

-              10:             TypePointer Function 9(int)

-              11:             TypeFunction 7(fvec4) 8(ptr) 8(ptr) 10(ptr)

-              36:    6(float) Constant 0

-              37:    7(fvec4) ConstantComposite 36 36 36 36

-              47:    6(float) Constant 1065353216

-              48:    7(fvec4) ConstantComposite 47 47 47 47

-              59:             TypePointer UniformConstant 9(int)

-           60(c):     59(ptr) Variable UniformConstant

-              63:      9(int) Constant 1

-              70:             TypePointer Function 6(float)

-              72:             TypePointer Input 6(float)

-           73(x):     72(ptr) Variable Input

-          127(d):     59(ptr) Variable UniformConstant

-             154:      9(int) Constant 0

-             159:      9(int) Constant 10

-             160:             TypeBool

-             172:      9(int) Constant 20

-             177:      9(int) Constant 30

-             182:    6(float) Constant 1120429670

-             202:    6(float) Constant 1079739679

-             220:             TypePointer Output 6(float)

-      221(color):    220(ptr) Variable Output

-             226:             TypePointer UniformConstant 7(fvec4)

-          227(v):    226(ptr) Variable UniformConstant

-             235:             TypeInt 32 0

-             236:    235(int) Constant 1

-             247:    235(int) Constant 2

-         4(main):           2 Function None 3

-               5:             Label

-       58(local):     10(ptr) Variable Function

-           71(f):     70(ptr) Variable Function

-          153(i):     10(ptr) Variable Function

-          171(j):     10(ptr) Variable Function

-      228(param):      8(ptr) Variable Function

-      230(param):      8(ptr) Variable Function

-      232(param):     10(ptr) Variable Function

-      240(param):      8(ptr) Variable Function

-      242(param):      8(ptr) Variable Function

-      244(param):     10(ptr) Variable Function

-              61:      9(int) Load 60(c)

-                              Store 58(local) 61

-              62:      9(int) Load 58(local)

-              64:      9(int) IAdd 62 63

-                              Store 58(local) 64

-              65:      9(int) Load 60(c)

-                              SelectionMerge 69 None

-                              Switch 65 68 

-                                     case 1: 66

-                                     case 2: 67

-              66:               Label

-              74:    6(float)   Load 73(x)

-              75:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 74

-                                Store 71(f) 75

-                                Branch 69

-              67:               Label

-              77:    6(float)   Load 73(x)

-              78:    6(float)   ExtInst 1(GLSL.std.450) 14(Cos) 77

-                                Store 71(f) 78

-                                Branch 69

-              68:               Label

-              80:    6(float)   Load 73(x)

-              81:    6(float)   ExtInst 1(GLSL.std.450) 15(Tan) 80

-                                Store 71(f) 81

-                                Branch 69

-              69:             Label

-              83:      9(int) Load 60(c)

-                              SelectionMerge 87 None

-                              Switch 83 86 

-                                     case 1: 84

-                                     case 2: 85

-              84:               Label

-              88:    6(float)   Load 73(x)

-              89:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 88

-              90:    6(float)   Load 71(f)

-              91:    6(float)   FAdd 90 89

-                                Store 71(f) 91

-                                Branch 85

-              85:               Label

-              92:    6(float)   Load 73(x)

-              93:    6(float)   ExtInst 1(GLSL.std.450) 14(Cos) 92

-              94:    6(float)   Load 71(f)

-              95:    6(float)   FAdd 94 93

-                                Store 71(f) 95

-                                Branch 87

-              86:               Label

-              97:    6(float)   Load 73(x)

-              98:    6(float)   ExtInst 1(GLSL.std.450) 15(Tan) 97

-              99:    6(float)   Load 71(f)

-             100:    6(float)   FAdd 99 98

-                                Store 71(f) 100

-                                Branch 87

-              87:             Label

-             102:      9(int) Load 60(c)

-                              SelectionMerge 105 None

-                              Switch 102 105 

-                                     case 1: 103

-                                     case 2: 104

-             103:               Label

-             106:    6(float)   Load 73(x)

-             107:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 106

-             108:    6(float)   Load 71(f)

-             109:    6(float)   FAdd 108 107

-                                Store 71(f) 109

-                                Branch 105

-             104:               Label

-             111:    6(float)   Load 73(x)

-             112:    6(float)   ExtInst 1(GLSL.std.450) 14(Cos) 111

-             113:    6(float)   Load 71(f)

-             114:    6(float)   FAdd 113 112

-                                Store 71(f) 114

-                                Branch 105

-             105:             Label

-             117:      9(int) Load 60(c)

-                              SelectionMerge 121 None

-                              Switch 117 120 

-                                     case 1: 118

-                                     case 2: 119

-             118:               Label

-             122:    6(float)   Load 73(x)

-             123:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 122

-             124:    6(float)   Load 71(f)

-             125:    6(float)   FAdd 124 123

-                                Store 71(f) 125

-                                Branch 121

-             119:               Label

-             128:      9(int)   Load 127(d)

-                                SelectionMerge 131 None

-                                Switch 128 131 

-                                       case 1: 129

-                                       case 2: 130

-             129:                 Label

-             132:    6(float)     Load 73(x)

-             133:    6(float)     Load 73(x)

-             134:    6(float)     FMul 132 133

-             135:    6(float)     Load 73(x)

-             136:    6(float)     FMul 134 135

-             137:    6(float)     Load 71(f)

-             138:    6(float)     FAdd 137 136

-                                  Store 71(f) 138

-                                  Branch 131

-             130:                 Label

-             140:    6(float)     Load 73(x)

-             141:    6(float)     Load 73(x)

-             142:    6(float)     FMul 140 141

-             143:    6(float)     Load 71(f)

-             144:    6(float)     FAdd 143 142

-                                  Store 71(f) 144

-                                  Branch 131

-             131:               Label

-                                Branch 121

-             120:               Label

-             148:    6(float)   Load 73(x)

-             149:    6(float)   ExtInst 1(GLSL.std.450) 15(Tan) 148

-             150:    6(float)   Load 71(f)

-             151:    6(float)   FAdd 150 149

-                                Store 71(f) 151

-                                Branch 121

-             121:             Label

-                              Store 153(i) 154

-                              Branch 155

-             155:             Label

-             158:      9(int) Load 153(i)

-             161:   160(bool) SLessThan 158 159

-                              LoopMerge 156 155 None

-                              BranchConditional 161 157 156

-             157:               Label

-             162:      9(int)   Load 60(c)

-                                SelectionMerge 166 None

-                                Switch 162 165 

-                                       case 1: 163

-                                       case 2: 164

-             163:                 Label

-             167:    6(float)     Load 73(x)

-             168:    6(float)     ExtInst 1(GLSL.std.450) 13(Sin) 167

-             169:    6(float)     Load 71(f)

-             170:    6(float)     FAdd 169 168

-                                  Store 71(f) 170

-                                  Store 171(j) 172

-                                  Branch 173

-             173:                 Label

-             176:      9(int)     Load 171(j)

-             178:   160(bool)     SLessThan 176 177

-                                  LoopMerge 174 173 None

-                                  BranchConditional 178 175 174

-             175:                   Label

-             179:    6(float)       Load 71(f)

-             180:    6(float)       FAdd 179 47

-                                    Store 71(f) 180

-             181:    6(float)       Load 71(f)

-             183:   160(bool)       FOrdLessThan 181 182

-                                    SelectionMerge 185 None

-                                    BranchConditional 183 184 185

-             184:                     Label

-                                      Branch 174

-             185:                   Label

-             187:      9(int)       Load 171(j)

-             188:      9(int)       IAdd 187 63

-                                    Store 171(j) 188

-                                    Branch 173

-             174:                 Label

-                                  Branch 166

-             164:                 Label

-             190:    6(float)     Load 73(x)

-             191:    6(float)     ExtInst 1(GLSL.std.450) 14(Cos) 190

-             192:    6(float)     Load 71(f)

-             193:    6(float)     FAdd 192 191

-                                  Store 71(f) 193

-                                  Branch 166

-             165:                 Label

-             196:    6(float)     Load 73(x)

-             197:    6(float)     ExtInst 1(GLSL.std.450) 15(Tan) 196

-             198:    6(float)     Load 71(f)

-             199:    6(float)     FAdd 198 197

-                                  Store 71(f) 199

-                                  Branch 166

-             166:               Label

-             201:    6(float)   Load 71(f)

-             203:   160(bool)   FOrdLessThan 201 202

-                                SelectionMerge 205 None

-                                BranchConditional 203 204 205

-             204:                 Label

-                                  Branch 156

-             205:               Label

-             207:      9(int)   Load 153(i)

-             208:      9(int)   IAdd 207 63

-                                Store 153(i) 208

-                                Branch 155

-             156:             Label

-             209:      9(int) Load 60(c)

-                              SelectionMerge 212 None

-                              Switch 209 212 

-                                     case 1: 210

-                                     case 2: 211

-             210:               Label

-             213:    6(float)   Load 73(x)

-             214:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 213

-             215:    6(float)   Load 71(f)

-             216:    6(float)   FAdd 215 214

-                                Store 71(f) 216

-                                Branch 212

-             211:               Label

-                                Branch 212

-             212:             Label

-             222:    6(float) Load 71(f)

-             223:      9(int) Load 58(local)

-             224:    6(float) ConvertSToF 223

-             225:    6(float) FAdd 222 224

-                              Store 221(color) 225

-             229:    7(fvec4) Load 227(v)

-                              Store 228(param) 229

-             231:    7(fvec4) Load 227(v)

-                              Store 230(param) 231

-             233:      9(int) Load 60(c)

-                              Store 232(param) 233

-             234:    7(fvec4) FunctionCall 15(foo1(vf4;vf4;i1;) 228(param) 230(param) 232(param)

-             237:    6(float) CompositeExtract 234 1

-             238:    6(float) Load 221(color)

-             239:    6(float) FAdd 238 237

-                              Store 221(color) 239

-             241:    7(fvec4) Load 227(v)

-                              Store 240(param) 241

-             243:    7(fvec4) Load 227(v)

-                              Store 242(param) 243

-             245:      9(int) Load 60(c)

-                              Store 244(param) 245

-             246:    7(fvec4) FunctionCall 20(foo2(vf4;vf4;i1;) 240(param) 242(param) 244(param)

-             248:    6(float) CompositeExtract 246 2

-             249:    6(float) Load 221(color)

-             250:    6(float) FAdd 249 248

-                              Store 221(color) 250

-             251:      9(int) Load 60(c)

-                              SelectionMerge 254 None

-                              Switch 251 253 

-                                     case 0: 252

-             252:               Label

-                                Branch 254

-             253:               Label

-                                Branch 254

-             254:             Label

-             258:      9(int) Load 60(c)

-                              SelectionMerge 260 None

-                              Switch 258 259

-             259:               Label

-                                Branch 260

-             260:             Label

-                              Return

-                              FunctionEnd

-15(foo1(vf4;vf4;i1;):    7(fvec4) Function None 11

-          12(v1):      8(ptr) FunctionParameter

-          13(v2):      8(ptr) FunctionParameter

-          14(i1):     10(ptr) FunctionParameter

-              16:             Label

-              22:      9(int) Load 14(i1)

-                              SelectionMerge 26 None

-                              Switch 22 26 

-                                     case 0: 23

-                                     case 2: 24

-                                     case 1: 24

-                                     case 3: 25

-              23:               Label

-              27:    7(fvec4)   Load 12(v1)

-                                ReturnValue 27

-              24:               Label

-              29:    7(fvec4)   Load 13(v2)

-                                ReturnValue 29

-              25:               Label

-              31:    7(fvec4)   Load 12(v1)

-              32:    7(fvec4)   Load 13(v2)

-              33:    7(fvec4)   FMul 31 32

-                                ReturnValue 33

-              26:             Label

-                              ReturnValue 37

-                              FunctionEnd

-20(foo2(vf4;vf4;i1;):    7(fvec4) Function None 11

-          17(v1):      8(ptr) FunctionParameter

-          18(v2):      8(ptr) FunctionParameter

-          19(i1):     10(ptr) FunctionParameter

-              21:             Label

-              39:      9(int) Load 19(i1)

-                              SelectionMerge 44 None

-                              Switch 39 44 

-                                     case 0: 40

-                                     case 2: 41

-                                     case 1: 42

-                                     case 3: 43

-              40:               Label

-              45:    7(fvec4)   Load 17(v1)

-                                ReturnValue 45

-              41:               Label

-                                ReturnValue 48

-              42:               Label

-              50:    7(fvec4)   Load 18(v2)

-                                ReturnValue 50

-              43:               Label

-              52:    7(fvec4)   Load 17(v1)

-              53:    7(fvec4)   Load 18(v2)

-              54:    7(fvec4)   FMul 52 53

-                                ReturnValue 54

-              44:             Label

-                              ReturnValue 37

-                              FunctionEnd

+spv.switch.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:121: 'switch' : last case/default label not followed by statements 
+WARNING: 0:134: 'switch' : last case/default label not followed by statements 
+WARNING: 0:139: 'switch' : last case/default label not followed by statements 
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 265
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 73 223
+                              ExecutionMode 4 OriginLowerLeft
+                              Source ESSL 310
+                              Name 4  "main"
+                              Name 15  "foo1(vf4;vf4;i1;"
+                              Name 12  "v1"
+                              Name 13  "v2"
+                              Name 14  "i1"
+                              Name 20  "foo2(vf4;vf4;i1;"
+                              Name 17  "v1"
+                              Name 18  "v2"
+                              Name 19  "i1"
+                              Name 58  "local"
+                              Name 60  "c"
+                              Name 71  "f"
+                              Name 73  "x"
+                              Name 127  "d"
+                              Name 153  "i"
+                              Name 172  "j"
+                              Name 223  "color"
+                              Name 229  "v"
+                              Name 230  "param"
+                              Name 232  "param"
+                              Name 234  "param"
+                              Name 242  "param"
+                              Name 244  "param"
+                              Name 246  "param"
+                              Decorate 58(local) RelaxedPrecision
+                              Decorate 60(c) RelaxedPrecision
+                              Decorate 71(f) RelaxedPrecision
+                              Decorate 73(x) RelaxedPrecision
+                              Decorate 127(d) RelaxedPrecision
+                              Decorate 153(i) RelaxedPrecision
+                              Decorate 172(j) RelaxedPrecision
+                              Decorate 223(color) RelaxedPrecision
+                              Decorate 229(v) RelaxedPrecision
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+               9:             TypeInt 32 1
+              10:             TypePointer Function 9(int)
+              11:             TypeFunction 7(fvec4) 8(ptr) 8(ptr) 10(ptr)
+              36:    6(float) Constant 0
+              37:    7(fvec4) ConstantComposite 36 36 36 36
+              47:    6(float) Constant 1065353216
+              48:    7(fvec4) ConstantComposite 47 47 47 47
+              59:             TypePointer UniformConstant 9(int)
+           60(c):     59(ptr) Variable UniformConstant
+              63:      9(int) Constant 1
+              70:             TypePointer Function 6(float)
+              72:             TypePointer Input 6(float)
+           73(x):     72(ptr) Variable Input
+          127(d):     59(ptr) Variable UniformConstant
+             154:      9(int) Constant 0
+             160:      9(int) Constant 10
+             161:             TypeBool
+             173:      9(int) Constant 20
+             179:      9(int) Constant 30
+             184:    6(float) Constant 1120429670
+             204:    6(float) Constant 1079739679
+             222:             TypePointer Output 6(float)
+      223(color):    222(ptr) Variable Output
+             228:             TypePointer UniformConstant 7(fvec4)
+          229(v):    228(ptr) Variable UniformConstant
+             237:             TypeInt 32 0
+             238:    237(int) Constant 1
+             249:    237(int) Constant 2
+         4(main):           2 Function None 3
+               5:             Label
+       58(local):     10(ptr) Variable Function
+           71(f):     70(ptr) Variable Function
+          153(i):     10(ptr) Variable Function
+          172(j):     10(ptr) Variable Function
+      230(param):      8(ptr) Variable Function
+      232(param):      8(ptr) Variable Function
+      234(param):     10(ptr) Variable Function
+      242(param):      8(ptr) Variable Function
+      244(param):      8(ptr) Variable Function
+      246(param):     10(ptr) Variable Function
+              61:      9(int) Load 60(c)
+                              Store 58(local) 61
+              62:      9(int) Load 58(local)
+              64:      9(int) IAdd 62 63
+                              Store 58(local) 64
+              65:      9(int) Load 60(c)
+                              SelectionMerge 69 None
+                              Switch 65 68 
+                                     case 1: 66
+                                     case 2: 67
+              66:               Label
+              74:    6(float)   Load 73(x)
+              75:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 74
+                                Store 71(f) 75
+                                Branch 69
+              67:               Label
+              77:    6(float)   Load 73(x)
+              78:    6(float)   ExtInst 1(GLSL.std.450) 14(Cos) 77
+                                Store 71(f) 78
+                                Branch 69
+              68:               Label
+              80:    6(float)   Load 73(x)
+              81:    6(float)   ExtInst 1(GLSL.std.450) 15(Tan) 80
+                                Store 71(f) 81
+                                Branch 69
+              69:             Label
+              83:      9(int) Load 60(c)
+                              SelectionMerge 87 None
+                              Switch 83 86 
+                                     case 1: 84
+                                     case 2: 85
+              84:               Label
+              88:    6(float)   Load 73(x)
+              89:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 88
+              90:    6(float)   Load 71(f)
+              91:    6(float)   FAdd 90 89
+                                Store 71(f) 91
+                                Branch 85
+              85:               Label
+              92:    6(float)   Load 73(x)
+              93:    6(float)   ExtInst 1(GLSL.std.450) 14(Cos) 92
+              94:    6(float)   Load 71(f)
+              95:    6(float)   FAdd 94 93
+                                Store 71(f) 95
+                                Branch 87
+              86:               Label
+              97:    6(float)   Load 73(x)
+              98:    6(float)   ExtInst 1(GLSL.std.450) 15(Tan) 97
+              99:    6(float)   Load 71(f)
+             100:    6(float)   FAdd 99 98
+                                Store 71(f) 100
+                                Branch 87
+              87:             Label
+             102:      9(int) Load 60(c)
+                              SelectionMerge 105 None
+                              Switch 102 105 
+                                     case 1: 103
+                                     case 2: 104
+             103:               Label
+             106:    6(float)   Load 73(x)
+             107:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 106
+             108:    6(float)   Load 71(f)
+             109:    6(float)   FAdd 108 107
+                                Store 71(f) 109
+                                Branch 105
+             104:               Label
+             111:    6(float)   Load 73(x)
+             112:    6(float)   ExtInst 1(GLSL.std.450) 14(Cos) 111
+             113:    6(float)   Load 71(f)
+             114:    6(float)   FAdd 113 112
+                                Store 71(f) 114
+                                Branch 105
+             105:             Label
+             117:      9(int) Load 60(c)
+                              SelectionMerge 121 None
+                              Switch 117 120 
+                                     case 1: 118
+                                     case 2: 119
+             118:               Label
+             122:    6(float)   Load 73(x)
+             123:    6(float)   ExtInst 1(GLSL.std.450) 13(Sin) 122
+             124:    6(float)   Load 71(f)
+             125:    6(float)   FAdd 124 123
+                                Store 71(f) 125
+                                Branch 121
+             119:               Label
+             128:      9(int)   Load 127(d)
+                                SelectionMerge 131 None
+                                Switch 128 131 
+                                       case 1: 129
+                                       case 2: 130
+             129:                 Label
+             132:    6(float)     Load 73(x)
+             133:    6(float)     Load 73(x)
+             134:    6(float)     FMul 132 133
+             135:    6(float)     Load 73(x)
+             136:    6(float)     FMul 134 135
+             137:    6(float)     Load 71(f)
+             138:    6(float)     FAdd 137 136
+                                  Store 71(f) 138
+                                  Branch 131
+             130:                 Label
+             140:    6(float)     Load 73(x)
+             141:    6(float)     Load 73(x)
+             142:    6(float)     FMul 140 141
+             143:    6(float)     Load 71(f)
+             144:    6(float)     FAdd 143 142
+                                  Store 71(f) 144
+                                  Branch 131
+             131:               Label
+                                Branch 121
+             120:               Label
+             148:    6(float)   Load 73(x)
+             149:    6(float)   ExtInst 1(GLSL.std.450) 15(Tan) 148
+             150:    6(float)   Load 71(f)
+             151:    6(float)   FAdd 150 149
+                                Store 71(f) 151
+                                Branch 121
+             121:             Label
+                              Store 153(i) 154
+                              Branch 158
+             155:             Label
+             163:      9(int) Load 60(c)
+                              SelectionMerge 167 None
+                              Switch 163 166 
+                                     case 1: 164
+                                     case 2: 165
+             156:               Label
+             211:      9(int)   Load 60(c)
+                                SelectionMerge 214 None
+                                Switch 211 214 
+                                       case 1: 212
+                                       case 2: 213
+             157:                 Label
+             209:      9(int)     Load 153(i)
+             210:      9(int)     IAdd 209 63
+                                  Store 153(i) 210
+                                  Branch 158
+             158:                 Label
+             159:      9(int)     Load 153(i)
+             162:   161(bool)     SLessThan 159 160
+                                  LoopMerge 156 157 None
+                                  BranchConditional 162 155 156
+             164:                   Label
+             168:    6(float)       Load 73(x)
+             169:    6(float)       ExtInst 1(GLSL.std.450) 13(Sin) 168
+             170:    6(float)       Load 71(f)
+             171:    6(float)       FAdd 170 169
+                                    Store 71(f) 171
+                                    Store 172(j) 173
+                                    Branch 177
+             174:                   Label
+             181:    6(float)       Load 71(f)
+             182:    6(float)       FAdd 181 47
+                                    Store 71(f) 182
+             183:    6(float)       Load 71(f)
+             185:   161(bool)       FOrdLessThan 183 184
+                                    SelectionMerge 187 None
+                                    BranchConditional 185 186 187
+             175:                     Label
+                                      Branch 167
+             176:                     Label
+             189:      9(int)         Load 172(j)
+             190:      9(int)         IAdd 189 63
+                                      Store 172(j) 190
+                                      Branch 177
+             177:                     Label
+             178:      9(int)         Load 172(j)
+             180:   161(bool)         SLessThan 178 179
+                                      LoopMerge 175 176 None
+                                      BranchConditional 180 174 175
+             186:                       Label
+                                        Branch 175
+             187:                       Label
+                                        Branch 176
+             165:                       Label
+             192:    6(float)           Load 73(x)
+             193:    6(float)           ExtInst 1(GLSL.std.450) 14(Cos) 192
+             194:    6(float)           Load 71(f)
+             195:    6(float)           FAdd 194 193
+                                        Store 71(f) 195
+                                        Branch 167
+             166:                       Label
+             198:    6(float)           Load 73(x)
+             199:    6(float)           ExtInst 1(GLSL.std.450) 15(Tan) 198
+             200:    6(float)           Load 71(f)
+             201:    6(float)           FAdd 200 199
+                                        Store 71(f) 201
+                                        Branch 167
+             167:                       Label
+             203:    6(float)           Load 71(f)
+             205:   161(bool)           FOrdLessThan 203 204
+                                        SelectionMerge 207 None
+                                        BranchConditional 205 206 207
+             206:                         Label
+                                          Branch 156
+             207:                       Label
+                                        Branch 157
+             212:                       Label
+             215:    6(float)           Load 73(x)
+             216:    6(float)           ExtInst 1(GLSL.std.450) 13(Sin) 215
+             217:    6(float)           Load 71(f)
+             218:    6(float)           FAdd 217 216
+                                        Store 71(f) 218
+                                        Branch 214
+             213:                       Label
+                                        Branch 214
+             214:                       Label
+             224:    6(float)           Load 71(f)
+             225:      9(int)           Load 58(local)
+             226:    6(float)           ConvertSToF 225
+             227:    6(float)           FAdd 224 226
+                                        Store 223(color) 227
+             231:    7(fvec4)           Load 229(v)
+                                        Store 230(param) 231
+             233:    7(fvec4)           Load 229(v)
+                                        Store 232(param) 233
+             235:      9(int)           Load 60(c)
+                                        Store 234(param) 235
+             236:    7(fvec4)           FunctionCall 15(foo1(vf4;vf4;i1;) 230(param) 232(param) 234(param)
+             239:    6(float)           CompositeExtract 236 1
+             240:    6(float)           Load 223(color)
+             241:    6(float)           FAdd 240 239
+                                        Store 223(color) 241
+             243:    7(fvec4)           Load 229(v)
+                                        Store 242(param) 243
+             245:    7(fvec4)           Load 229(v)
+                                        Store 244(param) 245
+             247:      9(int)           Load 60(c)
+                                        Store 246(param) 247
+             248:    7(fvec4)           FunctionCall 20(foo2(vf4;vf4;i1;) 242(param) 244(param) 246(param)
+             250:    6(float)           CompositeExtract 248 2
+             251:    6(float)           Load 223(color)
+             252:    6(float)           FAdd 251 250
+                                        Store 223(color) 252
+             253:      9(int)           Load 60(c)
+                                        SelectionMerge 256 None
+                                        Switch 253 255 
+                                               case 0: 254
+             254:                         Label
+                                          Branch 256
+             255:                         Label
+                                          Branch 256
+             256:                       Label
+             260:      9(int)           Load 60(c)
+                                        SelectionMerge 262 None
+                                        Switch 260 261
+             261:                         Label
+                                          Branch 262
+             262:                       Label
+                                        Return
+                                        FunctionEnd
+15(foo1(vf4;vf4;i1;):    7(fvec4)           Function None 11
+          12(v1):      8(ptr)           FunctionParameter
+          13(v2):      8(ptr)           FunctionParameter
+          14(i1):     10(ptr)           FunctionParameter
+              16:                       Label
+              22:      9(int)           Load 14(i1)
+                                        SelectionMerge 26 None
+                                        Switch 22 26 
+                                               case 0: 23
+                                               case 2: 24
+                                               case 1: 24
+                                               case 3: 25
+              23:                         Label
+              27:    7(fvec4)             Load 12(v1)
+                                          ReturnValue 27
+              24:                         Label
+              29:    7(fvec4)             Load 13(v2)
+                                          ReturnValue 29
+              25:                         Label
+              31:    7(fvec4)             Load 12(v1)
+              32:    7(fvec4)             Load 13(v2)
+              33:    7(fvec4)             FMul 31 32
+                                          ReturnValue 33
+              26:                       Label
+                                        ReturnValue 37
+                                        FunctionEnd
+20(foo2(vf4;vf4;i1;):    7(fvec4)           Function None 11
+          17(v1):      8(ptr)           FunctionParameter
+          18(v2):      8(ptr)           FunctionParameter
+          19(i1):     10(ptr)           FunctionParameter
+              21:                       Label
+              39:      9(int)           Load 19(i1)
+                                        SelectionMerge 44 None
+                                        Switch 39 44 
+                                               case 0: 40
+                                               case 2: 41
+                                               case 1: 42
+                                               case 3: 43
+              40:                         Label
+              45:    7(fvec4)             Load 17(v1)
+                                          ReturnValue 45
+              41:                         Label
+                                          ReturnValue 48
+              42:                         Label
+              50:    7(fvec4)             Load 18(v2)
+                                          ReturnValue 50
+              43:                         Label
+              52:    7(fvec4)             Load 17(v1)
+              53:    7(fvec4)             Load 18(v2)
+              54:    7(fvec4)             FMul 52 53
+                                          ReturnValue 54
+              44:                       Label
+                                        ReturnValue 37
+                                        FunctionEnd
diff --git a/Test/baseResults/spv.while-continue-break.vert.out b/Test/baseResults/spv.while-continue-break.vert.out
index 5305b98..0938db4 100755
--- a/Test/baseResults/spv.while-continue-break.vert.out
+++ b/Test/baseResults/spv.while-continue-break.vert.out
@@ -1,86 +1,88 @@
-spv.while-continue-break.vert

-

-Linked vertex stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 42

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Vertex 4  "main" 40 41

-                              Source ESSL 300

-                              Name 4  "main"

-                              Name 8  "i"

-                              Name 17  "A"

-                              Name 25  "B"

-                              Name 27  "C"

-                              Name 37  "D"

-                              Name 40  "gl_VertexID"

-                              Name 41  "gl_InstanceID"

-                              Decorate 40(gl_VertexID) BuiltIn VertexId

-                              Decorate 41(gl_InstanceID) BuiltIn InstanceId

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeInt 32 1

-               7:             TypePointer Function 6(int)

-               9:      6(int) Constant 0

-              14:      6(int) Constant 10

-              15:             TypeBool

-              18:      6(int) Constant 1

-              20:      6(int) Constant 2

-              29:      6(int) Constant 5

-              38:      6(int) Constant 3

-              39:             TypePointer Input 6(int)

- 40(gl_VertexID):     39(ptr) Variable Input

-41(gl_InstanceID):     39(ptr) Variable Input

-         4(main):           2 Function None 3

-               5:             Label

-            8(i):      7(ptr) Variable Function

-           17(A):      7(ptr) Variable Function

-           25(B):      7(ptr) Variable Function

-           27(C):      7(ptr) Variable Function

-           37(D):      7(ptr) Variable Function

-                              Store 8(i) 9

-                              Branch 10

-              10:             Label

-              13:      6(int) Load 8(i)

-              16:    15(bool) SLessThan 13 14

-                              LoopMerge 11 10 None

-                              BranchConditional 16 12 11

-              12:               Label

-                                Store 17(A) 18

-              19:      6(int)   Load 8(i)

-              21:      6(int)   SMod 19 20

-              22:    15(bool)   IEqual 21 9

-                                SelectionMerge 24 None

-                                BranchConditional 22 23 24

-              23:                 Label

-                                  Store 25(B) 20

-                                  Branch 10

-              26:                 Label

-                                  Store 27(C) 20

-                                  Branch 24

-              24:               Label

-              28:      6(int)   Load 8(i)

-              30:      6(int)   SMod 28 29

-              31:    15(bool)   IEqual 30 9

-                                SelectionMerge 33 None

-                                BranchConditional 31 32 33

-              32:                 Label

-                                  Store 25(B) 20

-                                  Branch 11

-              34:                 Label

-                                  Store 27(C) 20

-                                  Branch 33

-              33:               Label

-              35:      6(int)   Load 8(i)

-              36:      6(int)   IAdd 35 18

-                                Store 8(i) 36

-                                Branch 10

-              11:             Label

-                              Store 37(D) 38

-                              Return

-                              FunctionEnd

+spv.while-continue-break.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 43
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 41 42
+                              Source ESSL 300
+                              Name 4  "main"
+                              Name 8  "i"
+                              Name 18  "A"
+                              Name 26  "B"
+                              Name 28  "C"
+                              Name 38  "D"
+                              Name 41  "gl_VertexID"
+                              Name 42  "gl_InstanceID"
+                              Decorate 41(gl_VertexID) BuiltIn VertexId
+                              Decorate 42(gl_InstanceID) BuiltIn InstanceId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               9:      6(int) Constant 0
+              15:      6(int) Constant 10
+              16:             TypeBool
+              19:      6(int) Constant 1
+              21:      6(int) Constant 2
+              30:      6(int) Constant 5
+              39:      6(int) Constant 3
+              40:             TypePointer Input 6(int)
+ 41(gl_VertexID):     40(ptr) Variable Input
+42(gl_InstanceID):     40(ptr) Variable Input
+         4(main):           2 Function None 3
+               5:             Label
+            8(i):      7(ptr) Variable Function
+           18(A):      7(ptr) Variable Function
+           26(B):      7(ptr) Variable Function
+           28(C):      7(ptr) Variable Function
+           38(D):      7(ptr) Variable Function
+                              Store 8(i) 9
+                              Branch 13
+              10:             Label
+                              Store 18(A) 19
+              20:      6(int) Load 8(i)
+              22:      6(int) SMod 20 21
+              23:    16(bool) IEqual 22 9
+                              SelectionMerge 25 None
+                              BranchConditional 23 24 25
+              11:               Label
+                                Store 38(D) 39
+                                Return
+              12:               Label
+                                Branch 13
+              13:               Label
+              14:      6(int)   Load 8(i)
+              17:    16(bool)   SLessThan 14 15
+                                LoopMerge 11 12 None
+                                BranchConditional 17 10 11
+              24:                 Label
+                                  Store 26(B) 21
+                                  Branch 12
+              27:                 Label
+                                  Store 28(C) 21
+                                  Branch 25
+              25:                 Label
+              29:      6(int)     Load 8(i)
+              31:      6(int)     SMod 29 30
+              32:    16(bool)     IEqual 31 9
+                                  SelectionMerge 34 None
+                                  BranchConditional 32 33 34
+              33:                   Label
+                                    Store 26(B) 21
+                                    Branch 11
+              35:                   Label
+                                    Store 28(C) 21
+                                    Branch 34
+              34:                 Label
+              36:      6(int)     Load 8(i)
+              37:      6(int)     IAdd 36 19
+                                  Store 8(i) 37
+                                  Branch 12
+                                  FunctionEnd
diff --git a/Test/baseResults/spv.while-simple.vert.out b/Test/baseResults/spv.while-simple.vert.out
index 14d46dd..3684101 100755
--- a/Test/baseResults/spv.while-simple.vert.out
+++ b/Test/baseResults/spv.while-simple.vert.out
@@ -1,49 +1,51 @@
-spv.while-simple.vert

-

-Linked vertex stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 23

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Vertex 4  "main" 21 22

-                              Source ESSL 300

-                              Name 4  "main"

-                              Name 8  "i"

-                              Name 21  "gl_VertexID"

-                              Name 22  "gl_InstanceID"

-                              Decorate 21(gl_VertexID) BuiltIn VertexId

-                              Decorate 22(gl_InstanceID) BuiltIn InstanceId

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeInt 32 1

-               7:             TypePointer Function 6(int)

-               9:      6(int) Constant 0

-              14:      6(int) Constant 10

-              15:             TypeBool

-              18:      6(int) Constant 1

-              20:             TypePointer Input 6(int)

- 21(gl_VertexID):     20(ptr) Variable Input

-22(gl_InstanceID):     20(ptr) Variable Input

-         4(main):           2 Function None 3

-               5:             Label

-            8(i):      7(ptr) Variable Function

-                              Store 8(i) 9

-                              Branch 10

-              10:             Label

-              13:      6(int) Load 8(i)

-              16:    15(bool) SLessThan 13 14

-                              LoopMerge 11 10 None

-                              BranchConditional 16 12 11

-              12:               Label

-              17:      6(int)   Load 8(i)

-              19:      6(int)   IAdd 17 18

-                                Store 8(i) 19

-                                Branch 10

-              11:             Label

-                              Return

-                              FunctionEnd

+spv.while-simple.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 24
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 22 23
+                              Source ESSL 300
+                              Name 4  "main"
+                              Name 8  "i"
+                              Name 22  "gl_VertexID"
+                              Name 23  "gl_InstanceID"
+                              Decorate 22(gl_VertexID) BuiltIn VertexId
+                              Decorate 23(gl_InstanceID) BuiltIn InstanceId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               9:      6(int) Constant 0
+              15:      6(int) Constant 10
+              16:             TypeBool
+              19:      6(int) Constant 1
+              21:             TypePointer Input 6(int)
+ 22(gl_VertexID):     21(ptr) Variable Input
+23(gl_InstanceID):     21(ptr) Variable Input
+         4(main):           2 Function None 3
+               5:             Label
+            8(i):      7(ptr) Variable Function
+                              Store 8(i) 9
+                              Branch 13
+              10:             Label
+              18:      6(int) Load 8(i)
+              20:      6(int) IAdd 18 19
+                              Store 8(i) 20
+                              Branch 12
+              11:             Label
+                              Return
+              12:             Label
+                              Branch 13
+              13:             Label
+              14:      6(int) Load 8(i)
+              17:    16(bool) SLessThan 14 15
+                              LoopMerge 11 12 None
+                              BranchConditional 17 10 11
+                                FunctionEnd
diff --git a/Test/baseResults/spv.whileLoop.frag.out b/Test/baseResults/spv.whileLoop.frag.out
index 591129c..6227982 100755
--- a/Test/baseResults/spv.whileLoop.frag.out
+++ b/Test/baseResults/spv.whileLoop.frag.out
@@ -1,62 +1,64 @@
-spv.whileLoop.frag

-

-Linked fragment stage:

-

-

-// Module Version 10000

-// Generated by (magic number): 80001

-// Id's are bound by 34

-

-                              Capability Shader

-               1:             ExtInstImport  "GLSL.std.450"

-                              MemoryModel Logical GLSL450

-                              EntryPoint Fragment 4  "main" 11

-                              ExecutionMode 4 OriginLowerLeft

-                              Source GLSL 110

-                              Name 4  "main"

-                              Name 9  "color"

-                              Name 11  "BaseColor"

-                              Name 22  "d"

-                              Name 27  "bigColor"

-                              Name 32  "gl_FragColor"

-               2:             TypeVoid

-               3:             TypeFunction 2

-               6:             TypeFloat 32

-               7:             TypeVector 6(float) 4

-               8:             TypePointer Function 7(fvec4)

-              10:             TypePointer Input 7(fvec4)

-   11(BaseColor):     10(ptr) Variable Input

-              16:             TypeInt 32 0

-              17:     16(int) Constant 0

-              18:             TypePointer Function 6(float)

-              21:             TypePointer UniformConstant 6(float)

-           22(d):     21(ptr) Variable UniformConstant

-              24:             TypeBool

-              26:             TypePointer UniformConstant 7(fvec4)

-    27(bigColor):     26(ptr) Variable UniformConstant

-              31:             TypePointer Output 7(fvec4)

-32(gl_FragColor):     31(ptr) Variable Output

-         4(main):           2 Function None 3

-               5:             Label

-        9(color):      8(ptr) Variable Function

-              12:    7(fvec4) Load 11(BaseColor)

-                              Store 9(color) 12

-                              Branch 13

-              13:             Label

-              19:     18(ptr) AccessChain 9(color) 17

-              20:    6(float) Load 19

-              23:    6(float) Load 22(d)

-              25:    24(bool) FOrdLessThan 20 23

-                              LoopMerge 14 13 None

-                              BranchConditional 25 15 14

-              15:               Label

-              28:    7(fvec4)   Load 27(bigColor)

-              29:    7(fvec4)   Load 9(color)

-              30:    7(fvec4)   FAdd 29 28

-                                Store 9(color) 30

-                                Branch 13

-              14:             Label

-              33:    7(fvec4) Load 9(color)

-                              Store 32(gl_FragColor) 33

-                              Return

-                              FunctionEnd

+spv.whileLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 35
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 11
+                              ExecutionMode 4 OriginLowerLeft
+                              Source GLSL 110
+                              Name 4  "main"
+                              Name 9  "color"
+                              Name 11  "BaseColor"
+                              Name 23  "d"
+                              Name 28  "bigColor"
+                              Name 33  "gl_FragColor"
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+              10:             TypePointer Input 7(fvec4)
+   11(BaseColor):     10(ptr) Variable Input
+              17:             TypeInt 32 0
+              18:     17(int) Constant 0
+              19:             TypePointer Function 6(float)
+              22:             TypePointer UniformConstant 6(float)
+           23(d):     22(ptr) Variable UniformConstant
+              25:             TypeBool
+              27:             TypePointer UniformConstant 7(fvec4)
+    28(bigColor):     27(ptr) Variable UniformConstant
+              32:             TypePointer Output 7(fvec4)
+33(gl_FragColor):     32(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+        9(color):      8(ptr) Variable Function
+              12:    7(fvec4) Load 11(BaseColor)
+                              Store 9(color) 12
+                              Branch 16
+              13:             Label
+              29:    7(fvec4) Load 28(bigColor)
+              30:    7(fvec4) Load 9(color)
+              31:    7(fvec4) FAdd 30 29
+                              Store 9(color) 31
+                              Branch 15
+              14:             Label
+              34:    7(fvec4) Load 9(color)
+                              Store 33(gl_FragColor) 34
+                              Return
+              15:             Label
+                              Branch 16
+              16:             Label
+              20:     19(ptr) AccessChain 9(color) 18
+              21:    6(float) Load 20
+              24:    6(float) Load 23(d)
+              26:    25(bool) FOrdLessThan 21 24
+                              LoopMerge 14 15 None
+                              BranchConditional 26 13 14
+                                FunctionEnd
diff --git a/Test/test-spirv-list b/Test/test-spirv-list
index 1efcfcb..504ee6d 100644
--- a/Test/test-spirv-list
+++ b/Test/test-spirv-list
@@ -5,6 +5,8 @@
 spv.do-while-continue-break.vert
 spv.for-continue-break.vert
 spv.for-simple.vert
+spv.for-notest.vert
+spv.for-nobody.vert
 spv.while-continue-break.vert
 spv.while-simple.vert
 # vulkan-specific tests