llvm / llvm/llvm-project

[HLSL] Implement `HLSLGloballyCoherentAttr`

Open
#210,427 0 comments 0 reactions 1 assignee Claimed by @inbelic View on GitHub
HLSL
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

Implement the `globallycoherent` qualifier in the Clang front end: parse it, represent it on the resource type in the AST, and add the Sema checks that constrain where it may appear.

_Note_: This does not include the codegen component that is yet to be designed

AC:

- [ ] Add the `HLSLGloballyCoherent` attribute to `Attr.td` with the `globallycoherent` spelling
- [ ] Parse the qualifier and attach it to the resource declaration / type in the AST
- [ ] Sema: Diagnose the qualifier on non-UAV objects ("'globallycoherent' can
only be applied to UAV objects")
- [ ] Sema: Handle add/drop of the qualifier across pointer/reference conversions
- [ ] Add LIT tests of the ast-dump
- [ ] Add Sema tests of diagnostics

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.