[SPIR-V] NonSemantic composite member that is itself a composite can be dropped by emission order
Open
clang:HLSL:SPIRV
SPIR-V
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
In #211638 we handle `DebugTypeComposite` in a single pass. A member whose type is another composite is dropped when that inner composite is emitted after the outer one.
Circular references fall back to `DebugInfoNone` with this approach. We should emit composites in dependency order, or iterate the composite pass to a fixed point (repeat until no new composite id is added), bounded by the number of composites.
Contributor guide
Assessment
This issue has not been assessed yet.