
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
18 lines
605 B
LLVM
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" }
|