You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This proposal covers:
- all the cases mentioned in:
llvm/llvm-project#107920
- The results of our design discussion
- the global multi-d to 1d array flattening cases mentioned in:
llvm/llvm-project#89646
- intro, background, and motivation for this work.
- Relevant piece is `DXILFlattenArrays.cpp`
- Loads and Store Instruction visits are just for finding
GetElementPtrConstantExpr and splitting them.
- Allocas needed to be replaced with flattened allocas.
- Global arrays were similar to allocas. Only interesting piece here is
around initializers.
- Most of the work went into building correct GEP chains. The approach
here was a recursive strategy via `recursivelyCollectGEPs`.
- All intermediary GEPs get marked for deletion and only the leaf GEPs
get updated with the new index.
fixes [89646](#89646)
Uh oh!
There was an error while loading. Please reload this page.
DXIL requires array to be 1D only in https://github.com/Microsoft/DirectXShaderCompiler/blob/main/docs/DXIL.rst#arrays
Need a pass in DirectX backend to flatten multi-dimensional array into a one-dimensional array.
Not limited to group shared. static global variable or local variable need to be flattened as well.
The groupshared variable ‘a’, static global variable ‘b’, and local variable ‘l’ all need to be flattened into a one-dimensional array.
AC:
The text was updated successfully, but these errors were encountered: