[DIrectX backend] emit metadata for entry.
authorXiang Li <python3kgae@outlook.com>
Mon, 12 Dec 2022 17:51:33 +0000 (12:51 -0500)
committerXiang Li <python3kgae@outlook.com>
Wed, 21 Dec 2022 19:56:27 +0000 (14:56 -0500)
commitb861507912d037801546c50613ed91d36279a469
treeeef53eade4b318299ba5e3ce60607d53661e510d
parent383329b3a8881bda8d5989439d37b75a5f732f5f
[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
14 files changed:
llvm/lib/Target/DirectX/DXILMetadata.cpp
llvm/lib/Target/DirectX/DXILMetadata.h
llvm/lib/Target/DirectX/DXILResource.cpp
llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
llvm/test/CodeGen/DirectX/UAVMetadata.ll
llvm/test/CodeGen/DirectX/empty_cs_entry.ll [new file with mode: 0644]
llvm/test/CodeGen/DirectX/lib_entry.ll [new file with mode: 0644]