Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

To support user to define a global string in SPIRV dialect. #642

Open
chengjunlu opened this issue Apr 24, 2023 · 2 comments
Open

To support user to define a global string in SPIRV dialect. #642

chengjunlu opened this issue Apr 24, 2023 · 2 comments
Labels
spirv_debug_support Triton Issues tracking Triton/IMEX collaboration

Comments

@chengjunlu
Copy link

To support user to define a global string in SPIRV dialect.

@silee2 silee2 added spirv_debug_support Triton Issues tracking Triton/IMEX collaboration labels Apr 24, 2023
@chengjunlu chengjunlu reopened this Sep 19, 2023
@chengjunlu
Copy link
Author

; SPIR-V
; Version: 1.0
; Generator: Khronos LLVM/SPIR-V Translator; 14
; Bound: 115
; Schema: 0
               OpCapability Addresses ; 0x00000014
               OpCapability Linkage ; 0x0000001c
               OpCapability Kernel ; 0x00000024
               OpCapability Float16Buffer ; 0x0000002c
               OpCapability Int64 ; 0x00000034
               OpCapability Int8 ; 0x0000003c
          %1 = OpExtInstImport "OpenCL.std" ; 0x00000044
               OpMemoryModel Physical64 OpenCL ; 0x00000058
               OpSource OpenCL_CPP 100000 ; 0x00000064
               OpName %_ZZ17print_write_indexE3var "_ZZ17print_write_indexE3var" ; 0x00000070
               OpName %_ZZ12print_atomicE6format "_ZZ12print_atomicE6format" ; 0x00000094
               OpName %_ZZ13print_atomic2E6format "_ZZ13print_atomic2E6format" ; 0x000000b8
               OpName %_ZZ12print_scalarE6format "_ZZ12print_scalarE6format" ; 0x000000dc
               OpName %print_cur_float "print_cur_float" ; 0x00000100
               OpName %print_acc_float "print_acc_float" ; 0x00000118
               OpName %print_output_float "print_output_float" ; 0x00000130
               OpName %print_write_index "print_write_index" ; 0x0000014c
               OpName %print_atomic "print_atomic" ; 0x00000168
               OpName %print_atomic2 "print_atomic2" ; 0x00000180
               OpName %print_scalar "print_scalar" ; 0x00000198
               OpDecorate %_ZZ17print_write_indexE3var Constant ; 0x000001b0
               OpDecorate %_ZZ17print_write_indexE3var Alignment 1 ; 0x000001bc
               OpDecorate %_ZZ12print_atomicE6format Constant ; 0x000001cc
               OpDecorate %_ZZ12print_atomicE6format Alignment 1 ; 0x000001d8
               OpDecorate %_ZZ13print_atomic2E6format Constant ; 0x000001e8
               OpDecorate %_ZZ13print_atomic2E6format Alignment 1 ; 0x000001f4
               OpDecorate %_ZZ12print_scalarE6format Constant ; 0x00000204
               OpDecorate %_ZZ12print_scalarE6format Alignment 1 ; 0x00000210
               OpDecorate %print_cur_float LinkageAttributes "print_cur_float" Export ; 0x00000220
               OpDecorate %60 FuncParamAttr NoCapture ; 0x00000240
               OpDecorate %print_acc_float LinkageAttributes "print_acc_float" Export ; 0x00000250
               OpDecorate %66 FuncParamAttr NoCapture ; 0x00000270
               OpDecorate %print_output_float LinkageAttributes "print_output_float" Export ; 0x00000280
               OpDecorate %72 FuncParamAttr NoCapture ; 0x000002a4
               OpDecorate %print_write_index LinkageAttributes "print_write_index" Export ; 0x000002b4
               OpDecorate %print_atomic LinkageAttributes "print_atomic" Export ; 0x000002d8
               OpDecorate %print_atomic2 LinkageAttributes "print_atomic2" Export ; 0x000002f8
               OpDecorate %print_scalar LinkageAttributes "print_scalar" Export ; 0x00000318
      %uchar = OpTypeInt 8 0 ; 0x00000338
      %ulong = OpTypeInt 64 0 ; 0x00000348
       %uint = OpTypeInt 32 0 ; 0x00000358
  %uchar_116 = OpConstant %uchar 116 ; 0x00000368
  %uchar_105 = OpConstant %uchar 105 ; 0x00000378
  %uchar_100 = OpConstant %uchar 100 ; 0x00000388
   %uchar_32 = OpConstant %uchar 32 ; 0x00000398
   %uchar_37 = OpConstant %uchar 37 ; 0x000003a8
  %uchar_115 = OpConstant %uchar 115 ; 0x000003b8
   %uchar_97 = OpConstant %uchar 97 ; 0x000003c8
  %uchar_103 = OpConstant %uchar 103 ; 0x000003d8
  %uchar_101 = OpConstant %uchar 101 ; 0x000003e8
  %uchar_119 = OpConstant %uchar 119 ; 0x000003f8
  %uchar_114 = OpConstant %uchar 114 ; 0x00000408
   %uchar_95 = OpConstant %uchar 95 ; 0x00000418
  %uchar_110 = OpConstant %uchar 110 ; 0x00000428
  %uchar_120 = OpConstant %uchar 120 ; 0x00000438
   %uchar_61 = OpConstant %uchar 61 ; 0x00000448
   %uchar_10 = OpConstant %uchar 10 ; 0x00000458
    %uchar_0 = OpConstant %uchar 0 ; 0x00000468
   %ulong_34 = OpConstant %ulong 34 ; 0x00000478
  %uchar_112 = OpConstant %uchar 112 ; 0x0000048c
  %uchar_118 = OpConstant %uchar 118 ; 0x0000049c
  %uchar_108 = OpConstant %uchar 108 ; 0x000004ac
   %uchar_48 = OpConstant %uchar 48 ; 0x000004bc
  %uchar_102 = OpConstant %uchar 102 ; 0x000004cc
   %uchar_44 = OpConstant %uchar 44 ; 0x000004dc
   %uchar_49 = OpConstant %uchar 49 ; 0x000004ec
   %ulong_45 = OpConstant %ulong 45 ; 0x000004fc
  %uchar_111 = OpConstant %uchar 111 ; 0x00000510
   %uchar_56 = OpConstant %uchar 56 ; 0x00000520
   %uchar_99 = OpConstant %uchar 99 ; 0x00000530
  %uchar_104 = OpConstant %uchar 104 ; 0x00000540
   %ulong_49 = OpConstant %ulong 49 ; 0x00000550
   %ulong_42 = OpConstant %ulong 42 ; 0x00000564
    %ulong_0 = OpConstant %ulong 0 ; 0x00000578
%_arr_uchar_ulong_34 = OpTypeArray %uchar %ulong_34 ; 0x0000058c
%_ptr_UniformConstant__arr_uchar_ulong_34 = OpTypePointer UniformConstant %_arr_uchar_ulong_34 ; 0x0000059c
%_arr_uchar_ulong_45 = OpTypeArray %uchar %ulong_45 ; 0x000005ac
%_ptr_UniformConstant__arr_uchar_ulong_45 = OpTypePointer UniformConstant %_arr_uchar_ulong_45 ; 0x000005bc
%_arr_uchar_ulong_49 = OpTypeArray %uchar %ulong_49 ; 0x000005cc
%_ptr_UniformConstant__arr_uchar_ulong_49 = OpTypePointer UniformConstant %_arr_uchar_ulong_49 ; 0x000005dc
%_arr_uchar_ulong_42 = OpTypeArray %uchar %ulong_42 ; 0x000005ec
%_ptr_UniformConstant__arr_uchar_ulong_42 = OpTypePointer UniformConstant %_arr_uchar_ulong_42 ; 0x000005fc
       %void = OpTypeVoid ; 0x0000060c
      %float = OpTypeFloat 32 ; 0x00000614
%_ptr_Workgroup_float = OpTypePointer Workgroup %float ; 0x00000620
         %56 = OpTypeFunction %void %uint %uint %_ptr_Workgroup_float %float ; 0x00000630
         %75 = OpTypeFunction %void %uint %uint %uint ; 0x0000064c
%_ptr_UniformConstant_uchar = OpTypePointer UniformConstant %uchar ; 0x00000664
       %half = OpTypeFloat 16 ; 0x00000674
%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half ; 0x00000680
         %87 = OpTypeFunction %void %uint %uint %_ptr_CrossWorkgroup_half %half %half ; 0x00000690
         %97 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %uint %uint %uint ; 0x000006b0
        %106 = OpTypeFunction %void %uint %uint %uint %uint ; 0x000006cc
         %23 = OpConstantComposite %_arr_uchar_ulong_34 %uchar_116 %uchar_105 %uchar_100 %uchar_32 %uchar_37 %uchar_100 %uchar_32 %uchar_115 %uchar_116 %uchar_97 %uchar_103 %uchar_101 %uchar_32 %uchar_37 %uchar_100 %uchar_32 %uchar_119 %uchar_114 %uchar_105 %uchar_116 %uchar_101 %uchar_95 %uchar_105 %uchar_110 %uchar_100 %uchar_101 %uchar_120 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_100 %uchar_10 %uchar_0 ; 0x000006e8
%_ZZ17print_write_indexE3var = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_34 UniformConstant %23 ; 0x0000077c
         %35 = OpConstantComposite %_arr_uchar_ulong_45 %uchar_112 %uchar_105 %uchar_100 %uchar_32 %uchar_37 %uchar_100 %uchar_32 %uchar_116 %uchar_105 %uchar_100 %uchar_32 %uchar_37 %uchar_100 %uchar_32 %uchar_112 %uchar_116 %uchar_114 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_112 %uchar_32 %uchar_118 %uchar_97 %uchar_108 %uchar_48 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_102 %uchar_44 %uchar_32 %uchar_118 %uchar_97 %uchar_108 %uchar_49 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_102 %uchar_10 %uchar_0 ; 0x00000790
%_ZZ12print_atomicE6format = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_45 UniformConstant %35 ; 0x00000850
         %44 = OpConstantComposite %_arr_uchar_ulong_49 %uchar_112 %uchar_116 %uchar_114 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_112 %uchar_32 %uchar_111 %uchar_114 %uchar_105 %uchar_103 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_48 %uchar_56 %uchar_120 %uchar_44 %uchar_32 %uchar_119 %uchar_114 %uchar_105 %uchar_116 %uchar_101 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_48 %uchar_56 %uchar_120 %uchar_44 %uchar_32 %uchar_101 %uchar_120 %uchar_99 %uchar_104 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_48 %uchar_56 %uchar_120 %uchar_10 %uchar_0 ; 0x00000864
%_ZZ13print_atomic2E6format = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_49 UniformConstant %44 ; 0x00000934
         %49 = OpConstantComposite %_arr_uchar_ulong_42 %uchar_115 %uchar_103 %uchar_105 %uchar_100 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_100 %uchar_44 %uchar_32 %uchar_116 %uchar_105 %uchar_100 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_100 %uchar_32 %uchar_115 %uchar_99 %uchar_97 %uchar_108 %uchar_97 %uchar_114 %uchar_32 %uchar_105 %uchar_100 %uchar_32 %uchar_61 %uchar_32 %uchar_37 %uchar_100 %uchar_32 %uchar_118 %uchar_61 %uchar_32 %uchar_37 %uchar_100 %uchar_10 %uchar_0 ; 0x00000948
%_ZZ12print_scalarE6format = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_42 UniformConstant %49 ; 0x000009fc
%print_cur_float = OpFunction %void None %56 ; 0x00000a10
         %58 = OpFunctionParameter %uint ; 0x00000a24
         %59 = OpFunctionParameter %uint ; 0x00000a30
         %60 = OpFunctionParameter %_ptr_Workgroup_float ; 0x00000a3c
         %61 = OpFunctionParameter %float ; 0x00000a48
         %62 = OpLabel ; 0x00000a54
               OpReturn ; 0x00000a5c
               OpFunctionEnd ; 0x00000a60
%print_acc_float = OpFunction %void None %56 ; 0x00000a64
         %64 = OpFunctionParameter %uint ; 0x00000a78
         %65 = OpFunctionParameter %uint ; 0x00000a84
         %66 = OpFunctionParameter %_ptr_Workgroup_float ; 0x00000a90
         %67 = OpFunctionParameter %float ; 0x00000a9c
         %68 = OpLabel ; 0x00000aa8
               OpReturn ; 0x00000ab0
               OpFunctionEnd ; 0x00000ab4
%print_output_float = OpFunction %void None %56 ; 0x00000ab8
         %70 = OpFunctionParameter %uint ; 0x00000acc
         %71 = OpFunctionParameter %uint ; 0x00000ad8
         %72 = OpFunctionParameter %_ptr_Workgroup_float ; 0x00000ae4
         %73 = OpFunctionParameter %float ; 0x00000af0
         %74 = OpLabel ; 0x00000afc
               OpReturn ; 0x00000b04
               OpFunctionEnd ; 0x00000b08
%print_write_index = OpFunction %void None %75 ; 0x00000b0c
         %77 = OpFunctionParameter %uint ; 0x00000b20
         %78 = OpFunctionParameter %uint ; 0x00000b2c
         %79 = OpFunctionParameter %uint ; 0x00000b38
         %80 = OpLabel ; 0x00000b44
         %83 = OpInBoundsPtrAccessChain %_ptr_UniformConstant_uchar %_ZZ17print_write_indexE3var %ulong_0 %ulong_0 ; 0x00000b4c
         %84 = OpExtInst %uint %1 printf %83 %77 %78 %79 ; 0x00000b64
               OpReturn ; 0x00000b88
               OpFunctionEnd ; 0x00000b8c
%print_atomic = OpFunction %void None %87 ; 0x00000b90
         %89 = OpFunctionParameter %uint ; 0x00000ba4
         %90 = OpFunctionParameter %uint ; 0x00000bb0
         %91 = OpFunctionParameter %_ptr_CrossWorkgroup_half ; 0x00000bbc
         %92 = OpFunctionParameter %half ; 0x00000bc8
         %93 = OpFunctionParameter %half ; 0x00000bd4
         %94 = OpLabel ; 0x00000be0
         %95 = OpInBoundsPtrAccessChain %_ptr_UniformConstant_uchar %_ZZ12print_atomicE6format %ulong_0 %ulong_0 ; 0x00000be8
         %96 = OpExtInst %uint %1 printf %95 %89 %90 %91 %92 %93 ; 0x00000c00
               OpReturn ; 0x00000c2c
               OpFunctionEnd ; 0x00000c30
%print_atomic2 = OpFunction %void None %97 ; 0x00000c34
         %99 = OpFunctionParameter %_ptr_CrossWorkgroup_half ; 0x00000c48
        %100 = OpFunctionParameter %uint ; 0x00000c54
        %101 = OpFunctionParameter %uint ; 0x00000c60
        %102 = OpFunctionParameter %uint ; 0x00000c6c
        %103 = OpLabel ; 0x00000c78
        %104 = OpInBoundsPtrAccessChain %_ptr_UniformConstant_uchar %_ZZ13print_atomic2E6format %ulong_0 %ulong_0 ; 0x00000c80
        %105 = OpExtInst %uint %1 printf %104 %99 %100 %101 %102 ; 0x00000c98
               OpReturn ; 0x00000cc0
               OpFunctionEnd ; 0x00000cc4
%print_scalar = OpFunction %void None %106 ; 0x00000cc8
        %108 = OpFunctionParameter %uint ; 0x00000cdc
        %109 = OpFunctionParameter %uint ; 0x00000ce8
        %110 = OpFunctionParameter %uint ; 0x00000cf4
        %111 = OpFunctionParameter %uint ; 0x00000d00
        %112 = OpLabel ; 0x00000d0c
        %113 = OpInBoundsPtrAccessChain %_ptr_UniformConstant_uchar %_ZZ12print_scalarE6format %ulong_0 %ulong_0 ; 0x00000d14
        %114 = OpExtInst %uint %1 printf %113 %108 %109 %110 %111 ; 0x00000d2c
               OpReturn ; 0x00000d54
               OpFunctionEnd ; 0x00000d58

@chengjunlu
Copy link
Author

; ------------------------------------------------
; OCL_asm68172b18364731f8_beforeUnification.ll
; ------------------------------------------------
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"
target triple = "spir64-unknown-unknown"

@_ZZ17print_write_indexE3var = internal unnamed_addr addrspace(2) constant [34 x i8] c"tid %d stage %d write_index = %d\0A\00", align 1
@_ZZ12print_atomicE6format = internal unnamed_addr addrspace(2) constant [45 x i8] c"pid %d tid %d ptr = %p val0 = %f, val1 = %f\0A\00", align 1
@_ZZ13print_atomic2E6format = internal unnamed_addr addrspace(2) constant [49 x i8] c"ptr = %p orig = %08x, write = %08x, exch = %08x\0A\00", align 1
@_ZZ12print_scalarE6format = internal unnamed_addr addrspace(2) constant [42 x i8] c"sgid = %d, tid = %d scalar id = %d v= %d\0A\00", align 1

; Function Attrs: nounwind
define spir_func void @print_cur_float(i32 %0, i32 %1, float addrspace(3)* nocapture %2, float %3) #0 {
  ret void
}

; Function Attrs: nounwind
define spir_func void @print_acc_float(i32 %0, i32 %1, float addrspace(3)* nocapture %2, float %3) #0 {
  ret void
}

; Function Attrs: nounwind
define spir_func void @print_output_float(i32 %0, i32 %1, float addrspace(3)* nocapture %2, float %3) #0 {
  ret void
}

; Function Attrs: nounwind
define spir_func void @print_write_index(i32 %0, i32 %1, i32 %2) #0 {
  %4 = getelementptr inbounds [34 x i8], [34 x i8] addrspace(2)* @_ZZ17print_write_indexE3var, i64 0, i64 0
  %5 = call spir_func i32 (i8 addrspace(2)*, ...) @printf(i8 addrspace(2)* %4, i32 %0, i32 %1, i32 %2) #0
  ret void
}

; Function Attrs: nounwind
declare spir_func i32 @printf(i8 addrspace(2)*, ...) #0

; Function Attrs: nounwind
define spir_func void @print_atomic(i32 %0, i32 %1, half addrspace(1)* %2, half %3, half %4) #0 {
  %6 = getelementptr inbounds [45 x i8], [45 x i8] addrspace(2)* @_ZZ12print_atomicE6format, i64 0, i64 0
  %7 = call spir_func i32 (i8 addrspace(2)*, ...) @printf(i8 addrspace(2)* %6, i32 %0, i32 %1, half addrspace(1)* %2, half %3, half %4) #0
  ret void
}

; Function Attrs: nounwind
define spir_func void @print_atomic2(half addrspace(1)* %0, i32 %1, i32 %2, i32 %3) #0 {
  %5 = getelementptr inbounds [49 x i8], [49 x i8] addrspace(2)* @_ZZ13print_atomic2E6format, i64 0, i64 0
  %6 = call spir_func i32 (i8 addrspace(2)*, ...) @printf(i8 addrspace(2)* %5, half addrspace(1)* %0, i32 %1, i32 %2, i32 %3) #0
  ret void
}

; Function Attrs: nounwind
define spir_func void @print_scalar(i32 %0, i32 %1, i32 %2, i32 %3) #0 {
  %5 = getelementptr inbounds [42 x i8], [42 x i8] addrspace(2)* @_ZZ12print_scalarE6format, i64 0, i64 0
  %6 = call spir_func i32 (i8 addrspace(2)*, ...) @printf(i8 addrspace(2)* %5, i32 %0, i32 %1, i32 %2, i32 %3) #0
  ret void
}

attributes #0 = { nounwind }

!opencl.kernels = !{}
!IGCMetadata = !{!0}
!opencl.enable.FP_CONTRACT = !{}
!opencl.spir.version = !{!192}
!opencl.ocl.version = !{!192}
!opencl.used.extensions = !{!193}
!opencl.used.optional.core.features = !{!193}
!opencl.compiler.options = !{!193}
!igc.functions = !{}

!0 = !{!"ModuleMD", !1, !2, !62, !63, !93, !109, !124, !134, !136, !137, !150, !151, !152, !153, !157, !158, !159, !160, !161, !162, !163, !164, !165, !166, !167, !168, !169, !171, !175, !176, !177, !178, !179, !180, !181, !182, !183, !184, !185, !187, !190, !191}
!1 = !{!"isPrecise", i1 false}
!2 = !{!"compOpt", !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}
!3 = !{!"DenormsAreZero", i1 false}
!4 = !{!"CorrectlyRoundedDivSqrt", i1 false}
!5 = !{!"OptDisable", i1 false}
!6 = !{!"MadEnable", i1 false}
!7 = !{!"NoSignedZeros", i1 false}
!8 = !{!"NoNaNs", i1 false}
!9 = !{!"FloatRoundingMode", i32 0}
!10 = !{!"FloatCvtIntRoundingMode", i32 3}
!11 = !{!"VISAPreSchedRPThreshold", i32 0}
!12 = !{!"SetLoopUnrollThreshold", i32 0}
!13 = !{!"UnsafeMathOptimizations", i1 false}
!14 = !{!"FiniteMathOnly", i1 false}
!15 = !{!"FastRelaxedMath", i1 false}
!16 = !{!"DashGSpecified", i1 false}
!17 = !{!"FastCompilation", i1 false}
!18 = !{!"UseScratchSpacePrivateMemory", i1 true}
!19 = !{!"RelaxedBuiltins", i1 false}
!20 = !{!"SubgroupIndependentForwardProgressRequired", i1 true}
!21 = !{!"GreaterThan2GBBufferRequired", i1 true}
!22 = !{!"GreaterThan4GBBufferRequired", i1 true}
!23 = !{!"DisableA64WA", i1 false}
!24 = !{!"ForceEnableA64WA", i1 false}
!25 = !{!"PushConstantsEnable", i1 true}
!26 = !{!"HasPositivePointerOffset", i1 false}
!27 = !{!"HasBufferOffsetArg", i1 false}
!28 = !{!"BufferOffsetArgOptional", i1 true}
!29 = !{!"HasSubDWAlignedPtrArg", i1 false}
!30 = !{!"replaceGlobalOffsetsByZero", i1 false}
!31 = !{!"forcePixelShaderSIMDMode", i32 0}
!32 = !{!"pixelShaderDoNotAbortOnSpill", i1 false}
!33 = !{!"UniformWGS", i1 false}
!34 = !{!"disableVertexComponentPacking", i1 false}
!35 = !{!"disablePartialVertexComponentPacking", i1 false}
!36 = !{!"PreferBindlessImages", i1 false}
!37 = !{!"UseBindlessMode", i1 false}
!38 = !{!"UseLegacyBindlessMode", i1 true}
!39 = !{!"disableMathRefactoring", i1 false}
!40 = !{!"atomicBranch", i1 false}
!41 = !{!"ForceInt32DivRemEmu", i1 false}
!42 = !{!"ForceInt32DivRemEmuSP", i1 false}
!43 = !{!"DisableFastestSingleCSSIMD", i1 false}
!44 = !{!"DisableFastestLinearScan", i1 false}
!45 = !{!"UseStatelessforPrivateMemory", i1 false}
!46 = !{!"EnableTakeGlobalAddress", i1 false}
!47 = !{!"IsLibraryCompilation", i1 false}
!48 = !{!"FastVISACompile", i1 false}
!49 = !{!"MatchSinCosPi", i1 false}
!50 = !{!"ExcludeIRFromZEBinary", i1 false}
!51 = !{!"EmitZeBinVISASections", i1 false}
!52 = !{!"FP64GenEmulationEnabled", i1 false}
!53 = !{!"allowDisableRematforCS", i1 false}
!54 = !{!"DisableIncSpillCostAllAddrTaken", i1 false}
!55 = !{!"DisableCPSOmaskWA", i1 false}
!56 = !{!"DisableFastestGopt", i1 false}
!57 = !{!"WaForceHalfPromotion", i1 false}
!58 = !{!"DisableConstantCoalescing", i1 false}
!59 = !{!"EnableUndefAlphaOutputAsRed", i1 true}
!60 = !{!"WaEnableALTModeVisaWA", i1 false}
!61 = !{!"NewSpillCostFunction", i1 false}
!62 = !{!"FuncMD"}
!63 = !{!"pushInfo", !64, !65, !66, !69, !70, !71, !72, !73, !74, !75, !76, !89, !90, !91, !92}
!64 = !{!"pushableAddresses"}
!65 = !{!"bindlessPushInfo"}
!66 = !{!"dynamicBufferInfo", !67, !68}
!67 = !{!"firstIndex", i32 0}
!68 = !{!"numOffsets", i32 0}
!69 = !{!"MaxNumberOfPushedBuffers", i32 0}
!70 = !{!"inlineConstantBufferSlot", i32 -1}
!71 = !{!"inlineConstantBufferOffset", i32 -1}
!72 = !{!"inlineConstantBufferGRFOffset", i32 -1}
!73 = !{!"constants"}
!74 = !{!"inputs"}
!75 = !{!"constantReg"}
!76 = !{!"simplePushInfoArr", !77, !86, !87, !88}
!77 = !{!"simplePushInfoArrVec[0]", !78, !79, !80, !81, !82, !83, !84, !85}
!78 = !{!"cbIdx", i32 0}
!79 = !{!"pushableAddressGrfOffset", i32 -1}
!80 = !{!"pushableOffsetGrfOffset", i32 -1}
!81 = !{!"offset", i32 0}
!82 = !{!"size", i32 0}
!83 = !{!"isStateless", i1 false}
!84 = !{!"isBindless", i1 false}
!85 = !{!"simplePushLoads"}
!86 = !{!"simplePushInfoArrVec[1]", !78, !79, !80, !81, !82, !83, !84, !85}
!87 = !{!"simplePushInfoArrVec[2]", !78, !79, !80, !81, !82, !83, !84, !85}
!88 = !{!"simplePushInfoArrVec[3]", !78, !79, !80, !81, !82, !83, !84, !85}
!89 = !{!"simplePushBufferUsed", i32 0}
!90 = !{!"pushAnalysisWIInfos"}
!91 = !{!"inlineRTGlobalPtrOffset", i32 0}
!92 = !{!"rtSyncSurfPtrOffset", i32 0}
!93 = !{!"psInfo", !94, !95, !96, !97, !98, !99, !100, !101, !102, !103, !104, !105, !106, !107, !108}
!94 = !{!"BlendStateDisabledMask", i8 0}
!95 = !{!"SkipSrc0Alpha", i1 false}
!96 = !{!"DualSourceBlendingDisabled", i1 false}
!97 = !{!"ForceEnableSimd32", i1 false}
!98 = !{!"outputDepth", i1 false}
!99 = !{!"outputStencil", i1 false}
!100 = !{!"outputMask", i1 false}
!101 = !{!"blendToFillEnabled", i1 false}
!102 = !{!"forceEarlyZ", i1 false}
!103 = !{!"hasVersionedLoop", i1 false}
!104 = !{!"forceSingleSourceRTWAfterDualSourceRTW", i1 false}
!105 = !{!"NumSamples", i8 0}
!106 = !{!"blendOptimizationMode"}
!107 = !{!"colorOutputMask"}
!108 = !{!"WaDisableVRS", i1 false}
!109 = !{!"csInfo", !110, !111, !112, !113, !114, !11, !12, !115, !116, !117, !118, !119, !120, !121, !122, !40, !123}
!110 = !{!"maxWorkGroupSize", i32 0}
!111 = !{!"waveSize", i32 0}
!112 = !{!"ComputeShaderSecondCompile"}
!113 = !{!"forcedSIMDSize", i8 0}
!114 = !{!"forceTotalGRFNum", i32 0}
!115 = !{!"allowLowerSimd", i1 false}
!116 = !{!"disableSimd32Slicing", i1 false}
!117 = !{!"disableSplitOnSpill", i1 false}
!118 = !{!"forcedVISAPreRAScheduler", i1 false}
!119 = !{!"disableLocalIdOrderOptimizations", i1 false}
!120 = !{!"disableDispatchAlongY", i1 false}
!121 = !{!"neededThreadIdLayout", i1* null}
!122 = !{!"forceTileYWalk", i1 false}
!123 = !{!"ResForHfPacking"}
!124 = !{!"msInfo", !125, !126, !127, !128, !129, !130, !131, !132, !133}
!125 = !{!"PrimitiveTopology", i32 3}
!126 = !{!"MaxNumOfPrimitives", i32 0}
!127 = !{!"MaxNumOfVertices", i32 0}
!128 = !{!"MaxNumOfPerPrimitiveOutputs", i32 0}
!129 = !{!"MaxNumOfPerVertexOutputs", i32 0}
!130 = !{!"WorkGroupSize", i32 0}
!131 = !{!"WorkGroupMemorySizeInBytes", i32 0}
!132 = !{!"IndexFormat", i32 6}
!133 = !{!"SubgroupSize", i32 0}
!134 = !{!"taskInfo", !135, !130, !131, !133}
!135 = !{!"MaxNumOfOutputs", i32 0}
!136 = !{!"NBarrierCnt", i32 0}
!137 = !{!"rtInfo", !138, !139, !140, !141, !142, !143, !144, !145, !146, !147, !148, !149}
!138 = !{!"RayQueryAllocSizeInBytes", i32 0}
!139 = !{!"NumContinuations", i32 0}
!140 = !{!"RTAsyncStackAddrspace", i32 -1}
!141 = !{!"RTAsyncStackSurfaceStateOffset", i1* null}
!142 = !{!"SWHotZoneAddrspace", i32 -1}
!143 = !{!"SWHotZoneSurfaceStateOffset", i1* null}
!144 = !{!"SWStackAddrspace", i32 -1}
!145 = !{!"SWStackSurfaceStateOffset", i1* null}
!146 = !{!"RTSyncStackAddrspace", i32 -1}
!147 = !{!"RTSyncStackSurfaceStateOffset", i1* null}
!148 = !{!"doSyncDispatchRays", i1 false}
!149 = !{!"MemStyle", !"Xe"}
!150 = !{!"CurUniqueIndirectIdx", i32 0}
!151 = !{!"inlineDynTextures"}
!152 = !{!"inlineResInfoData"}
!153 = !{!"immConstant", !154, !155, !156}
!154 = !{!"data"}
!155 = !{!"sizes"}
!156 = !{!"zeroIdxs"}
!157 = !{!"stringConstants"}
!158 = !{!"inlineConstantBuffers"}
!159 = !{!"inlineGlobalBuffers"}
!160 = !{!"GlobalPointerProgramBinaryInfos"}
!161 = !{!"ConstantPointerProgramBinaryInfos"}
!162 = !{!"GlobalBufferAddressRelocInfo"}
!163 = !{!"ConstantBufferAddressRelocInfo"}
!164 = !{!"forceLscCacheList"}
!165 = !{!"SrvMap"}
!166 = !{!"RasterizerOrderedByteAddressBuffer"}
!167 = !{!"MinNOSPushConstantSize", i32 0}
!168 = !{!"inlineProgramScopeOffsets"}
!169 = !{!"shaderData", !170}
!170 = !{!"numReplicas", i32 0}
!171 = !{!"URBInfo", !172, !173, !174}
!172 = !{!"has64BVertexHeaderInput", i1 false}
!173 = !{!"has64BVertexHeaderOutput", i1 false}
!174 = !{!"hasVertexHeader", i1 true}
!175 = !{!"UseBindlessImage", i1 false}
!176 = !{!"enableRangeReduce", i1 false}
!177 = !{!"allowMatchMadOptimizationforVS", i1 false}
!178 = !{!"disableMemOptforNegativeOffsetLoads", i1 false}
!179 = !{!"enableThreeWayLoadSpiltOpt", i1 false}
!180 = !{!"statefulResourcesNotAliased", i1 false}
!181 = !{!"disableMixMode", i1 false}
!182 = !{!"privateMemoryPerWI", i32 0}
!183 = !{!"PrivateMemoryPerFG"}
!184 = !{!"m_OptsToDisable"}
!185 = !{!"capabilities", !186}
!186 = !{!"globalVariableDecorationsINTEL", i1 false}
!187 = !{!"m_ShaderResourceViewMcsMask", !188, !189}
!188 = !{!"m_ShaderResourceViewMcsMaskVec[0]", i64 0}
!189 = !{!"m_ShaderResourceViewMcsMaskVec[1]", i64 0}
!190 = !{!"computedDepthMode", i32 0}
!191 = !{!"isHDCFastClearShader", i1 false}
!192 = !{i32 1, i32 0}
!193 = !{}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spirv_debug_support Triton Issues tracking Triton/IMEX collaboration
Projects
None yet
Development

No branches or pull requests

2 participants