llvm-project/llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-Flags_V1.ll
joaosaffran 3a3b21461f
[DirectX] Making sure we always parse, validate and verify Flags (#162171)
This PR makes a few changes to make sure that Root Signature Flags are
always parsed validated and verified, this includes if you use a version
that doesn't support flags. The logic already existed, this PR just
makes sure it is always executed.

Closes: [#161579](https://github.com/llvm/llvm-project/issues/161579)

---------

Co-authored-by: joaosaffran <joao.saffran@microsoft.com>
2025-10-08 16:18:18 -04:00

19 lines
631 B
LLVM

; RUN: not opt -passes='print<dxil-root-signature>' %s -S -o - 2>&1 | FileCheck %s
; On Version 1, the only valid flag is DataVolatile (2).
target triple = "dxil-unknown-shadermodel6.0-compute"
; CHECK: error: Invalid value for RootDescriptorFlag: 4
; CHECK-NOT: Root Signature Definitions
define void @main() #0 {
entry:
ret void
}
attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
!dx.rootsignatures = !{!2} ; list of function/root signature pairs
!2 = !{ ptr @main, !3, i32 1 } ; function, root signature
!3 = !{ !5 } ; list of root signature elements
!5 = !{ !"RootCBV", i32 0, i32 1, i32 2, i32 4 }