Description
Currently DXILResourceAnalysis gathers information about resources and their bindings, but we should split this into an analysis that tells us about resource types and a separate one that depends on the first and maps the bindings. This originated from a comment on a PR that was trying to use this analysis, but also affects a few other places.
The resource type analysis can be immutable/preservedWhenStateless, so we can resolve Farzon's concerns in #116726. The bindings analysis can run later so it isn't so hard to preserve.
Acceptance Criteria / Follow ups
After we've done this, we should be able to follow up in a few areas:
- Rebase [DirectX] Introduce the DXILResourceAccess pass #116726 and adapt to just use resource handle types
- Simplify [DirectX] Add Resource uses to Resource Handle map in DXILResourceMap #112798 - we should need to resource use map at all, but preserving the bindings analysis is still useful.
- Move the complicated parts of Lower llvm.dx.rawBufferLoad to dxil ops #116845 to DXILResourceAccess. We can keep lowering simple here.
We may also be able to implement #114557 using resource handle types, but since the flags analysis is currently happening after op lowering this may be less relevant there.
Metadata
Metadata
Assignees
Type
Projects
Status