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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 8 13
                              Source GLSL 450
                              Name 4  "main"
                              Name 8  "o"
                              Name 13  "c"
                              Decorate 8(o) Location 0
                              Decorate 13(c) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Output 6(int)
            8(o):      7(ptr) Variable Output
               9:      6(int) Constant 1
              11:      6(int) Constant 3
              12:             TypePointer Input 6(int)
           13(c):     12(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
                              Store 8(o) 9
                              Return
                              FunctionEnd
