llvm-project/llvm/test/CodeGen/DirectX/empty_cs_entry.ll
Xiang Li b861507912 [DIrectX backend] emit metadata for entry.
New named metadata "dx.entryPoints" is added to save all entries.

Each entry is in format of
!{ptr to function, name, signature, resource table, extra}

For compute shader, the extra will save num of threads in format of {i32 x, i32 y, i32 z}

For library profile, an empty entry will be added to save the resource table for the library.

Signature and resource table metadata is not generated yet.

Differential Revision: https://reviews.llvm.org/D131807
2022-12-21 14:56:27 -05:00

18 lines
605 B
LLVM

; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s
target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64"
target triple = "dxil-unknown-shadermodel6.7-compute"
;CHECK:!dx.entryPoints = !{![[entry:[0-9]+]]}
;CHECK:![[entry]] = !{ptr @entry, !"entry", null, null, ![[extra:[0-9]+]]}
;CHECK:![[extra]] = !{i32 4, ![[numthreads:[0-9]+]]}
;CHECK:![[numthreads]] = !{i32 1, i32 2, i32 1}
; Function Attrs: noinline nounwind
define void @entry() #0 {
entry:
ret void
}
attributes #0 = { noinline nounwind "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" }