llvm / llvm/llvm-project

[Scenario] Structured GEP

Open
#206,779 1 comment 0 reactions 1 assignee Claimed by @bogner View on GitHub
HLSL
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

We've added [structured.gep] and [structured.alloca] to LLVM to represent "logical" accesses (ie, accesses into structured that aren't aware of the final in-memory layout). This scenario tracks making sure that these constructs are fully supported through the optimization pipeline and that we're emitting them appropriately from HLSL code.

A lot of the remaining work here simply consists of making the [logical SROA pass] more robust, but we also need to make sure we're updating any other passes that need to be aware of structured gep and alloca (such as mem2reg), and we'll want to see this through to changing the default/removing the driver flag to enable structured gep emission.

[structured.gep]: https://discourse.llvm.org/t/rfc-adding-instructions-to-to-carry-gep-type-traversal-information/88141
[structured.alloca]: https://discourse.llvm.org/t/rfc-adding-logical-structured-alloca/90027
[logical SROA pass]: https://github.com/llvm/llvm-project/pull/192058

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.