spv.dead-after-continue.vert
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 29

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 20 28
                              Source GLSL 450
                              Name 4  "main"
                              Name 8  "i"
                              Name 20  "o"
                              Name 28  "c"
                              Decorate 20(o) Location 0
                              Decorate 28(c) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:      6(int) Constant 0
              16:      6(int) Constant 5
              17:             TypeBool
              19:             TypePointer Output 6(int)
           20(o):     19(ptr) Variable Output
              21:      6(int) Constant 1
              23:      6(int) Constant 2
              26:      6(int) Constant 3
              27:             TypePointer Input 6(int)
           28(c):     27(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
                              LoopMerge 12 13 None
                              Branch 14
              14:             Label
              15:      6(int) Load 8(i)
              18:    17(bool) SLessThan 15 16
                              BranchConditional 18 11 12
              11:               Label
                                Store 20(o) 21
                                Branch 13
              13:               Label
              24:      6(int)   Load 8(i)
              25:      6(int)   IAdd 24 21
                                Store 8(i) 25
                                Branch 10
              12:             Label
                              Store 20(o) 26
                              Return
                              FunctionEnd
