1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
; Tests translation of DebugTypeInheritance and DebugLocalVariable with
; DebugInfoNone type
; REQUIRES: spirv-as
; RUN: spirv-as %s --target-env spv1.1 -o %t.spv
; RUN: llvm-spirv -r -o %t.rev.bc %t.spv
; RUN: llvm-dis %t.rev.bc -o %t.rev.ll
; RUN: FileCheck %s --input-file %t.rev.ll --check-prefix CHECK-LLVM
; CHECK-LLVM: DILocalVariable(name: "c", scope: !9, file: !3, line: 7, type: ![[#Type:]])
; CHECK-LLVM: ![[#Type]] = !DIBasicType(tag: DW_TAG_unspecified_type, name: "SPIRV unknown type")
; CHECK-LLVM-NOT: DW_TAG_inheritance
; SPIR-V
; Version: 1.0
; Generator: Khronos LLVM/SPIR-V Translator; 14
; Bound: 62
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
OpExtension "SPV_KHR_non_semantic_info"
%1 = OpExtInstImport "OpenCL.std"
%2 = OpExtInstImport "NonSemantic.Shader.DebugInfo.100"
OpMemoryModel Physical64 OpenCL
%15 = OpString "/app/example.cpp"
%17 = OpString "0"
%20 = OpString ""
%26 = OpString "int"
%31 = OpString "_ZTS1C"
%32 = OpString "C"
%35 = OpString "_ZTS1B"
%36 = OpString "B"
%38 = OpString "_ZTS1A"
%39 = OpString "A"
%48 = OpString "foo"
%49 = OpString "_Z3foov"
%53 = OpString "c"
OpSource Unknown 0
OpName %_Z3foov "_Z3foov"
OpName %class_C "class.C"
OpDecorate %_Z3foov LinkageAttributes "_Z3foov" Export
OpDecorate %10 Alignment 1
%uint = OpTypeInt 32 0
%uchar = OpTypeInt 8 0
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%uint_65536 = OpConstant %uint 65536
%uint_4 = OpConstant %uint 4
%uint_6 = OpConstant %uint 6
%uint_32 = OpConstant %uint 32
%uint_8 = OpConstant %uint 8
%uint_32768 = OpConstant %uint 32768
%uint_3 = OpConstant %uint 3
%uint_2 = OpConstant %uint 2
%uint_136 = OpConstant %uint 136
%uint_7 = OpConstant %uint 7
%uint_11 = OpConstant %uint 11
%uint_12 = OpConstant %uint 12
%4 = OpTypeFunction %uint
%class_C = OpTypeStruct %uchar
%_ptr_Function_class_C = OpTypePointer Function %class_C
%void = OpTypeVoid
%12 = OpExtInst %void %2 DebugInfoNone
%16 = OpExtInst %void %2 DebugSource %15
%19 = OpExtInst %void %2 DebugBuildIdentifier %17 %uint_1
%21 = OpExtInst %void %2 DebugStoragePath %20
%25 = OpExtInst %void %2 DebugCompilationUnit %uint_65536 %uint_4 %16 %uint_6
%28 = OpExtInst %void %2 DebugTypeBasic %26 %uint_32 %uint_4 %12
%29 = OpExtInst %void %2 DebugTypeFunction %uint_0 %28
%37 = OpExtInst %void %2 DebugTypeComposite %39 %uint_0 %16 %uint_1 %uint_0 %25 %38 %uint_8 %uint_32768
%43 = OpExtInst %void %2 DebugTypeInheritance %37 %uint_0 %uint_0 %uint_3
%34 = OpExtInst %void %2 DebugTypeComposite %36 %uint_0 %16 %uint_2 %uint_0 %25 %35 %uint_8 %uint_32768 %43
%46 = OpExtInst %void %2 DebugTypeInheritance %34 %uint_0 %uint_0 %uint_3
%30 = OpExtInst %void %2 DebugTypeComposite %32 %uint_0 %16 %uint_3 %uint_0 %25 %31 %uint_8 %uint_32768 %46
%51 = OpExtInst %void %2 DebugFunction %48 %29 %16 %uint_4 %uint_0 %25 %49 %uint_136 %uint_4 %12
%55 = OpExtInst %void %2 DebugLocalVariable %53 %12 %16 %uint_7 %uint_0 %51 %uint_0
%56 = OpExtInst %void %2 DebugExpression
%_Z3foov = OpFunction %uint DontInline %4
%6 = OpLabel
%52 = OpExtInst %void %2 DebugFunctionDefinition %51 %_Z3foov
%10 = OpVariable %_ptr_Function_class_C Function
%57 = OpExtInst %void %2 DebugScope %51
%60 = OpExtInst %void %2 DebugLine %15 %uint_7 %uint_7 %uint_11 %uint_12
%13 = OpExtInst %void %2 DebugDeclare %55 %10 %56
%61 = OpExtInst %void %2 DebugLine %15 %uint_8 %uint_8 %uint_3 %uint_4
OpReturnValue %uint_0
OpFunctionEnd
|