llvm / llvm/llvm-project

[SPIR-V] NonSemantic composite member that is itself a composite can be dropped by emission order

Open
#211,850 2 comments 0 reactions 1 assignee Claimed by @dnovillo View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.