; RUN: llc -O0 %s -o - | FileCheck %s target triple = "spirv32-unknown-unknown" ; Debug info: ; CHECK: OpName [[FOO:%.+]] "foo" ; Types: ; CHECK: [[VOID:%.+]] = OpTypeVoid ; CHECK: [[FN:%.+]] = OpTypeFunction [[VOID]] ; Functions: ; CHECK: [[FOO]] = OpFunction [[VOID]] None [[FN]] ; CHECK-NOT: OpFunctionParameter ; NOTE: In 2.4, it isn't explicitly written that a function always has a least ; one block. In fact, 2.4.11 seems to imply that there are at least two ; blocks in functions with a body, but that doesn't make much sense. ; However, in order to distinguish between function declaration and ; definition, a function needs at least one block, hence why this test ; expects one OpLabel + OpReturn. ; CHECK: OpLabel ; CHECK: OpReturn ; CHECK-NOT: OpLabel ; CHECK: OpFunctionEnd define void @foo() { ret void }