When some resource types were present, but not all of them, we were ending up in a situation where we would fail to initialize the `FirstX` variables and get incorrect iterators. Fixes #128560.
20 lines
613 B
LLVM
20 lines
613 B
LLVM
; Regression test for https://github.com/llvm/llvm-project/issues/128560 -
|
|
; check that cbuffers are populated correctly when there aren't any other kinds
|
|
; of resource.
|
|
|
|
; RUN: opt -S -passes=dxil-translate-metadata %s | FileCheck %s
|
|
|
|
target triple = "dxil-pc-shadermodel6.6-compute"
|
|
|
|
define void @cbuffer_is_only_binding() {
|
|
%cbuf = call target("dx.CBuffer", target("dx.Layout", {float}, 4, 0))
|
|
@llvm.dx.resource.handlefrombinding(i32 1, i32 8, i32 1, i32 0, i1 false)
|
|
; CHECK: %cbuffer = type
|
|
|
|
ret void
|
|
}
|
|
|
|
; CHECK: @[[CB0:.*]] = external constant %cbuffer
|
|
|
|
; CHECK: !{i32 0, ptr @[[CB0]], !""
|