mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-02 17:46:06 +00:00

LLVMType is both too broad and too narrow for defining DXIL operations, in different ways. It's too broad in the sense that we don't need the full set of MVTs - the set of types DXIL operations work on is much smaller. It's too narrow in the sense that it's difficult to use it for the various fixed structure types in DXIL, like `%dx.types.Handle` or `%dx.Types.ResRet.f32`. Replace the usage of LLVMType in DXIL.td with DXILOpParamType, a simple class that we can define an enum of types from. Further, use this to replace the "ParameterKind" enum in DXILABI.h that has nothing to do with DXIL's ABI. Pull Request: https://github.com/llvm/llvm-project/pull/104247