This issue handles the construction of low level Root Signature data structures from the LLVM IR metadata. This issue will focus on extracting the LLVM IR Root Signature related metadata, the validations will defer to this issue: https://github.com/llvm/llvm-project/issues/118897?issue=llvm%7Cllvm-project%7C121491, AC: - [ ] Define `DXContainerRootSignature` data structures, using [reference implementation](https://github.com/microsoft/DirectXShaderCompiler/blob/a8a4e98a2367080af683c48feedd7f7481a31a96/include/dxc/DxilRootSignature/DxilRootSignature.h#L317) from DXC. - [ ] Define and implement `RootSignatureMDExtractor` during DXContainer code generation. - [ ] Add unit testing of generated data structures. Here is a list of Root elements to add support to: - [ ] RootFlags - https://github.com/llvm/llvm-project/pull/123147 - [ ] RootConstants - #124967 - [ ] RootCBV - [ ] RootSRV - [ ] RootUAV - [ ] DescriptorTable - [ ] StaticSampler