File: SourceLanguageSPIRVToLLVM.spvasm

package info (click to toggle)
spirv-llvm-translator-14 14.0.11-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 15,640 kB
  • sloc: cpp: 47,664; lisp: 3,704; sh: 153; python: 43; makefile: 33
file content (66 lines) | stat: -rw-r--r-- 3,160 bytes parent folder | download | duplicates (4)
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
; Test checks that:
;    - OpenCL_CPP is mapped to DW_LANG_C_plus_plus_14
;    - CPP_for_OpenCL is mapped to DW_LANG_C_plus_plus_17
;    - OpenCL_C, GLSL, ESSL, HLSL, and Unknown are mapped to DW_LANG_OpenCL

; LLVM does not yet define DW_LANG_C_plus_plus_17. When it is defined, the
; test case for C++ for OpenCL should be updated to check that CPP_for_OpenCL
; is mapped to DW_LANG_C_plus_plus_17, not DW_LANG_C_plus_plus_14.

; REQUIRES: spirv-as

; RUN: sed -e 's/SOURCE_LANGUAGE/OpenCL_CPP/' %s | spirv-as --target-env spv1.3 - -o %t.spv
; RUN: llvm-spirv -r %t.spv -o - | llvm-dis | FileCheck %s --check-prefix=CHECK-CPP14

; COM: TODO: Enable this test when the version of SPIRV-Tools used by buildbot is updated to 
; COM: recognise CPP_for_OpenCL as a valid source language.
; COM: sed -e 's/SOURCE_LANGUAGE/CPP_for_OpenCL/' %s | spirv-as --target-env spv1.3 - -o %t.spv
; COM: llvm-spirv -r %t.spv -o - | llvm-dis | FileCheck %s --check-prefix=CHECK-CPP14

; RUN: sed -e 's/SOURCE_LANGUAGE/OpenCL_C/' %s | spirv-as --target-env spv1.3 - -o %t.spv
; RUN: llvm-spirv -r %t.spv -o - | llvm-dis | FileCheck %s --check-prefix=CHECK-OPENCL

; RUN: sed -e 's/SOURCE_LANGUAGE/GLSL/' %s | spirv-as --target-env spv1.3 - -o %t.spv
; RUN: llvm-spirv -r %t.spv -o - | llvm-dis | FileCheck %s --check-prefix=CHECK-OPENCL

; RUN: sed -e 's/SOURCE_LANGUAGE/HLSL/' %s | spirv-as --target-env spv1.3 - -o %t.spv
; RUN: llvm-spirv -r %t.spv -o - | llvm-dis | FileCheck %s --check-prefix=CHECK-OPENCL

; RUN: sed -e 's/SOURCE_LANGUAGE/ESSL/' %s | spirv-as --target-env spv1.3 - -o %t.spv
; RUN: llvm-spirv -r %t.spv -o - | llvm-dis | FileCheck %s --check-prefix=CHECK-OPENCL

; RUN: sed -e 's/SOURCE_LANGUAGE/Unknown/' %s | spirv-as --target-env spv1.3 - -o %t.spv
; RUN: llvm-spirv -r %t.spv -o - | llvm-dis | FileCheck %s --check-prefix=CHECK-OPENCL

; SPIR-V
; Version: 1.1
; Generator: Khronos LLVM/SPIR-V Translator; 14
; Bound: 16
; Schema: 0
               OpCapability Addresses
               OpCapability Kernel
          %1 = OpExtInstImport "OpenCL.std"
          %2 = OpExtInstImport "OpenCL.DebugInfo.100"
               OpMemoryModel Physical64 OpenCL
               OpEntryPoint Kernel %5 "func"
          %7 = OpString "kernel_arg_type.func."
          %8 = OpString "/tmp/test.cl"
          %9 = OpString "//__CSK_MD5:18aa9ce738eaafc7b7b7181c19092815"
         %12 = OpString "func"
         %14 = OpString ""
               OpSource Unknown 0
               OpName %entry "entry"
               OpModuleProcessed "Debug info producer: "
       %void = OpTypeVoid
          %4 = OpTypeFunction %void
         %10 = OpExtInst %void %2 DebugSource %8 %9
         %11 = OpExtInst %void %2 DebugCompilationUnit 65536 5 %10 SOURCE_LANGUAGE
         %13 = OpExtInst %void %2 DebugInfoNone
         %15 = OpExtInst %void %2 DebugFunction %12 %13 %10 1 0 %11 %14 FlagIsDefinition|FlagPrototyped|FlagIsOptimized 2 %5 %13
          %5 = OpFunction %void None %4
      %entry = OpLabel
               OpReturn
               OpFunctionEnd

; CHECK-OPENCL: !DICompileUnit(language: DW_LANG_OpenCL,
; CHECK-CPP14: !DICompileUnit(language: DW_LANG_C_plus_plus_14,