[DX] Add analysis and printer for shader flags
authorChris Bieneman <chris.bieneman@me.com>
Tue, 11 Oct 2022 17:09:30 +0000 (12:09 -0500)
committerChris Bieneman <chris.bieneman@me.com>
Tue, 11 Oct 2022 19:27:05 +0000 (14:27 -0500)
commit2b2afb2529a143d91989716212709e63926e9547
tree13513a1173f833cb2c91d590a4cfcd6b17253ecd
parent6084256183d2e5c3524c9d2ca654633eb496b588
[DX] Add analysis and printer for shader flags

This adds infrastructural pieces for an analysis to compute the DXIL
shader flags. In this state the analysis can compute two fairly
straightforward feature flags for use of double-precision floating
point values and the DX 11.1 extended double support.

This patch does conflict with D135190, conflicts will be resolved prior
to merging.

Reviewed By: python3kgae

Differential Revision: https://reviews.llvm.org/D135393

# Conflicts:
# llvm/lib/Target/DirectX/CMakeLists.txt
# llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
llvm/lib/Target/DirectX/CMakeLists.txt
llvm/lib/Target/DirectX/DXILShaderFlags.cpp [new file with mode: 0644]
llvm/lib/Target/DirectX/DXILShaderFlags.h [new file with mode: 0644]
llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll [new file with mode: 0644]
llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll [new file with mode: 0644]
llvm/test/CodeGen/DirectX/ShaderFlags/no_flags.ll [new file with mode: 0644]